Red Hat Training

A Red Hat training course is available for RHEL 8

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

您可以使用 ansible-freeipa idoverrideusergroup 模块从可信 AD 域中为活动目录(AD)用户创建用户 ID 覆盖,并为该用户授予与 IdM 用户相同的权限。该流程使用 Default Trust View ID 视图的示例,在第一个 playbook 任务中添加 administrator@addomain.com ID 覆盖。在下一个 playbook 任务中 ,administrator@addomain.com ID 覆盖作为成员添加到 IdM admins 组中。因此,AD 管理员可以管理 IdM,而无需两个不同的帐户和密码。

先决条件

  • 您已配置了 Ansible 控制节点以满足以下要求:

    • 您使用 Ansible 版本 2.14 或更高版本。
    • 您已在 Ansible 控制器上安装了 ansible-freeipa 软件包。
    • 您使用 RHEL 8.10 或更高版本。
    • 示例假定在 ~/MyPlaybooks/ 目录中,您已创建了一个具有 IdM 服务器的完全限定域名(FQDN)的 Ansible 清单文件
    • 示例假定 secret.yml Ansible 库存储了 ipaadmin_password
  • AD 林与 IdM 信任。在示例中,AD 域的名称是 addomain.com,AD 管理员的完全限定域名(FQDN)是 administrator@addomain.com
  • 清单文件中的 ipaserver 主机被配置为信任控制器或信任代理。
  • 目标节点(这是执行 ansible-freeipa 模块的节点)是 IdM 域的一部分,作为 IdM 客户端、服务器或副本的一部分。

流程

  1. 在 Ansible 控制节点上,创建一个带有任务的 enable-ad-admin-to-administer-idm.yml playbook,将 administrator@addomain.com 用户覆盖添加到 Default Trust View 中:

    ---
    - name: Enable AD administrator to act as a FreeIPA admin
      hosts: ipaserver
      become: false
      gather_facts: false
    
      tasks:
      - name: Ensure idoverride for administrator@addomain.com in 'default trust view'
        ipaidoverrideuser:
          ipaadmin_password: "{{ ipaadmin_password }}"
          idview: "Default Trust View"
          anchor: administrator@addomain.com
  2. 在同一 playbook 中使用另一个 playbook 任务,将 AD 管理员用户 ID 覆盖添加到 admins 组中:

      - name: Add the AD administrator as a member of admins
        ipagroup:
          ipaadmin_password: "{{ ipaadmin_password }}"
          name: admins
          idoverrideuser:
          - administrator@addomain.com
  3. 保存该文件。
  4. 运行 Ansible playbook。指定 playbook 文件、存储密码的文件保护 secret.yml 文件以及清单文件:

    $ ansible-playbook --vault-password-file=password_file -v -i inventory enable-ad-admin-to-administer-idm.yml

验证

  1. 以 AD Administrator 用户身份登录 IdM 客户端:

    $ ssh administrator@addomain.com@client.idm.example.com
  2. 验证您是否获得了有效的票据授予票(TGT):

    $ klist
    Ticket cache: KCM:325600500:99540
    Default principal: Administrator@ADDOMAIN.COM
    Valid starting Expires Service principal
    02/04/2024 11:54:16 02/04/2024 21:54:16 krbtgt/ADDOMAIN.COM@ADDOMAIN.COM
    renew until 02/05/2024 11:54:16
  3. 在 IdM 中验证您的 admin 权限:

    $ ipa user-add testuser --first=test --last=user
    ------------------------
    Added user "tuser"
    ------------------------
      User login: tuser
      First name: test
      Last name: user
      Full name: test user
    [...]

其它资源