25.9. 使用 Ansible playbook 将外部 CA 部署 IdM 服务器作为 root CA

完成此流程,来使用 Ansible playbook 部署具有外部证书颁发机构(CA)作为根 CA 的 IdM 服务器。

注意

此流程中的清单文件使用 INI 格式。或者,也可以使用 YAMLJSON 格式。

先决条件

  • 您可以通过选择以下流程之一来设置与您的场景相对应的参数:

  • 您已阅读并理解了您可以与 ipaserver 角色一起使用的变量,如 /usr/share/doc/ansible-freeipa/README-server.md 文件中所述。

步骤

  1. 运行ansible-playbook 命令,并带有 playbook 文件名,该文件包含安装的第一步的说明,如 install-server-step1.yml。使用 -i 选项指定清单文件:

    $ ansible-playbook --vault-password-file=password_file -v -i ~/MyPlaybooks/inventory ~/MyPlaybooks/install-server-step1.yml

    使用 -v-vv-vvv 选项来指定详细程度。

    您可以查看在命令行界面(CLI)上的 Ansible playbook 脚本的输出。以下输出显示该脚本运行成功,有 0 个任务失败:

    PLAY RECAP
    server.idm.example.com : ok=18   changed=10   unreachable=0    failed=0    skipped=21   rescued=0    ignored=0
  2. 在控制器上找到 ipa.csr 证书签名请求文件,并提交给外部的 CA。
  3. 将外部 CA 签名的 IdM CA 证书放在控制器文件系统中,以便下一步中的 playbook 可以找到它。
  4. 运行 ansible-playbook 命令,并带有 playbook 文件名,该文件包含安装的最后一步的说明,如 install-server-step2.yml。使用 -i 选项指定清单文件:

    $ ansible-playbook -v -i ~/MyPlaybooks/inventory ~/MyPlaybooks/install-server-step2.yml
  5. 选择以下选项之一:

    • 如果您的 IdM 部署使用外部 DNS:将包含在 /tmp/ipa.system.records.UFRPto.db 文件中的 DNS 资源记录添加到现有的外部 DNS 服务器中。更新 DNS 记录的过程因特定的 DNS 解决方案而异。

      ...
      Restarting the KDC
      Please add records in this file to your DNS system: /tmp/ipa.system.records.UFRBto.db
      Restarting the web server
      ...
    重要

    在将 DNS 记录添加到现有 DNS 服务器之前,服务器安装不会完成。

    • 如果您的 IdM 部署使用集成的 DNS:

      • 将父域中的 DNS 委托程序添加到 IdM DNS 域。例如,如果 IdM DNS 域是 idm.example.com,请在 example.com 父域中添加一个名字服务器(NS)记录。

        重要

        每次安装 IdM DNS 服务器后都会重复这个步骤。

      • 将时间服务器的 _ntp._udp 服务(SRV)记录添加到您的 IdM DNS。IdM DNS 中新安装的 IdM 服务器的时间服务器的 SRV 记录可确保将来的副本和客户端安装会自动配置为与此主 IdM 服务器使用的时间服务器同步。

其他资源

有关如何部署 集成 CA 作为 root CA 的 IdM 服务器的说明,请参阅 使用 Ansible playbook 部署集成 CA 作为 root CA 的 IdM 服务器