Oracle Secure Backup管理员指南 第2章 管理用户和类
作者: 不剪发的Tony老师
毕业于北京航空航天大学,十多年数据库管理与开发经验,目前在一家全球性的金融公司从事数据库架构设计。CSDN学院签约讲师以及GitChat专栏作者。csdn上的博客收藏于以下地址:https://tonydong.blog.csdn.net
2.1 理解用户与类
Oracle安全备份用户是一个管理域范围内的标识,与用户名相关联。类是一个赋予用户的命名权限集合。
2.1.1 Oracle安全备份用户与口令
Oracle安全备份在管理服务器上存储关于用户与权限的信息,允许Oracle安全备份在管理域中维护一份一致的用户标识。
Oracle安全备份管理域中的每个用户拥有存储在管理服务上的一个账户和一个加密的口令。操作系统用户可以在Oracle安全备份Web工具或者obtool中输入他或她的Oracle安全备份用户名和口令。客户端程序通过一个加密的SSL连接将口令发送到管理服务器以进行主机认证。
2.1.1.1 操作系统账户
Oracle安全备份用户的命名空间与已有的UNIX、Linux以及Windows用户的命名空间不同。因此,如果使用操作系统用户johndoe登录主机,并且管理域中的一个Oracle安全备份用户名也为johndoe,那么这些账户将会分别管理,即使名称相同。
创建一个Oracle安全备份用户时,可以将它与Linux、UNIX以及Windows账户进行关联。可以使用这些账户之一执行非root特权的备份操作,即非特权份操作。相反,特权备份与还原操作使用Linux和UNIX的root权限或者Windows的本地系统权限在客户端上运行。
假设创建了Oracle安全备份用户jdoe并将其与UNIX账户x_usr以及Windows账户w_usr关联。当jdoe使用backup --unprivileged命令备份客户端时,该作业使用与jdoe关联的操作系统账户运行。因此,jdoe只能备份UNIX客户端上x_usr可以访问的文件以及Windows客户端上w_usr可以访问的文件。
如果拥有modify administrative domain's configuration权限,可以配置Oracle安全备份用户的预授权属性。可以预先授予操作系统用户执行RMAN备份或者登录Oracle安全备份命令行工具的权限。例如,可以预先授予UNIX用户x_usr作为Oracle安全备份用户jdoe登录obtool的权限。
2.1.1.2 NDMP主机
创建一个Oracle安全备份用户账户时,可以配置用户到NDMP主机的访问。NDMP主机是一种设置,例如本地不运行NDMP的网络数据设备(filer)。NDMP主机的口令与主机而不是用户关联。可以配置主机使用默认的NDMP口令、用户定义的文本口令或者空口令。还可以配置口令认证方法,例如文本或者MD5加密。
2.1.1.3 关于用户配置
在管理服务器上运行installob时,Oracle安全备份默认创建admin用户。除非选择创建用于备份和恢复Oracle数据库的oracle用户,管理域中不存在其他用户。
安装后,可以创建更多的用户或者管理用户的属性。以下是一些尤其重要的用户属性:
预授权 可以预先授予操作系统用户登录Oracle安全备份命令行工具的权限。必须预授权一个操作系统用户通过RMAN执行Oracle数据库SBT备份。一个操作系统用户的预授权与一个特定Oracle安全备份用户关联。例如,允许Linux用户johndoe作为Oracle安全备份用户backup_admin登录obtool。同时还可以预先授予johndoe作为backup_admin运行RMAN的权限。
用于非特权备份的操作系统账户 非特权备份是客户端上非UNIX与Linux的root用户或者Windows的管理员组成员运行的文件系统备份。必须指定非特权备份使用的操作系统账户。
Oracle建议使用以下步骤创建和管理Oracle安全备份用户:
按需添加Oracle安全备份用户。
按需修改admin的口令。
检查每个用户的属性。
按需配置预授权和非特权备份的账户设置。
2.1.2 Oracle安全备份类与权限
类(class)定义了一组授予Oracle安全备份用户的权限。类与Linux或者UNIX组相似,但是它定义了满足Oracle安全备份需要的更细粒度访问权限。
如图2-1所示,可以为多个用户分配一个类,每个用户只能是一个类的成员。
图2-1 类与权限
以下是Oracle安全备份关键的用户类:
admin 该类用于管理域的全面管理。admin类拥有修改管理域配置和执行备份与还原操作所需的全部权限。
operator 该类用于标准的日常操作。operator类缺少配置权限,但是拥有备份和还原操作所需的全部权限。它还允许用户查询与控制主要和辅助存储设备的状态。
oracle 该类与operator类相似。oracle类拥有修改Oracle数据库配置以及执行Oracle数据库备份所需的全部权限。该类的成员通常是映射为安装Oracle数据库的操作系统账户的Oracle安全备份用户。
user 该类的成员能够与管理域进行有限的交互。该类用于需要浏览备份目录中自身数据以及执行基于用户的还原操作的Oracle安全备份用户。
reader 该类只允许用户修改自身账户的姓名和口令,以及浏览自身的备份目录。reader类中的用户必须知道准确的还原路径,因为他们不能查看管理域中的主机列表。创建reader类中的用户时,必须将该用户映射为一个有效的操作系统用户和组。
monitor 该类只允许用户访问Oracle数据库备份、文件系统备份,显示管理域配置、列出所有作业,以及显示设备信息。该类中的用户不能执行备份或者还原操作,修改管理域,或者接收电子邮件通知。在Oracle EM中注册的Oracle安全备份目标的OSB username参数中需要一个monitor类中的用户。
2.2 配置预设值与策略
预设值与策略是控制管理域中的Oracle安全备份操作如何执行的配置设置。预设值与策略按照控制的功能范围被分为多个类别。默认的策略通过能够满足保护数据和网络安全的要求。但是如果有特殊的需求、环境或者备份策略,应该查看默认值并进行必要的修改。
不要混淆了策略类与用户类,前者仅仅是为了组织方便。
可以查看与修改的策略类包括:
备份加密策略。该策略类控制磁带备份的加密。例如,可以指定是否强制加密备份、密钥长度以及密钥管理。
设备策略。该策略类控制在设备搜索时如何自动检测设备。它同时还控制何时产生磁带设备写入警告。
介质策略。该策略类控制管理域范围内的介质管理。例如,可以选择磁带是否需要条形码标签,以及设置默认介质簇中的带卷的保留期和写入窗口。
NDMP策略。这些策略控制使用NDMP访问模式的主机的设值。例如,可以配置备份环境变量或者指定认证用户的名称。
操作策略。该策略类控制备份与还原操作的各个方面。例如,可以设置调度队列中的RMAN备份作业等待资源可用的时间。
调度器策略。该策略类控制调度器的行为。例如,可以指定调度器分派备份作业的频率。
安全策略。该策略类控制管理域的安全。例如,可以使用SSL加密传输中的备份数据,或者设置主机身份认证密钥长度。
Vaulting策略。该策略类控制介质管理,它包括autovolumerelease策略、每个三方存储位置的客户ID、最小可写带卷数以及报告保留时间。参见“第9章 Vaulting”。
带卷复制策略。该策略类控制带卷复制的方式。
2.2.1 查看配置的预设值与策略
在配置页面的高级部分,点击Defaults and Policies链接,如图2-2所示。该页面列出了策略类。
图2-2 预设值与策略页面
2.2.2 设置策略
修改策略设置之前,阅读“Oracle安全备份参考”。该参考包含了关于策略与描述有效设置的详细说明。通常不需要修改默认设置。
执行以下步骤修改策略设置:
在预设值与策略页面的Policy列点击策略名。例如,点击Scheduler。出现policy_name页面,图2-3显示了修改之前的调度器页面。
修改一个或者多个策略的设置。
执行以下操作之一:点击Apply保存修改并留在当前页面;点击OK保存修改并返回预设值与默认页面。
图2-3 未修改的调度器页面
修改策略设置的默认值后,在重置为默认值列中显示策略的默认值。图2-4显示了备份频率从默认的5分钟修改为6分钟后的调度器策略页面。
图2-4 修改后的调度器页面
2.2.3 重置策略
执行以下步骤重置策略的默认值:
在预设值与策略页面的Policy列点击策略名。
选择要重置策略的Reset to Default Value列。
点击Apply或者OK。
2.3 配置用户
Oracle安全备份用户在他们自己的命名空间中进行管理,与操作系统用户的命令空间不同。本节描述如何使用Web工具创建和管理Oracle安全备份用户。
2.3.1 显示用户页面
在配置页面,点击Users链接显示用户页面,如图2-5所示。该页面显示了Oracle安全备份认证的所有用户和他们的类名以及电子邮箱地址。可以从该页面或者该页面上的链接执行所有的用户配置任务。
图2-5 用户页面
2.3.2 添加用户
每个Oracle安全备份用户属于且只属于一个类,该类定义了用户拥有的权限。执行以下操作添加用户:
执行“2.3.1 显示用户页面”中的步骤,显示配置:用户页面。
点击Add,出现配置:用户 > 新建用户页面。
在User项中输入用户名,用户名必须以字母数字开头,只能包含字母、数字、破折号、下划线或者点号,最大长度为31个字符。类名必须唯一,它与计算环境或者管理域中的任何其他名称都无关。实际上,选择一个与操作系统用户名相同的Oracle安全备份用户名有助于管理。
在Password项输入口令,口令用于登录到Oracle安全备份,最大长度为16个字符。
在User class列表中选择一个类。
在Given Name项中输入一个姓名,该步骤可选,姓名仅供参阅。
在UNIX name项输入一个UNIX用户名,该用户名用于该Oracle安全备份用户在UNIX系统上执行非特权作业时的标识。该选项可空。
在UNIX group项中输入一个UNIX组名,该组名用于该Oracle安全备份用户在UNIX系统上执行非特权作业时的标识。该选项可空。
在NDMP server user列表中选择yes,以请求管理域中的NDMP服务器接受该用户使用上面的用户名和口令进行登录。通常的Oracle安全备份操作不需要该选项,因此通常设置为no。
在Email Address项中输入电子邮箱地址,当Oracle安全备份与该用户通信时,例如发送作业汇报或者通知用户存在等待的输入请求,它将发生电子邮件到该地址。
点击Apply、OK或者Cancel。
如果配置的用户需要从Windows客户端请求备份与还原操作,参见“2.3.5 设定Windows账户信息”。
2.3.3 编辑或者显示用户属性
要修改Oracle安全备份用户,必须拥有相应的权限,参见“2.1.2 Oracle安全备份类与权限”。执行以下操作编辑用户属性:
执行“2.3.1 显示用户页面”中的步骤,显示配置:用户页面。
从User Name列表中选择要修改的用户。
点击Edit,出现配置:用户 > user_name页面。
进行一些修改,不能从该页面重命名用户。要重命名用户,参见“2.3.7 重命名用户”。
点击Apply应用修改并保留在配置:用户 > user_name页面。
点击OK应用修改并返回配置:用户页面。
点击Cancel不应用任何修改返回配置:用户页面。
如果配置的用户需要从Windows客户端请求备份与还原操作,参见“2.3.5 设定Windows账户信息”。
2.3.4 修改用户口令
执行以下操作修改用户口令:
执行“2.3.1 显示用户页面”中的步骤,显示配置:用户页面。
从User Name列表中选择要修改的用户。
点击Change Password,出现配置:用户 > user_name页面。
输入口令。
确认口令。
点击OK或者Cancel。
2.3.5 设定Windows账户信息
本节说明如何为Oracle安全备份用户配置WIndows账户信息,该用户需要在Windows系统上提交备份与还原操作。可以将一个Oracle安全备份用户与Windows域的多个用户或者应用于所有Windows域的单个用户进行关联。
执行以下操作为Oracle安全备份用户指定Windows账户信息:
执行“2.3.1 显示用户页面”中的步骤,显示配置:用户页面。
在User Name列表中选择一个用户。
点击Edit,出现配置:用户 > user_name页面。
点击Windows Domains,出现配置:用户 > user_name Windows域页面。
在Domain name项输入一个Windows域名称,输入一个星号(*)将该用户与所有的Windows域进行关联。
在Username和Password项输入一个Windows用户的账户信息。
点击Add添加,页面显示一条成功信息,并且账户信息出现在Domain:Username列表中。
2.3.5.1 删除Windows账户
执行以下操作删除Windows账户:
进入Windows域页面,在Domain:Username列表中选择一个Windows账户。
点击Remove,配置:用户 > user_name Windows域页面显示一条成功删除信息。
2.3.6 设定预授权访问
本节说明如何运行一个指定操作系统用户访问Oracle安全备份服务与数据。可以预先授予通过RMAN访问Oracle数据库SBT备份或者登录用户调用的命令行工具的权限。
Oracle安全备份只预先授予特定主机上的特定操作系统用户访问的权限。对于管理域中的每个主机,可以定义一个或者多个操作系统用户与Oracle安全备份用户之间的一对一映射。
创建预授权需要拥有modify administrative domain's configuration权限。通常只有admin类中的用户拥有该权限。
执行以下步骤指定预授权访问:
执行“2.3.1 显示用户页面”中的步骤,显示配置:用户页面。
在User Name列表中选择一个用户。
点击Edit,出现配置:用户 > user_name页面。
点击Perauthorized Access,出现配置:用户 > user_name 预授权访问页面。
在Hosts列表中,选择all hosts或者主机名。
在OS username项输入操作系统用户账户,输入星号(*)或者空白指定所有的操作系统用户。
在Windows项输入Windows域,Windows域只适用于从一个Windows主机登录的预授权,输入星号(*)或者空白指定所有的域。如果在OS username项输入了一个Windows账户,必须在此处输入星号、空白或者一个指定域。
在Attributes列表中,选择cmdline、rman或者两者,使用shift进行多选。cmdline属性授予登录命令行工具的权限,例如obtool。rman属性授予通过RMAN执行SBT备份的权限。
点击Add,页面显示一条成功信息,并且预授权的Oracle安全备份用户出现在列表中。
2.3.6.1 删除预授权访问
删除预授权需要拥有modify administrative domain's configuration权限。通常只有admin类中的用户拥有该权限。
执行以下操作删除预授权访问:
进入配置:用户 > user_name 预授权访问页面,在主文本窗口中选择要删除的预授权访问条目。
点击Remove,该预授权访问条目不再显示在主文本窗口中。
2.3.7 重命名用户
重命名用户需要拥有modify administrative domain's configuration权限。
执行以下操作重命名用户:
执行“2.3.1 显示用户页面”中的步骤,显示配置:用户页面。
在User Name列表中选择要修改名称的用户。
点击Rename,出现另一个页面。
在Rename user_name to项中输入新的名称并点击Yes,配置:用户页面显示一条成功信息,并且该用户在User Name 列表中拥有一个新的名称。
2.3.8 删除用户
删除用户需要拥有modify administrative domain's configuration权限。
执行以下操作删除用户:
执行“2.3.1 显示用户页面”中的步骤,显示配置:用户页面。
在User Name列表中选择要删除的用户。
点击Remove,出现一个确认页面。
点击Yes删除该用户,自动返回配置:用户页面,显示一条删除成功的信息。
2.4 配置类
类定义了授予用户的一组权限。一个类可以包含多个Oracle安全备份用户,但是每个用户属于并且只属于一个类。大多数情况下,默认的类已经足够。
2.4.1 显示类页面
在配置页面的高级部分,点击Classes链接显示配置:类页面,如图2-6所示。可以使用该页面管理已有的类或者配置更多的类。
图2-6 类页面
2.4.2 添加类
Oracle安全备份在管理域首次初始化时创建默认的类。执行以下操作添加一个类:
执行“2.4.1 显示类页面”中的步骤,显示配置:类页面。
点击Add,出现配置:类 > 新建类页面。该页面列出了类权限选项。
在Class项中输入一个类名称。名称必须以字母数字开头,只能包含字母、数字、破折号、下划线或者点号,最大长度为127个字符。类名必须唯一,它与计算环境或者管理域中的任何其他名称都无关。
选择授予该类的权限。
点击Apply或者OK。配置:类页面显示一条成功信息,并且添加的类出现在列表中。
2.4.3 编辑或者显示类属性
为了修改已有的类,必须拥有modify administrative domain's configuration权限。修改用户所属的类或者类的权限时,更改从用户退出当前使用的Oracle安全备份组件后才生效。执行以下操作编辑类:
执行“2.4.1 显示类页面”中的步骤,显示配置:类页面。
在Class Name列表中选择要编辑的类。
点击Edit,出现配置:类 > class_name页面。
进行一些修改。不能从该页面重命名类。要重命名类,参见“2.4.5 重命名类”。
点击Apply应用修改并保留在配置:类 > class_name页面。
点击OK应用修改并返回配置:类页面。
点击Cancel不应用任何修改返回配置:类页面。
2.4.4 删除类
不能删除用户当前所属的类。相反,必须重新分配或者删除类当前的所有成员才能删除该类。执行以下操作删除类:
执行“2.4.1 显示类页面”中的步骤,显示配置:类页面。
在Class Name列表中选择要删除的类。
点击Remove,显示一个确认页面。
点击Yes,配置:类页面显示一条成功信息,同时该类从类名列表中消失。
2.4.5 重命名类
重命名类必须拥有modify administrative domain's configuration权限。执行以下操作重命名类:
执行“2.4.1 显示类页面”中的步骤,显示配置:类页面。
在Class Name列表中选择要重命名的类。
点击Rename,出现另一个页面。
在Rename class_name to输入新的类名并点击Yes,配置:类页面显示一条成功信息,该类以另一个名称出现在类名列表中。