51.4. 使用 Ansible 创建一个具有域解析顺序的 ID 视图
您可以使用 ansible-freeipa
idview
模块在身份管理(IdM)部署中添加、修改和删除 ID 视图。例如,您可以创建一个带有域解析顺序的 ID 视图,来启用短名称表示法。
短名称表示法使用短登录替换活动目录(AD)中的完整用户名,如 aduser05@ad.example.com,在本例中,使用 aduser05 替换。这意味着,当使用 SSH
登录到 IdM 客户端时,aduser05 可以输入 ssh
aduser05@client.idm.example.com ,而不是 ssh
aduser05@ad.example.com@client.idm.example.com。这同样适用于其他命令,如 id
。
完成此流程以使用 Ansible,来:
- 定义一个冒号分开的域的字符串,用于短名称限定。在示例中,字符串是 ad.example.com:idm.example.com。
- 创建一个 ID 视图,其指示 SSSD 首先在字符串中标识的第一个域中搜索用户名。在示例中,这是 ad.example.com。
- 将 ID 视图应用到特定的主机。在示例中,这是 testhost.idm.example.com。
您只能将一个 ID 视图应用到一个 IdM 客户端。应用新的 ID 视图会自动删除以前的 ID 视图(如果适用)。
先决条件
在控制节点上:
- 您使用 Ansible 版本 2.15 或更高版本。
-
您已安装
ansible-freeipa
软件包。 - 您已在 ~/MyPlaybooks/ 目录中创建了一个带有 IdM 服务器的完全限定域名(FQDN)的 Ansible 清单文件。
- 您正在使用 RHEL 9.4 或更高版本。
-
您已将
ipaadmin_password
存储在 secret.yml Ansible vault 中。
- testhost.idm.example.com 是一个 IdM 客户端。
-
目标节点,也就是在其上执行
ansible-freeipa
模块的节点,是 IdM 域的一部分,作为 IdM 客户端、服务器或副本。
流程
进到 ~/MyPlaybooks/ 目录,并使用以下内容创建一个 Ansible playbook 文件 add-id-view-with-domain-resolution-order.yml :
--- - name: Playbook to add idview and apply it to an IdM client hosts: ipaserver vars_files: - /home/<user_name>/MyPlaybooks/secret.yml become: false gather_facts: false tasks: - name: Add idview and apply it to testhost.idm.example.com ipaidview: ipaadmin_password: "{{ ipaadmin_password }}" name: test_idview host: testhost.idm.example.com domain_resolution_order: "ad.example.com:ipa.example.com"
运行 playbook。指定 playbook 文件、存储保护 secret.yml 文件的密码,以及清单文件:
$ ansible-playbook --vault-password-file=password_file -v -i inventory add-id-view-with-domain-resolution-order.yml
验证
- SSH 到 testhost.idm.example.com。
验证您是否只能使用短名称从 ad.example.com 域检索用户的信息。
[root@testhost ~]# id aduser05 uid=1916901102(aduser05) gid=1916900513(domain users) groups=1916900513(domain users)