35.4. 使用 Ansible ,以使 IdM 用户能够通过外部 IdP 进行身份验证
您可以使用 user
ansible-freeipa
模块,以使身份管理(IdM)用户能够通过外部身份提供者(IdP)进行身份验证。为此,将之前创建的外部 IdP 引用与 IdM 用户帐户相关联。完成此流程,以使用 Ansible 将名为 github_idp 的外部 IdP 参考与名为 idm-user-with-external-idp 的 IdM 用户相关联。因此,用户可以使用 my_github_account_name github 身份作为 idm-user-with-external-idp 进行身份验证。
先决条件
- 您的 IdM 客户端和服务器使用 RHEL 9.1 或更高版本。
- 您的 IdM 客户端和服务器使用 SSSD 2.7.0 或更高版本。
- 您已在 IdM 中创建了到外部 IdP 的引用。请参阅 使用 Ansible 创建到外部身份提供者的引用。
您已配置了 Ansible 控制节点以满足以下要求:
- 您使用 Ansible 版本 2.14 或更高版本。
-
您已在 Ansible 控制器上安装了
ansible-freeipa
软件包。 - 您在使用 RHEL 9.4 或更高版本。
- 示例假定在 ~/MyPlaybooks/ 目录中,您已创建了带有 IdM 服务器的完全限定域名(FQDN)的 Ansible 清单文件。
-
示例假定 secret.yml Ansible vault 存储了
ipaadmin_password
。
流程
在 Ansible 控制节点上,创建一个 enable-user-to-authenticate-via-external-idp.yml playbook:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 保存这个文件。
运行 Ansible playbook。指定 playbook 文件、存储保护 secret.yml 文件的密码,以及清单文件:
ansible-playbook --vault-password-file=password_file -v -i inventory enable-user-to-authenticate-via-external-idp.yml
$ ansible-playbook --vault-password-file=password_file -v -i inventory enable-user-to-authenticate-via-external-idp.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
登录到 IdM 客户端,并验证 idm-user-with-external-idp 用户的
ipa user-show
命令的输出是否显示到 IdP 的引用:Copy to Clipboard Copied! Toggle word wrap Toggle overflow