Red Hat Training

A Red Hat training course is available for RHEL 8

16.5. 使用 Ansible 启用 AD 用户管理 IdM

按照以下流程,使用 Ansible playbook 确保户 ID 覆盖在身份管理(IdM)组中存在。用户 ID 覆盖是您在使用 AD 建立信任视图中创建的 Active Directory (AD)用户覆盖。因此,运行 playbook (如 AD 用户)能够完全管理 IdM,而无需两个不同的帐户和密码。

先决条件

  • 您需要知道 IdM admin 密码。
  • 已使用 AD 安装信任
  • IdM 中已存在 AD 用户的用户 ID 覆盖。如果没有,使用 ipa idoverrideuser-add 'default trust view' ad_user@ad.example.com 命令创建它。
  • 您要将用户 ID 覆盖添加至其中的组在 IdM 中已存在
  • 您可以使用 IdM 的 4.8.7 版本或更高版本。要查看您在服务器上安装的 IdM 版本,请输入 ipa --version
  • 您已配置了 Ansible 控制节点以满足以下要求:

    • 您使用 Ansible 版本 2.14 或更高版本。
    • 您已在 Ansible 控制器上安装了 ansible-freeipa 软件包。
    • 示例假定在 ~/MyPlaybooks/ 目录中,您已创建了一个具有 IdM 服务器的完全限定域名(FQDN)的 Ansible 清单文件
    • 示例假定 secret.yml Ansible 库存储了 ipaadmin_password

流程

  1. 进入您的 ~/MyPlaybooks/ 目录:

    $ cd ~/MyPlaybooks/
  2. 使用以下内容创建 add-useridoverride-to-group.yml playbook:

    ---
    - name: Playbook to ensure presence of users in a group
      hosts: ipaserver
    
    
      - name: Ensure the ad_user@ad.example.com user ID override is a member of the admins group:
        ipagroup:
          ipaadmin_password: "{{ ipaadmin_password }}"
          name: admins
          idoverrideuser:
          - ad_user@ad.example.com

    在示例中:

    • Secret123 是 IdM 管理员密码
    • 管理员 是您要添加 ad_user@ad.example.com ID 覆盖的 IdM POSIX 组的名称。此组成员具有全部的管理员特权。
    • ad_user@ad.example.com 是 AD 管理员的用户 ID 覆盖。用户存储在已建立信任的 AD 域中。
  3. 保存该文件。
  4. 运行 Ansible playbook。指定 playbook 文件、存储密码的文件保护 secret.yml 文件以及清单文件:

    $ ansible-playbook --vault-password-file=password_file -v -i inventory add-useridoverride-to-group.yml

其它资源