注意:

将 LDAP 用户管理与 Oracle Linux Automation Manager 集成

简介

Oracle Linux Automation Manager 允许管理员将 LDAP 与现有内部 RBAC(基于角色的访问控制)源集成以供用户管理。配置后,使用 LDAP 帐户登录的用户将自动生成 Oracle Linux Automation Manager 帐户并分配给标准用户或管理员组织。

目标

在本教程中,您将学习如何:

先决条件

部署 Oracle Linux Automation Manager

注:如果在您自己的租户中运行,请阅读 linux-virt-labs GitHub 项目 README.md ,并在部署实验室环境之前完成先决条件。

  1. 在 Luna 桌面上打开一个终端。

  2. 克隆 linux-virt-labs GitHub 项目。

    git clone https://github.com/oracle-devrel/linux-virt-labs.git
    
  3. 转到工作目录。

    cd linux-virt-labs/olam
    
  4. 安装所需的集合。

    ansible-galaxy collection install -r requirements.yml
    
  5. 更新 Oracle Linux 实例配置。

    cat << EOF | tee instances.yml > /dev/null
    compute_instances:
      1:
        instance_name: "olam-node"
        type: "control"
      2:
        instance_name: "ipa-server"
        type: "server"
    use_freeipa: true
    EOF
    
  6. 部署实验室环境。

    ansible-playbook create_instance.yml -e ansible_python_interpreter="/usr/bin/python3.6" -e "@instances.yml"
    

    免费实验室环境需要额外的变量 ansible_python_interpreter,因为它为 Oracle Cloud Infrastructure SDK for Python 安装了 RPM 程序包。此软件包安装的位置位于 python3.6 模块下。

    默认部署配置使用 AMD CPU 和 Oracle Linux 8。要使用 Intel CPU 或 Oracle Linux 9,请将 -e instance_shape="VM.Standard3.Flex"-e os_version="9" 添加到部署命令。

    重要提示:等待剧本成功运行并进入暂停任务。Oracle Linux Automation Manager 安装在手册的此阶段已完成,并且实例已准备就绪。记下之前的播放,该播放输出所部署节点的公共和专用 IP 地址。

验证 IPA 服务器是否存在

  1. 打开终端并通过 SSH 连接到 ipa-server 实例。

    ssh oracle@<ip_address_of_node>
    
  2. 验证 IPA 服务是否正在运行。

    sudo systemctl status ipa.service
    

    ipa.service 使用 ipactl 命令,该命令可同时启动或停止所有单个组件。

  3. 设置终端本地化设置。

    此设置是 ipactl 命令的要求。

    export LC_ALL="C.UTF-8"
    
  4. 使用 IPA 服务器控制接口检查状态。

    sudo ipactl status
    

    必须运行列出的所有组件,IPA 服务器才能正常工作。

创建绑定账户

绑定帐户是允许对整个 LDAP 结构进行只读访问的系统帐户。使用绑定帐户而不是常规用户帐户可以防止访问任何其他系统,并且它不拥有任何文件。此外,绑定帐户没有特殊权限,无法在 IPA LDAP 服务器中写入任何数据。

  1. 创建更新文件。

    根据 ipa-LDAP-updater 手册页,更新文件介绍了要添加或修改的 LDAP 条目以及要对该条目执行的一组操作。

    tee olam-binddn.update << EOF 
    dn: uid=olam-bind,cn=sysaccounts,cn=etc,dc=lv,dc=vcn,dc=oraclevcn,dc=com
    default:objectclass:account
    default:objectclass:simplesecurityobject
    default:uid:olam-bind
    only:userPassword:olamPassword123
    only:passwordExpirationTime:20380101000000Z
    only:nsIdleTimeout:0
    EOF
    

    为绑定用户帐户选择一个强安全密码和一个合理的 uid 。上面的 userPassworduid 仅用于免费实验环境中的演示。

  2. 将更新文件导入 IPA 服务器。

    sudo ipa-ldap-updater olam-binddn.update
    
  3. 验证新绑定帐户是否存在。

    ldapsearch -D 'cn=Directory Manager' -x uid=olam-bind -W 
    
  4. 出现提示时,输入 Directory Manager 帐户的密码。

    密码在免费实验室环境中为 DMPassword1

    输出示例:

    [oracle@ipa-server ~]$ ldapsearch -D 'cn=Directory Manager' -x uid=olam-bind -W
    Enter LDAP Password: 
    # extended LDIF
    #
    # LDAPv3
    # base <dc=lv,dc=vcn,dc=oraclevcn,dc=com> (default) with scope subtree
    # filter: uid=olam-bind
    # requesting: ALL
    #
       
    # olam-bind, sysaccounts, etc, lv.vcn.oraclevcn.com
    dn: uid=olam-bind,cn=sysaccounts,cn=etc,dc=lv,dc=vcn,dc=oraclevcn,dc=co
     m
    objectClass: account
    objectClass: simplesecurityobject
    objectClass: top
    uid: olam-bind
    userPassword:: e1BCS0RGMl9TSEEyNTZ9QUFBSUFPTjJrZ295RVBRcmFtWkFydE5kRllNOVlkcmp
     UK2pVMkgwTm5qUUpxbHpJTUNxSUJOUXp4Z1F5emVqdk02Nk5jL2ZXMVNvelUyaGUwZDFJenFMN2Fk
     aExTaWFnc1kzVVFTbnBxL3RUdUo3VnBvU05GaXFpQWJTWktrcGZwR0REM0lNdCtKRWt1T2NBRk94d
     mFwS2tTUC9KS1FYUVprcGRjbzF0TlZDNHkzNEE4cFQ2UGtWM0pFcm4zdUNkdkVGZ2ZIM1Y4QWxiaG
     pQcm9HWU50aTdrMXRrM0ZkdFI0VlNGWW96SUcra2tUTkt1OE9tYVl3YXp6ZlV5VHBxeFFEMnBxRy9
     XYmxBdW02OURNcDA2RzVBZUJzRGlYOWpDWkZrenNwbllKQXdiQ015MTFXVXI0TFB5VzByejNac2V0
     SmE0dU9yS2NmOWhCZWpBV3NiRlNhQVR0MTU4V2FtN3Q2S21wNXU5em1yTm9oMVRCeEdqaG5Mb3dJN
     kdjcDF4a2p2VkNsYmhVSkQxZTRqS0lzTFJHc3JOclRKN3R0MitpbXZtSlRtR1FkRllsb1dr
       
    # search result
    search: 2
    result: 0 Success
       
    # numResponses: 2
    # numEntries: 1
    

创建用户

Oracle Linux Automation Manager 在安装期间创建默认 admin 用户。您将创建一个 LDAP 用户,并为其分配相同的特权。

  1. 通过获取 Kerberos 票证手动向 IPA 服务器验证。

    kinit admin
    
  2. 输入 IPA 服务器的预定义 admin 帐户密码。

    密码在免费实验室环境中为 ADMPassword1

  3. 在 IPA 服务器中创建用户。

    ipa user-add olam_admin --first=OLAM --last=Administrator --password
    

    将用户的登录名、名字和姓氏传递到 ipa user-add 命令。将这些详细信息保存到目录时,IPA 会自动将整个用户登录转换为小写,从而无法使用混合大小写用户名。

  4. 在提示输入 olam_admin 帐户时输入并验证您选择的密码。

  5. 通过列出所有 IPA 服务器帐户来验证用户是否存在。

    ipa user-find
    

    结果显示默认 IPA 服务器 admin 帐户和新创建的 olam_admin

创建组

Oracle Linux Automation Manager 有三种用户类型,其中两种转换为需要创建的 LDAP 组。这些组适用于 System AdministratorSystem Auditor 类型。

  1. 创建管理员组。

    ipa group-add olam_administrators
    
  2. 创建审计者组。

    ipa group-add olam_auditors
    
  3. 将新用户添加到管理员组。

    ipa group-add-member olam_administrators --users=olam_admin
    

    这将完成 IPA 服务器上最低要求的步骤。

  4. 关闭与 IPA 服务器的打开会话。

    exit
    

安装 LDAP 客户机工具

默认情况下,Oracle Linux Automation Manager 不安装 OpenLDAP 应用程序和开发工具套件。管理员可以使用这些工具从终端访问和修改 LDAP 目录以帮助测试其配置。

  1. 使用现有终端通过 SSH 连接到 olam-node 实例。

    ssh oracle@<ip_address_of_node>
    
  2. 安装 OpenLDAP Tools 软件包。

    sudo dnf -y install openldap-clients
    
  3. 连接并搜索 LDAP 服务器。

    ldapsearch -D uid=olam_admin,cn=users,cn=accounts,dc=lv,dc=vcn,dc=oraclevcn,dc=com -W -H ldap://ipa-server.lv.vcn.oraclevcn.com:389
    
    • -D:要绑定到 LDAP 目录的标识名 (Distinguished Name,DN)
    • -W:简单验证的提示
    • -H:指定 LDAP 服务器的 URI,该 URI 仅由协议、主机和端口组成
  4. 根据提示输入 olam_admin 用户的密码。

    如果连接成功,输出将返回搜索结果。

  5. 关闭终端会话。

    exit
    

