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

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

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

先决条件

流程

  1. 创建一个包含以下内容的 playbook 文件,如 ~/playbook.yml

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

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

  2. 验证 playbook 语法:

    $ ansible-playbook --syntax-check ~/playbook.yml

    请注意,这个命令只验证语法,不会防止错误但有效的配置。

  3. 运行 playbook:

    $ ansible-playbook ~/playbook.yml

其它资源

  • /usr/share/ansible/roles/rhel-system-roles.certificate/README.md 文件
  • /usr/share/doc/rhel-system-roles/certificate/ 目录