Red Hat Training

A Red Hat training course is available for RHEL 8

34.13. 使用 Ansible 删除信任

按照以下流程,使用 Ansible playbook 删除 IdM 端上的身份管理(IdM)/活动目录(AD)信任。

先决条件

  • 您已作为 IdM 管理员获得了 Kerberos 单。详情请参阅 Web UI 中的登录到 IdM: 使用 Kerberos ticket
  • 您已配置了 Ansible 控制节点以满足以下要求:

    • 您使用 Ansible 版本 2.14 或更高版本。
    • 您已在 Ansible 控制器上安装了 ansible-freeipa 软件包。
    • 示例假定在 ~/MyPlaybooks/ 目录中,您已创建了一个带有 IdM 服务器的完全限定域名(FQDN)的 Ansible 清单文件
    • 示例假定 secret.yml Ansible vault 存储了 ipaadmin_password
  • 目标节点(也就是在其上执行 ansible-freeipa 模块的节点)是 IdM 域的一部分,来作为 IdM 客户端、服务器或副本。

流程

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

    $ cd ~/MyPlaybooks/
  2. 使用以下内容创建 del-trust.yml playbook:

    ---
    - name: Playbook to delete trust
      hosts: ipaserver
    
      vars_files:
      - /home/user_name/MyPlaybooks/secret.yml
      tasks:
        - name: ensure the trust is absent
          ipatrust:
            ipaadmin_password: "{{ ipaadmin_password }}"
            realm: ad.example.com
            state: absent

    在示例中,realm 定义 AD 领域名称字符串。

  3. 保存该文件。
  4. 运行 Ansible playbook。指定 playbook 文件、存储保护 secret.yml 文件的密码,以及清单文件:

    $ ansible-playbook --vault-password-file=password_file -v -i inventory del-trust.yml
注意

删除信任配置不会自动删除 IdM 已为 AD 用户创建的 ID 范围。这样,如果您再次添加信任,则会重新使用现有的 ID 范围。另外,如果 AD 用户已在 IdM 客户端上创建了文件,则会在文件元数据中保留其 POSIX ID。

要删除与 AD 信任相关的所有信息,请在删除信任配置和信任对象后删除 AD 用户 ID 范围:

# ipa idrange-del AD.EXAMPLE.COM_id_range
# systemctl restart sssd

验证步骤

  • 使用 ipa trust-show 命令来确认信任已删除。

    [root@server ~]# ipa trust-show ad.example.com
    ipa: ERROR: ad.example.com: trust not found

其他资源