登录到 Oracle Linux Automation Manager WebUI

  1. 使用现有终端配置到 olam-node 实例的 SSH 隧道。

    ssh -o ExitOnForwardFailure=yes -f -L 8444:localhost:443 oracle@<ip_address_of_node> sleep 300
    
    • -o ExitOnForwardFailure=yes:等待所有远程端口转发成功建立
    • -f:在后台运行 SSH 隧道
    • -L:在本地系统上创建端口 8444 上的隧道,在远程系统上创建端口 443
    • sleep 300:将远程隧道保持打开状态 5 分钟,在自动关闭之前等待建立的连接
  2. 打开 Web 浏览器并输入 URL。

    https://localhost:8444
    

    注:根据使用的浏览器批准安全警告。单击 Chrome 浏览器的 Advanced(高级)按钮,然后单击 Proceed to localhost (unsafe) 链接。

  3. 登录到 Oracle Linux Automation Manager WebUI。

    在免费练习环境中使用用户名 admin 和密码 admin

    olam2- 登录

  4. 登录后,将显示 WebUI。

    olam2-webui

打开 LDAP 设置

具有 System Administrator(系统管理员)权限的用户使用 Oracle Linux Automation Manager WebUI 的 Settings(设置)页面添加备用 Authentication(验证)设置,例如 LDAP。

  1. 单击导航菜单底部的设置以显示设置页。

    olam2- 设置页

    使用此页可以访问用于配置对 LDAP 服务器的访问权限的替代验证设置。

  2. 单击 Authentication 部分下的 LDAP 设置链接。

    单击此链接将显示 Default LDAP 服务器配置页。除了默认 LDAP 服务器之外,Oracle Linux Automation Manager 还允许配置五个其他 LDAP 源。

    olam2-ldap-details-page

编辑默认 LDAP 设置

  1. 滚动到默认详细信息页面底部,然后单击编辑按钮。

    olam2-ldap-default-edit

    页面将刷新,现在允许编辑不同的字段。将输入内容粘贴到自由练习环境中的各个字段时,建议使用 Ctrl+V

  2. LDAP 服务器 URI 字段中输入 LDAP 服务器地址。

    ldap://ipa-server.lv.vcn.oraclevcn.com:389
    
  3. LDAP 绑定口令字段中输入绑定用户的口令。

    密码在免费实验室环境中为 olamPassword123

    olamPassword123
    

    保存配置更改后,Oracle Linux Automation Manager 会加密密码字段。您仍可以编辑 LDAP 绑定口令字段,但 WebUI 不再显示输入的初始口令。

  4. 单击并从值 LDAP 组类型下拉列表中选择组类型。

    在免费实验环境中, LDAP Group Type 默认为 MemberDNGroupType ,您将在 LDAP 服务器中使用该类型。

    Oracle Linux Automation Manager 支持的 LDAP 组类型使用 django-auth-LDAP-library

    每个 LDAP 组类型可以采用不同的参数,因此请查看 django_auth_ldap 上游文档中的 init 类以确定预期的参数。

  5. LDAP 绑定 DN 字段中输入 Oracle Linux Automation Manager 用于连接或绑定到 LDAP 服务器的 LDAP 用户的标识名 (Distinguished Name,DN)。

    使用以前创建的 olam-bind 用户帐户。

    uid=olam-bind,cn=sysaccounts,cn=etc,dc=lv,dc=vcn,dc=oraclevcn,dc=com
    
  6. LDAP 用户 DN 模板字段中输入存储用户名称的密钥。

    uid=%(user)s,cn=users,cn=accounts,dc=lv,dc=vcn,dc=oraclevcn,dc=com
    
  7. LDAP Require Group 字段中输入组标识名,以允许该组中的用户访问 Oracle Linux Automation Manager。

    cn=olam_administrators,cn=groups,cn=accounts,dc=lv,dc=vcn,dc=oraclevcn,dc=com
    

    在此阶段,编辑详细信息页面应与免费练习环境中的屏幕截图类似。

    olam2-ldap-detail-edits-one

  8. LDAP 用户搜索字段中输入在验证时搜索用户的位置。

    [
       "cn=users,cn=accounts,dc=lv,dc=1inuxvirt,dc=oraclevcn,dc=com",
       "SCOPE_SUBTREE",
       "(uid=%(user)s)"
    ]
    

    olam2-ldap-user-search

  9. LDAP 组搜索字段中,输入要搜索的组以及搜索方式。

    [
       "cn=groups,cn=accounts,dc=lv,dc=vcn,dc=oraclevcn,dc=com",
       "SCOPE_SUBTREE",
       "(objectClass=groupofNames)"
    ]
    

    olam2-ldap-group-search

  10. LDAP 用户属性映射文本字段中输入用户属性。

    {
       "email": "mail",
       "first_name": "givenName",
       "last_name": "sn"
    }
    

    检索用户时,Oracle Linux Automation Manager 将通过 sn 键中的 last_name 获取用户。

    olam2-ldap-user-attrib-map

  11. LDAP User Flags by Group 字段中输入用户配置文件标志。

    这些配置文件将 LDAP 用户指定为 SuperusersAuditors

    {
       "is_superuser": "cn=olam_administrators,cn=groups,cn=accounts,dc=lv,dc=vcn,dc=oraclevcn,dc=com",
       "is_system_auditor": "cn=olam_auditors,cn=groups,cn=accounts,dc=lv,dc=vcn,dc=oraclevcn,dc=com"
    }
    

    保存配置后,Oracle Linux Automation Manager 会更改此字段的格式,以匹配所示的示例。

    olam2-ldap-user-flags-grp

  12. 完成后单击 Save(保存)

