Red Hat Training

A Red Hat training course is available for RHEL 8

67.8. 使用 Ansible playbook 确保 IdM 中缺少 HTTP 服务

本节论述了如何从 IdM 取消滚动服务。更具体地说,它描述了如何使用 Ansible playbook 来确保 IdM 中缺少名为 HTTP/client.idm.example.com 的 HTTP 服务器。

先决条件

  • 您有 IdM 管理员密码。

流程

  1. 创建一个清单文件,如 inventory.file

    $ touch inventory.file
  2. 打开 inventory.file,并在 [ipaserver] 部分中定义您要配置的 IdM 服务器。例如,要指示 Ansible 配置 server.idm.example.com,请输入:

    [ipaserver]
    server.idm.example.com
  3. 生成 /usr/share/doc/ansible-freeipa/playbooks/service/service-is-absent.yml Ansible playbook 文件的副本。例如:

    $ cp /usr/share/doc/ansible-freeipa/playbooks/service/service-is-absent.yml /usr/share/doc/ansible-freeipa/playbooks/service/service-is-absent-copy.yml
  4. 打开 /usr/share/doc/ansible-freeipa/playbooks/service/service-is-absent-copy.yml Ansible playbook 文件进行编辑。
  5. 通过更改以下内容来调整文件:

    • ipaadmin_password 变量定义的 IdM 管理员密码。
    • HTTP 服务的 Kerberos 主体,由 ipaservice 任务 的名称 变量定义。

      在适应当前示例后,复制的文件类似如下:

    ---
    - name: Playbook to manage IPA service.
      hosts: ipaserver
      become: true
      gather_facts: false
    
      tasks:
      # Ensure service is absent
      - ipaservice:
          ipaadmin_password: Secret123
          name: HTTP/client.idm.example.com
          state: absent
  6. 保存并退出文件。
  7. 运行指定 playbook 文件和清单文件的 Ansible playbook:

    $ ansible-playbook -v -i path_to_inventory_directory/inventory.file /usr/share/doc/ansible-freeipa/playbooks/service/service-is-absent-copy.yml

验证步骤

  1. 以 IdM 管理员身份登录 IdM Web UI。
  2. 导航到 IdentityServices

如果您无法在 Services 列表中看到 HTTP/client.idm.example.com@IDM.EXAMPLE.COM 服务,则已成功确保了在 IdM 中缺少 HTTP/client.idm.example.com@IDM.EXAMPLE.COM 服务。

其它资源

  • 您可以查看 Ansible playbook 示例,以确保 IdM 中是否存在服务,包括在 /usr/share/doc/ansible -freeipa/ 目录中可用的README- service.md Markdown 文件中可能的变量列表。
  • 您可以查看 Ansible playbook 示例,以确保 /usr/share/doc/ansible-freeipa/playbooks/config 目录中的 IdM 中存在和不存在服务。