Red Hat Training

A Red Hat training course is available for RHEL 8

49.4. Especificação de comandos para executar antes ou depois da emissão do certificado usando a função do Sistema de Certificado

Com a função de Sistema de Certificado, você pode usar o Red Hat Ansible Engine para executar um comando antes e depois que um certificado seja emitido ou renovado.

No exemplo a seguir, o administrador garante a interrupção do serviço httpd antes que um certificado autoassinado para www.example.com seja emitido ou renovado, e o reinício do serviço posteriormente.

Nota

Por padrão, certmonger tenta automaticamente renovar o certificado antes que ele expire. Você pode desabilitar isto definindo o parâmetro auto_renew no livro de jogo Ansible playbook para no.

Pré-requisitos

  • Você tem o Red Hat Ansible Engine instalado no sistema a partir do qual você deseja executar o playbook.

    Nota

    Você não precisa ter o Ansible instalado nos sistemas nos quais você deseja implantar a solução certificate.

  • Você tem o pacote rhel-system-roles instalado no sistema a partir do qual você deseja executar o playbook.

    Para detalhes sobre as funções do Sistema RHEL e como aplicá-las, consulte Introdução às funções do Sistema RHEL.

Procedimento

  1. Optional: Criar um arquivo de inventário, por exemplo inventory.file:

    inventário.file $ touch
  2. Abra seu arquivo de inventário e defina os anfitriões sobre os quais você deseja solicitar o certificado, por exemplo:

    [webserver]
    server.idm.example.com
  3. Criar um arquivo de playbook, por exemplo request-certificate.yml:

    • Defina hosts para incluir os anfitriões sobre os quais você deseja solicitar o certificado, como webserver.
    • Defina a variável certificate_requests para incluir o seguinte:

      • Ajuste o parâmetro name para o nome desejado do certificado, tal como mycert.
      • Defina o parâmetro dns para o domínio a ser incluído no certificado, tal como www.example.com.
      • Defina o parâmetro ca para a CA que você deseja usar para emitir o certificado, tal como self-sign.
      • Ajuste o parâmetro run_before para o comando que você deseja executar antes da emissão ou renovação deste certificado, tal como systemctl stop httpd.service.
      • Ajuste o parâmetro run_after para o comando que você deseja executar após a emissão ou renovação deste certificado, tal como systemctl start httpd.service.
    • Definir o papel do rhel-system-roles.certificate em roles.

      Este é o arquivo do playbook para este exemplo:

      ---
      - hosts: webserver
        vars:
          certificate_requests:
            - name: mycert
              dns: www.example.com
              ca: self-sign
              run_before: systemctl stop httpd.service
              run_after: systemctl start httpd.service
      
        roles:
          - linux-system-roles.certificate
  4. Salvar o arquivo.
  5. Execute o livro de brincadeiras:

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

Recursos adicionais

  • Para detalhes sobre os parâmetros usados na variável certificate_requests e informações adicionais sobre a função do sistema certificate, consulte o arquivo /usr/share/ansible/roles/rhel-system-roles.certificate/README.md.
  • Para obter detalhes sobre o comando ansible-playbook, consulte a página de manual ansible-playbook(1).