验证验证设置

保存 LDAP 设置后,您应该能够以 LDAP 用户身份登录到 Oracle Linux Automation Manager。

  1. 从 Oracle Linux Automation Manager 注销。

    单击 WebUI 右上角的 admin 用户,然后从值列表中选择 Logout

    olam2- 注销

  2. 使用用户名 olam_admin 登录到 Oracle Linux Automation Manager。

    使用在创建帐户期间分配给用户的密码。

    olam2-login2

  3. 单击导航菜单中的用户菜单项。

    olam2- 用户 - 菜单

  4. 确保用户列表中存在 olam_admin

    olam2- 用户列表

    重要提示:Oracle Linux Automation Manager 不会自动同步用户,而是会在用户初始登录期间创建和添加用户。

(可选)启用 SSL/TLS

IPA 服务器使用 certutil 安装自签名 CA 以生成证书。 selfsign这些证书允许在客户机和服务器之间测试 SSL 和 TLS 通信。生产环境应使用由可信证书颁发机构 (Certificate Authority,CA) 签名的证书。

IPA 服务器的自签名 CA 证书位于 IPA 服务器上的 /etc/ipa/ca.crt 目录中。

  1. 切换到连接到 olam-node 实例的打开终端会话。

  2. 将自签名 CA 从 IPA 服务器复制到 Oracle Linux Automation Manager。

    scp oracle@ipa-server:/etc/ipa/ca.crt ~/
    

    键入 oracle 作为密码,如果终端在自由练习环境中显示密码提示,则键入 ENTER

  3. 将自签名 CA 证书复制到 Oracle Linux Automation Manager 服务器的共享系统证书目录。

    sudo mv ~/ca.crt /etc/pki/ca-trust/source/anchors/ipa.crt
    
  4. 更改证书文件的所有权。

    sudo chown root.root /etc/pki/ca-trust/source/anchors/ipa.crt
    
  5. 更新系统范围的信任库配置。

    sudo update-ca-trust
    
  6. 测试使用 SSL 连接到 LDAP 服务器。

    ldapsearch -D uid=olam_admin,cn=users,cn=accounts,dc=lv,dc=vcn,dc=oraclevcn,dc=com -W -H ldaps://ipa-server.lv.vcn.oraclevcn.com
    
  7. 切换回浏览器,如有必要,以 admin 用户身份登录到 Oracle Linux Automation Manager。

  8. 导航到 Settings(设置)LDAP settings(LDAP 设置)

  9. 向下滚动并单击编辑按钮。

  10. 更新 LDAP 服务器 URILDAP Start TLS

    如果选择更新 LDAP 服务器 URI ,请将协议从 ldap:// 更改为 ldaps://,将端口从 389 更改为 636

    olam2-ldap-ssl-uri

    如果更新 LDAP Start TLS ,则将交换机切换为 On

    olam2-ldap-tls-toggle

    重要提示:带 Oracle Linux Automation Manager 的 LDAPS 仅在启用其中一个选项(而不是同时启用这两个选项)时有效。因此,如果更新 URI,请勿启用切换,反之亦然。

  11. 滚动到页面底部,然后单击 Save(保存)按钮。

  12. 注销 WebUI。

  13. 使用用户名 olam_admin 和您在创建帐户期间分配的密码登录到 Oracle Linux Automation Manager。

    olam2-login2

    登录后,您确认 Oracle Linux Automation Manager 与 LDAP 服务器之间的 SSL/TLS 通信正常工作。如果时间允许,请再次编辑 LDAP 设置并尝试其他选项。

后续步骤

Oracle Linux Automation Manager 现在可以针对外部 LDAP 服务器成功验证其用户,从而集中管理 WebUI 凭证和访问控制。访问 Oracle Linux Training Station,查看我们其他的一些 Oracle Linux Automation Manager 培训。

更多学习资源

浏览 docs.oracle.com/learn 上的其他实验室,或者访问 Oracle Learning YouTube 渠道上的更多免费学习内容。此外,请访问 education.oracle.com/learning-explorer 成为 Oracle Learning Explorer。

有关产品文档,请访问 Oracle 帮助中心