16.3. 使用 certificate 系统角色从 IdM CA 请求一个新证书
通过 certificate
系统角色,您可以在使用集成了证书颁发机构 (CA) 的一个 IdM 服务器时,使用 anible-core
来签发证书。因此,当使用 IdM 作为 CA 时,您可以高效且一致地为多个系统管理证书信任链。
此过程使用 certmonger
提供者,并通过 getcert
命令请求证书。
注意
默认情况下,certmonger
会在证书过期前自动尝试续订证书。您可以通过将 Ansible playbook 中的 auto_renew
参数设为 no
来禁用此功能。
先决条件
- Ansible Core 软件包安装在控制机器上。
-
您已在要运行 playbook 的系统上安装了
rhel-system-roles
软件包。
流程
可选:创建一个清单文件,如
inventory.file
:$ *touch inventory.file*
打开清单文件并定义要请求证书的主机,例如:
[webserver] server.idm.example.com
创建 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
-
将
- 保存该文件。
运行 playbook:
$ *ansible-playbook -i inventory.file request-certificate.yml*
其他资源
-
请参阅
/usr/share/ansible/roles/rhel-system-roles.certificate/README.md
文件。 -
请参阅
ansible-playbook(1)
手册页。