|
方法文档
如何设置 Enterprise User Security
日期:2005 年 10 月 27 日
简介
Enterprise User Security 通过在 LDAP 目录中集中管理数据库用户帐户简化了用户管理。从用户角度看,管理多个数据库中的密码很容易产生混乱;从管理员角度看,管理多个数据库中的用户授权也是易出错且高成本的管理任务。Oracle 身份管理的核心组件 Oracle Internet Directory 是一个基于标准的可伸缩目录,它可以帮您解决这些麻烦的管理问题。
前提条件:
- 安装 Oracle 应用服务器 10g (10.1.2.),包括身份管理选件
- 安装 Oracle 数据库 10g
任务:
- 指定数据库使用 LDAP 目录
- 向 OID 注册数据库
- 配置企业用户:将所有用户与一个全局数据库模式匹配
- 配置企业用户:将用户与相应的全局数据库角色匹配
将您的意见发送给我们
指定数据库使用 LDAP 目录:
-
在您的数据库服务器上,使用“ netca”启动 Network Configuration Assistant:
单击 Directory Usage Configuration,然后单击“ Next”:
-
从下拉列表中选择 Oracle Internet Directory,然后单击“ Next”:
![]()
-
输入运行 OID 的主机的 完全限定域名 (FQDN),以及 OID 使用的
port 和 SSL-port。单击“ Next”:
![]()
-
从下拉列表中选择 OracleContext。
不要使用根环境(“ cn=OracleContext”),因为它会包含
该目录中存储的所有信息,而不仅是与您的
organization/database/user 组相关的信息。
在本例中,领域(即,organization/database/user 组的容器)由
域限定词“ dc=us,dc=oracle,dc=com”定义,
环境的通称为“ OracleContext”。单击“ Next”:
-
确认并单击“ Next”:
![]()
-
单击“ Finish”:
NetCA 在 $ORACLE_HOME/network/admin 中创建了一个新文件“ ldap.ora”
向 OID 注册数据库:
-
在您的数据库服务器上,使用“ esm”启动 Enterprise Security Manager:
提供用于登录 Oracle Internet Directory 的“ cn=orcladmin”用户认证信息,然后单击“ OK”。
如果没有出现 Enterprise Security Manager,请使用客户端 CD 安装它。
-
接下来,在层次结构中向下导航,查找 OID 中的用户:
“ cn=dbcreator,cn=users,dc=us,dc=oracle,dc=com”是唯一 有权向 OID 注册数据库的用户。
“ cn=orcladmincn=users,dc=us,dc=oracle,dc=com”是唯一有权注销数据库的用户。同时注意用户“Joe”和
“Nina”,稍后我们将使用他们的帐户来测试配置。
OracleDBCreators admin group 默认出现在每个 IdM 领域中。如果没有列出 dbcreator,则前往 http://:7777/oiddas/ui/oideushome/,将 dbcreator 加入 OracleDBCreators 管理员组,以便在 OID 中创建用户。
单击“ File”和“ exit”:
-
在您的数据库服务器上,使用“ dbca”启动 Database Configuration Assistant:
单击“ Next”:
-
选择“ Configure Database Options”,然后单击“ Next”:
![]()
-
选择您要向 LDAP 服务器注册的数据库,然后单击“ Next”:
![]()
-
选择“ Yes, register the database”,并填充必要的域:User DN 是目录中有权注册数据库的用户的“ 识别名称”。
单击“ Next”:
将把以下两个钱夹置于 $ORACLE_BASE/admin/<sid>/wallet/ 中:ewallet.p12 和 cwallet.sso。cwallet.sso 是一个自动打开的
钱夹,Oracle 组件使用它进行相互间的安全通信。
ewallet.p12 是一个加密的钱夹,在使用相同的钱夹口令时,也能用于透明数据加密(链接到 Oracle 示例)。
-
单击“ Next”
![]()
-
单击“ Finish”:
![]()
-
单击“ OK”:
![]()
-
配置过程中:
![]()
-
单击“ No”从 dbca 退出
![]()
配置企业用户:将所有用户与一个全局数据库模式匹配
-
切换到终端窗口,使用“ sqlplus / as sysdba”连接到数据库
创建一个共享模式:
create user global_ident_schema_user identified globally
将连接赋予该模式用户:
grant connect to global_ident_schema_user
该模式已经创建,以后在 OID 中定义的用户可通过它(就像一个角色)来进行连接。
OID 中的用户需要匹配这一模式。
-
在您的数据库服务器上,使用“ esm”启动 Enterprise Security Manager:
提供 Oracle Internet Directory 的登录凭证“ cn=orcladmin”,然后单击“ OK”。
-
向下导览到“ OracleDefaultDomain”:
单击右边窗口上的“ Database Schema Mapping”选项卡。单击“ Add...”
-
导航到目录中的“ Users”子树:
在“ Schema”域中输入 global_ident_schema_users;这将把“ cn=Users,dc=us,dc=oracle,dc=com”
子树下的所有用户匹配到先前在数据库中创建的共享模式。单击“ OK”。
-
关闭 Enterprise Security Manager,然后打开终端窗口:
使用 joe/welcome1 连接到数据库;Joe 是 OID 中定义的一个企业用户; global_ident_schema_user
被视为连接到数据库的 session_user,但 Joe 的身份由 external_name 保存,
external_name 揭示了它保存在 OID 中的身份:对 Nina 执行相同操作。
Joe、Nina 和 cn=Users,dc=us,dc=oracle,dc=com 子树中的所有其他用户都可以连接到您的数据库;
他们的权限受限于赋予 global_ident_schema_user 模式的权限,该模式当前仅能进行
连接。
所有用户具有相同的权限,因为他们使用同一全局模式进行连接。这并不实用,所以我们要做一些改动:
配置企业用户:将用户与相应的全局数据库角色匹配
-
删除并重新创建模式 global_ident_schema_user:
这一次,我们不将“ connect”赋予该模式,而是创建一个可全局识别的角色(“ dbaccess”),并将
“ connect”权限赋予该角色。它将匹配 OID 中的“ Enterprise Role”:
-
从 SQL 提示符退出,然后使用“ esm”启动 Enterprise Security Manager:
提供 Oracle Internet Directory 的登录凭证“ cn=orcladmin”,然后单击“ OK”。
-
导航到“ OracleDefaultDomain”。找到先前向 OID 注册的数据库:在本例中为“ orcl”:
单击 ESM 左上角的“ Operations”,然后从下拉菜单中选择“ Create Enterprise Role”。
-
输入 Enterprise Role 的名称:“ dbaccess_ent_role”:
单击“ OK”。
-
现在,OID 中的企业角色必须与可在您的数据库中全局识别的角色相匹配;导航到您刚刚创建的企业角色,单击右边窗口上的“ Database Global Roles”选项卡。
单击“ Add...”
-
单击包含全局标识角色的数据库的名称:“ orcl”
![]()
-
以“ system”身份输入所需的凭证,登录到您的数据库。
![]()
-
在可用全局角色列表中,选择“ dbaccess”。
单击“ OK”。
-
导航到企业角色,单击右边窗口上的“ Users”选项卡。
单击“ Add...”
-
导航到“ cn=Users”,向下滚动找到“Joe”:
高亮选中“ Joe”,然后单击“ OK”。
-
Joe 现在是 dbaccess_ent_role 中的唯一用户, dbaccess_ent_role 已映射到全局数据库角色 dbaccess(包含 Connect 角色):
先后单击“ File”和“ Exit”。
-
以 Joe 连接以进行验证:
![]()
-
与非 dbaccess_ent_role 成员的 Nina 进行比较:
![]()
如果要继续学习下一章“支持 OID 的 Oracle Label Security”,请单击 此处。
如果要学习如何同步 Oracle Enterprise Users 和 Novell eDirectory,请单击 此处。
|