38.6. 使用 Ansible 添加新的本地 IdM ID 范围
在某些情况下,您可能需要创建新的 Identity Management (IdM) ID 范围以及原始的 ID 范围;例如,当副本退出 ID 且原始 IdM ID 范围相同时,原始 IdM ID 范围会被处理。以下示例演示了如何使用 Ansible playbook 创建新 IdM ID 范围。
添加新 IdM ID 范围不会自动创建新的 DNA ID 范围。您需要根据需要手动分配新的 DNA ID 范围。有关如何进行此操作的更多信息,请参阅 手动分配 DNA ID 范围。
先决条件
-
您需要知道 IdM
admin密码。 您已配置了 Ansible 控制节点以满足以下要求:
- 您使用 Ansible 版本 2.14 或更高版本。
-
您已在 Ansible 控制器上安装了
ansible-freeipa软件包。 - 示例假定在 ~/MyPlaybooks/ 目录中,您已创建了一个带有 IdM 服务器的完全限定域名(FQDN)的 Ansible 清单文件。
-
示例假定 secret.yml Ansible vault 存储了
ipaadmin_password。
-
目标节点(这是执行
ansible-freeipa模块的节点)是 IdM 域的一部分,作为 IdM 客户端、服务器或副本的一部分。
步骤
进入您的 ~/MyPlaybooks/ 目录:
cd ~/MyPlaybooks/
$ cd ~/MyPlaybooks/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用以下内容创建
idrange-present.ymlplaybook:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 保存该文件。
运行 Ansible playbook。指定 playbook 文件、存储保护 secret.yml 文件的密码,以及清单文件:
ansible-playbook --vault-password-file=password_file -v -i inventory idrange-present.yml
$ ansible-playbook --vault-password-file=password_file -v -i inventory idrange-present.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow SSH到ipaserver,并重启 Directory 服务器:systemctl restart dirsrv@IDM.EXAMPLE.COM.service
# systemctl restart dirsrv@IDM.EXAMPLE.COM.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 这确保当您使用新范围中的 UID 创建用户时,它们分配了安全标识符(SID)。
可选:立即更新 ID 范围:
在
ipaserver上,清除系统安全服务守护进程(SSSD)缓存:sss_cache -E
# sss_cache -ECopy to Clipboard Copied! Toggle word wrap Toggle overflow 在
ipaserver上,重启 SSSD 守护进程:systemctl restart sssd
# systemctl restart sssdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
注意如果您没有清除 SSSD 缓存并重新启动服务,SSSD 仅在更新域列表和其他存储在 IdM 服务器上的其他配置数据时检测到新的 ID 范围。
验证步骤
-
您可以使用
ipa idrange-find命令检查新范围是否设置正确: