方法文档

如何设置 Enterprise User Security

日期:2005 年 10 月 27 日

简介

Enterprise User Security 通过在 LDAP 目录中集中管理数据库用户帐户简化了用户管理。从用户角度看,管理多个数据库中的密码很容易产生混乱;从管理员角度看,管理多个数据库中的用户授权也是易出错且高成本的管理任务。Oracle 身份管理的核心组件 Oracle Internet Directory 是一个基于标准的可伸缩目录,它可以帮您解决这些麻烦的管理问题。

前提条件:

 

  1. 安装 Oracle 应用服务器 10g (10.1.2.),包括身份管理选件
  2. 安装 Oracle 数据库 10g


任务:

 

  1. 指定数据库使用 LDAP 目录
  2. 向 OID 注册数据库
  3. 配置企业用户:将所有用户与一个全局数据库模式匹配
  4. 配置企业用户:将用户与相应的全局数据库角色匹配


将您的意见发送给我们

指定数据库使用 LDAP 目录:

 

  1. 在您的数据库服务器上,使用“ netca”启动 Network Configuration Assistant:

    单击 Directory Usage Configuration,然后单击“ Next”:

  2. 从下拉列表中选择 Oracle Internet Directory,然后单击“ Next”:

  3. 输入运行 OID 的主机的 完全限定域名 (FQDN),以及 OID 使用的
    portSSL-port。单击“ Next”:

  4. 从下拉列表中选择 OracleContext

    要使用根环境(“ cn=OracleContext”),因为它会包含
    该目录中存储的所有信息,而不仅是与您的
    organization/database/user 组相关的信息。
    在本例中,领域(即,organization/database/user 组的容器)由
    域限定词“ dc=us,dc=oracle,dc=com”定义,
    环境的通称为“ OracleContext”。单击“ Next”:

  5. 确认并单击“ Next”:

  6. 单击“ Finish”:



    NetCA 在 $ORACLE_HOME/network/admin 中创建了一个新文件“ ldap.ora



向 OID 注册数据库:

 

  1. 在您的数据库服务器上,使用“ esm”启动 Enterprise Security Manager:

    提供用于登录 Oracle Internet Directory 的“ cn=orcladmin”用户认证信息,然后单击“ OK”。
    如果没有出现 Enterprise Security Manager,请使用客户端 CD 安装它。

  2. 接下来,在层次结构中向下导航,查找 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”:

  3. 在您的数据库服务器上,使用“ dbca”启动 Database Configuration Assistant:

    单击“ Next”:

  4. 选择“ Configure Database Options”,然后单击“ Next”:

  5. 选择您要向 LDAP 服务器注册的数据库,然后单击“ Next”:

  6. 选择“ Yes, register the database”,并填充必要的域:User DN 是目录中有权注册数据库的用户的“ 识别名称”。
    单击“ Next”:

    将把以下两个钱夹置于 $ORACLE_BASE/admin/<sid>/wallet/ 中:ewallet.p12 和 cwallet.sso。cwallet.sso 是一个自动打开的
    钱夹,Oracle 组件使用它进行相互间的安全通信。
    ewallet.p12 是一个加密的钱夹,在使用相同的钱夹口令时,也能用于透明数据加密(链接到 Oracle 示例)。

  7. 单击“ Next

  8. 单击“ Finish”:

  9. 单击“ OK”:

  10. 配置过程中:

  11. 单击“ No”从 dbca 退出



配置企业用户:将所有用户与一个全局数据库模式匹配

 

  1. 切换到终端窗口,使用“ sqlplus / as sysdba”连接到数据库

    创建一个共享模式:
    create user global_ident_schema_user identified globally
    将连接赋予该模式用户:
    grant connect to global_ident_schema_user
    该模式已经创建,以后在 OID 中定义的用户可通过它(就像一个角色)来进行连接。
    OID 中的用户需要匹配这一模式。

  2. 在您的数据库服务器上,使用“ esm”启动 Enterprise Security Manager:

    提供 Oracle Internet Directory 的登录凭证“ cn=orcladmin”,然后单击“ OK”。

  3. 向下导览到“ OracleDefaultDomain”:

    单击右边窗口上的“ Database Schema Mapping”选项卡。单击“ Add...

  4. 导航到目录中的“ Users”子树:

    在“ Schema”域中输入 global_ident_schema_users;这将把“ cn=Users,dc=us,dc=oracle,dc=com
    子树下的所有用户匹配到先前在数据库中创建的共享模式。单击“ OK”。

  5. 关闭 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 模式的权限,该模式当前仅能进行
    连接
    所有用户具有相同的权限,因为他们使用同一全局模式进行连接。这并不实用,所以我们要做一些改动:



配置企业用户:将用户与相应的全局数据库角色匹配

 

  1. 删除并重新创建模式 global_ident_schema_user

    这一次,我们不将“ connect”赋予该模式,而是创建一个可全局识别的角色(“ dbaccess”),并将
    connect”权限赋予该角色。它将匹配 OID 中的“ Enterprise Role”:

  2. 从 SQL 提示符退出,然后使用“ esm”启动 Enterprise Security Manager:

    提供 Oracle Internet Directory 的登录凭证“ cn=orcladmin”,然后单击“ OK”。

  3. 导航到“ OracleDefaultDomain”。找到先前向 OID 注册的数据库:在本例中为“ orcl”:

    单击 ESM 左上角的“ Operations”,然后从下拉菜单中选择“ Create Enterprise Role”。

  4. 输入 Enterprise Role 的名称:“ dbaccess_ent_role”:

    单击“ OK”。

  5. 现在,OID 中的企业角色必须与可在您的数据库中全局识别的角色相匹配;导航到您刚刚创建的企业角色,单击右边窗口上的“ Database Global Roles”选项卡。

    单击“ Add...

  6. 单击包含全局标识角色的数据库的名称:“ orcl

  7. 以“ system”身份输入所需的凭证,登录到您的数据库。

  8. 在可用全局角色列表中,选择“ dbaccess”。

    单击“ OK”。

  9. 导航到企业角色,单击右边窗口上的“ Users”选项卡。

    单击“ Add...

  10. 导航到“ cn=Users”,向下滚动找到“Joe”:

    高亮选中“ Joe”,然后单击“ OK”。

  11. Joe 现在是 dbaccess_ent_role 中的唯一用户, dbaccess_ent_role 已映射到全局数据库角色 dbaccess(包含 Connect 角色):

    先后单击“ File”和“ Exit”。

  12. 以 Joe 连接以进行验证:

  13. 与非 dbaccess_ent_role 成员的 Nina 进行比较:

如果要继续学习下一章“支持 OID 的 Oracle Label Security”,请单击 此处

如果要学习如何同步 Oracle Enterprise Users 和 Novell eDirectory,请单击 此处

false ,,,,,,,,,,,,,,,,