注意:
- 此教程位于 Oracle 提供的免费实验室环境中。
- 它对 Oracle Cloud Infrastructure 身份证明、租户和区间使用示例值。完成实验室后,请使用特定于云环境的那些值替换这些值。
将 LDAP 用户管理与 Oracle Linux Automation Manager 集成
简介
Oracle Linux Automation Manager 允许管理员将 LDAP 与现有内部 RBAC(基于角色的访问控制)源集成以供用户管理。配置后,使用 LDAP 帐户登录的用户将自动生成 Oracle Linux Automation Manager 帐户并分配给标准用户或管理员组织。
目标
在本教程中,您将学习如何:
- 在 LDAP 中创建和配置帐户和组
- bind 帐户
- user 帐户
- superuser 组
- system_auditor 组
- 将 Oracle Linux Automation Manager 配置为使用 LDAP
- 验证 LDAP 访问权限
- 启用 LDAP
先决条件
- 安装有 Oracle Linux Automation Manager 的系统。
- 可用 LDAP 服务器,例如开源 FreeIPA 身份管理服务器。
部署 Oracle Linux Automation Manager
注:如果在您自己的租户中运行,请阅读 linux-virt-labs
GitHub 项目 README.md ,并在部署实验室环境之前完成先决条件。
-
在 Luna 桌面上打开一个终端。
-
克隆
linux-virt-labs
GitHub 项目。git clone https://github.com/oracle-devrel/linux-virt-labs.git
-
转到工作目录。
cd linux-virt-labs/olam
-
安装所需的集合。
ansible-galaxy collection install -r requirements.yml
-
更新 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
-
部署实验室环境。
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 服务器是否存在
-
打开终端并通过 SSH 连接到 ipa-server 实例。
ssh oracle@<ip_address_of_node>
-
验证 IPA 服务是否正在运行。
sudo systemctl status ipa.service
ipa.service 使用
ipactl
命令,该命令可同时启动或停止所有单个组件。 -
设置终端本地化设置。
此设置是
ipactl
命令的要求。export LC_ALL="C.UTF-8"
-
使用 IPA 服务器控制接口检查状态。
sudo ipactl status
必须运行列出的所有组件,IPA 服务器才能正常工作。
创建绑定账户
绑定帐户是允许对整个 LDAP 结构进行只读访问的系统帐户。使用绑定帐户而不是常规用户帐户可以防止访问任何其他系统,并且它不拥有任何文件。此外,绑定帐户没有特殊权限,无法在 IPA LDAP 服务器中写入任何数据。
-
创建更新文件。
根据 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 。上面的 userPassword 和 uid 仅用于免费实验环境中的演示。
-
将更新文件导入 IPA 服务器。
sudo ipa-ldap-updater olam-binddn.update
-
验证新绑定帐户是否存在。
ldapsearch -D 'cn=Directory Manager' -x uid=olam-bind -W
-
出现提示时,输入 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 用户,并为其分配相同的特权。
-
通过获取 Kerberos 票证手动向 IPA 服务器验证。
kinit admin
-
输入 IPA 服务器的预定义 admin 帐户密码。
密码在免费实验室环境中为
ADMPassword1
。 -
在 IPA 服务器中创建用户。
ipa user-add olam_admin --first=OLAM --last=Administrator --password
将用户的登录名、名字和姓氏传递到
ipa user-add
命令。将这些详细信息保存到目录时,IPA 会自动将整个用户登录转换为小写,从而无法使用混合大小写用户名。 -
在提示输入 olam_admin 帐户时输入并验证您选择的密码。
-
通过列出所有 IPA 服务器帐户来验证用户是否存在。
ipa user-find
结果显示默认 IPA 服务器 admin 帐户和新创建的 olam_admin 。
创建组
Oracle Linux Automation Manager 有三种用户类型,其中两种转换为需要创建的 LDAP 组。这些组适用于 System Administrator 和 System Auditor 类型。
-
创建管理员组。
ipa group-add olam_administrators
-
创建审计者组。
ipa group-add olam_auditors
-
将新用户添加到管理员组。
ipa group-add-member olam_administrators --users=olam_admin
这将完成 IPA 服务器上最低要求的步骤。
-
关闭与 IPA 服务器的打开会话。
exit
安装 LDAP 客户机工具
默认情况下,Oracle Linux Automation Manager 不安装 OpenLDAP 应用程序和开发工具套件。管理员可以使用这些工具从终端访问和修改 LDAP 目录以帮助测试其配置。
-
使用现有终端通过 SSH 连接到 olam-node 实例。
ssh oracle@<ip_address_of_node>
-
安装 OpenLDAP Tools 软件包。
sudo dnf -y install openldap-clients
-
连接并搜索 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 仅由协议、主机和端口组成
-
根据提示输入
olam_admin
用户的密码。如果连接成功,输出将返回搜索结果。
-
关闭终端会话。
exit
登录到 Oracle Linux Automation Manager WebUI
-
使用现有终端配置到 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 上的隧道,在远程系统上创建端口 443sleep 300
:将远程隧道保持打开状态 5 分钟,在自动关闭之前等待建立的连接
-
打开 Web 浏览器并输入 URL。
https://localhost:8444
注:根据使用的浏览器批准安全警告。单击 Chrome 浏览器的 Advanced(高级)按钮,然后单击 Proceed to localhost (unsafe) 链接。
-
登录到 Oracle Linux Automation Manager WebUI。
在免费练习环境中使用用户名
admin
和密码admin
。 -
登录后,将显示 WebUI。
打开 LDAP 设置
具有 System Administrator(系统管理员)权限的用户使用 Oracle Linux Automation Manager WebUI 的 Settings(设置)页面添加备用 Authentication(验证)设置,例如 LDAP。
-
单击导航菜单底部的设置以显示设置页。
使用此页可以访问用于配置对 LDAP 服务器的访问权限的替代验证设置。
-
单击 Authentication 部分下的 LDAP 设置链接。
单击此链接将显示 Default LDAP 服务器配置页。除了默认 LDAP 服务器之外,Oracle Linux Automation Manager 还允许配置五个其他 LDAP 源。
编辑默认 LDAP 设置
-
滚动到默认详细信息页面底部,然后单击编辑按钮。
页面将刷新,现在允许编辑不同的字段。将输入内容粘贴到自由练习环境中的各个字段时,建议使用
Ctrl+V
。 -
在 LDAP 服务器 URI 字段中输入 LDAP 服务器地址。
ldap://ipa-server.lv.vcn.oraclevcn.com:389
-
在 LDAP 绑定口令字段中输入绑定用户的口令。
密码在免费实验室环境中为
olamPassword123
。olamPassword123
保存配置更改后,Oracle Linux Automation Manager 会加密密码字段。您仍可以编辑 LDAP 绑定口令字段,但 WebUI 不再显示输入的初始口令。
-
单击并从值 LDAP 组类型下拉列表中选择组类型。
在免费实验环境中, LDAP Group Type 默认为 MemberDNGroupType ,您将在 LDAP 服务器中使用该类型。
Oracle Linux Automation Manager 支持的 LDAP 组类型使用 django-auth-LDAP-library 。
每个 LDAP 组类型可以采用不同的参数,因此请查看 django_auth_ldap 上游文档中的
init
类以确定预期的参数。 -
在 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
-
在 LDAP 用户 DN 模板字段中输入存储用户名称的密钥。
uid=%(user)s,cn=users,cn=accounts,dc=lv,dc=vcn,dc=oraclevcn,dc=com
-
在 LDAP Require Group 字段中输入组标识名,以允许该组中的用户访问 Oracle Linux Automation Manager。
cn=olam_administrators,cn=groups,cn=accounts,dc=lv,dc=vcn,dc=oraclevcn,dc=com
在此阶段,编辑详细信息页面应与免费练习环境中的屏幕截图类似。
-
在 LDAP 用户搜索字段中输入在验证时搜索用户的位置。
[ "cn=users,cn=accounts,dc=lv,dc=1inuxvirt,dc=oraclevcn,dc=com", "SCOPE_SUBTREE", "(uid=%(user)s)" ]
-
在 LDAP 组搜索字段中,输入要搜索的组以及搜索方式。
[ "cn=groups,cn=accounts,dc=lv,dc=vcn,dc=oraclevcn,dc=com", "SCOPE_SUBTREE", "(objectClass=groupofNames)" ]
-
在 LDAP 用户属性映射文本字段中输入用户属性。
{ "email": "mail", "first_name": "givenName", "last_name": "sn" }
检索用户时,Oracle Linux Automation Manager 将通过 sn 键中的 last_name 获取用户。
-
在 LDAP User Flags by Group 字段中输入用户配置文件标志。
这些配置文件将 LDAP 用户指定为 Superusers 和 Auditors 。
{ "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 会更改此字段的格式,以匹配所示的示例。
-
完成后单击 Save(保存)。
验证验证设置
保存 LDAP 设置后,您应该能够以 LDAP 用户身份登录到 Oracle Linux Automation Manager。
-
从 Oracle Linux Automation Manager 注销。
单击 WebUI 右上角的 admin 用户,然后从值列表中选择 Logout 。
-
使用用户名
olam_admin
登录到 Oracle Linux Automation Manager。使用在创建帐户期间分配给用户的密码。
-
单击导航菜单中的用户菜单项。
-
确保用户列表中存在
olam_admin
。重要提示:Oracle Linux Automation Manager 不会自动同步用户,而是会在用户初始登录期间创建和添加用户。
(可选)启用 SSL/TLS
IPA 服务器使用 certutil
安装自签名 CA 以生成证书。 selfsign这些证书允许在客户机和服务器之间测试 SSL 和 TLS 通信。生产环境应使用由可信证书颁发机构 (Certificate Authority,CA) 签名的证书。
IPA 服务器的自签名 CA 证书位于 IPA 服务器上的 /etc/ipa/ca.crt 目录中。
-
切换到连接到 olam-node 实例的打开终端会话。
-
将自签名 CA 从 IPA 服务器复制到 Oracle Linux Automation Manager。
scp oracle@ipa-server:/etc/ipa/ca.crt ~/
键入
oracle
作为密码,如果终端在自由练习环境中显示密码提示,则键入ENTER
。 -
将自签名 CA 证书复制到 Oracle Linux Automation Manager 服务器的共享系统证书目录。
sudo mv ~/ca.crt /etc/pki/ca-trust/source/anchors/ipa.crt
-
更改证书文件的所有权。
sudo chown root.root /etc/pki/ca-trust/source/anchors/ipa.crt
-
更新系统范围的信任库配置。
sudo update-ca-trust
-
测试使用 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
-
切换回浏览器,如有必要,以
admin
用户身份登录到 Oracle Linux Automation Manager。 -
导航到 Settings(设置)和 LDAP settings(LDAP 设置)。
-
向下滚动并单击编辑按钮。
-
更新 LDAP 服务器 URI 或 LDAP Start TLS 。
如果选择更新 LDAP 服务器 URI ,请将协议从
ldap://
更改为ldaps://
,将端口从389
更改为636
。如果更新 LDAP Start TLS ,则将交换机切换为 On 。
重要提示:带 Oracle Linux Automation Manager 的 LDAPS 仅在启用其中一个选项(而不是同时启用这两个选项)时有效。因此,如果更新 URI,请勿启用切换,反之亦然。
-
滚动到页面底部,然后单击 Save(保存)按钮。
-
注销 WebUI。
-
使用用户名
olam_admin
和您在创建帐户期间分配的密码登录到 Oracle Linux Automation Manager。登录后,您确认 Oracle Linux Automation Manager 与 LDAP 服务器之间的 SSL/TLS 通信正常工作。如果时间允许,请再次编辑 LDAP 设置并尝试其他选项。
后续步骤
Oracle Linux Automation Manager 现在可以针对外部 LDAP 服务器成功验证其用户,从而集中管理 WebUI 凭证和访问控制。访问 Oracle Linux Training Station,查看我们其他的一些 Oracle Linux Automation Manager 培训。
相关链接
- Oracle Linux Automation Manager 安装指南
- 在 Oracle Linux 上安装 FreeIPA 服务器
- Oracle Linux Automation Manager 文档
- Oracle Linux Automation Manager 培训
- Oracle Linux 培训站
更多学习资源
浏览 docs.oracle.com/learn 上的其他实验室,或者访问 Oracle Learning YouTube 渠道上的更多免费学习内容。此外,请访问 education.oracle.com/learning-explorer 成为 Oracle Learning Explorer。
有关产品文档,请访问 Oracle 帮助中心。
Integrate LDAP User Management with Oracle Linux Automation Manager
F75251-02
Copyright ©2022, Oracle and/or its affiliates.