3.3. 使用 Ansible 恢复 IdM 用户、主机和服务的 SSL 证书

您可以使用 ansible-freeipa ipacert 模块恢复之前撤销的身份管理(IdM)用户、主机或服务用来向 IdM 进行身份验证的 SSL 证书。

注意

您只能恢复被搁置的证书。您可能搁置它,例如,您不确定私钥是否已丢失。但是,现在您已恢复了密钥,并且同时您确定没有人访问它,您希望重新恢复证书。

完成此流程,以使用 Ansible playbook 为注册到 IdM 中的搁置的服务发布证书。这个示例描述了如何为搁置的 HTTP 服务发布证书。

先决条件

  • 在控制节点上:

    • 您使用 Ansible 版本 2.14 或更高版本。
    • 您已安装 ansible-freeipa 软件包。
    • 您已在 ~/MyPlaybooks/ 目录中创建了一个带有 IdM 服务器的完全限定域名(FQDN)的 Ansible 清单文件
    • 您已将 ipaadmin_password 存储在 secret.yml Ansible vault 中。
  • 您的 IdM 部署有一个集成的 CA。
  • 您已获得证书的序列号,例如通过输入 openssl x509 -noout -text -in path/to/certificate 命令获得。在本例中,证书序列号为 123456789

流程

  1. 使用以下内容创建 Ansible playbook 文件 restore-certificate.yml

    ---
    - name: Playbook to restore a certificate
      hosts: ipaserver
      vars_files:
      - /home/user_name/MyPlaybooks/secret.yml
    
      tasks:
      - name: Restore a certificate for a web service
        ipacert:
          ipaadmin_password: "{{ ipaadmin_password }}"
          serial_number: 123456789
          state: released
  2. 运行 playbook:

    $ ansible-playbook --vault-password-file=password_file -v -i <path_to_inventory_directory>/hosts <path_to_playbooks_directory>/restore-certificate.yml