Red Hat Training

A Red Hat training course is available for RHEL 8

59.3. 使用证书系统角色从 IdM CA 请求一个新证书

使用证书系统角色时,您可以使用 Red Hat Ansible Engine 在使用带有集成证书颁发机构(CA)的 IdM 服务器时发布证书。因此,当使用 IdM 作为 CA 时,您可以高效且一致地管理多个系统的证书信任链。

此过程使用 certmonger 供应商,并通过 getcert 命令请求证书。

注意

默认情况下,certmonger 会在证书过期前自动尝试续订证书。您可以通过将 Ansible playbook 中的 auto_renew 参数设置为 no 来禁用此功能。

先决条件

  • 您已在要运行 playbook 的系统中安装了 Red Hat Ansible Engine。

    注意

    您不必在要部署 证书 解决方案的系统中安装 Ansible。

  • 您已在要运行 playbook 的系统中安装了 rhel-system-roles 软件包。

    有关 RHEL 系统角色以及如何应用它们的详情,请参阅 RHEL 系统角色入门

流程

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

    $ touch inventory.file
  2. 打开清单文件并定义要请求证书的主机,例如:

    [webserver]
    server.idm.example.com
  3. 创建 playbook 文件,如 request-certificate.yml:

    • hosts 设置为包含您要请求证书的主机,如 webserver
    • certificate_requests 变量设置为包含以下项:

      • name 参数设置为证书的所需名称,如 mycert
      • dns 参数设置为证书中包含的域,如 www.example.com
      • principal 参数设置为指定 Kerberos 主体,如 HTTP/www.example.com@EXAMPLE.COM
      • ca 参数设置为 ipa
    • roles 下设置 rhel-system-roles.certificate 角色。

      这是本例的 playbook 文件:

      ---
      - hosts: webserver
        vars:
          certificate_requests:
            - name: mycert
              dns: www.example.com
              principal: HTTP/www.example.com@EXAMPLE.COM
              ca: ipa
      
        roles:
          - rhel-system-roles.certificate
  4. 保存该文件。
  5. 运行 playbook:

    $ ansible-playbook -i inventory.file request-certificate.yml

其它资源

  • 有关 certificate_requests 变量中使用的参数以及证书 系统角色 的额外信息,请参阅 /usr/share/ansible/roles/rhel-system-roles.certificate/README.md 文件。
  • 有关 ansible-playbook 命令的详情,请查看 ansible-playbook(1) man page。