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


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

先决条件

  • 您需要知道 IdM admin 密码。
  • 已使用 AD 安装信任
  • 您要添加用户 ID 覆盖的组已在 IdM 中存在
  • 您可以使用 IdM 或更高版本的 4.8.7 版本。要查看您在服务器上安装的 IdM 版本,请输入 ipa --version
  • 您已配置了 Ansible 控制节点以满足以下要求:

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

流程

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

    $ cd ~/MyPlaybooks/
    Copy to Clipboard Toggle word wrap
  2. 使用任务创建一个 enable-ad-admin-to-administer-idm.yml playbook,将 ad_user@ad.example.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 ad_user@ad.example.com in 'Default Trust View'
        ipaidoverrideuser:
          ipaadmin_password: "{{ ipaadmin_password }}"
          idview: "Default Trust View"
          anchor: ad_user@ad.example.com
    Copy to Clipboard Toggle word wrap

    在示例中:

    • ad_user@ad.example.com 是 AD 用户的用户 ID 覆盖,存储在已建立信任的 AD 域中。
  3. 在同一 playbook 中使用另一个 playbook 任务,将 AD 管理员用户 ID 覆盖添加到 admins 组中:

      - name: Add the AD administrator to `admins` group
        ipagroup:
          ipaadmin_password: "{{ ipaadmin_password }}"
          name: admins
          idoverrideuser:
          - ad_user@ad.example.com
    Copy to Clipboard Toggle word wrap

    在示例中:

    • admins 是您要添加 ad_user@ad.example.com ID 覆盖的 IdM POSIX 组的名称。此组中的成员具有全部的管理员特权。
  4. 保存该文件。
  5. 运行 Ansible playbook。指定 playbook 文件、存储保护 secret.yml 文件的密码,以及清单文件:

    $ ansible-playbook --vault-password-file=password_file -v -i inventory enable-ad-admin-to-administer-idm.yml
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat