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.
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.
NotaVocê 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
Optional: Criar um arquivo de inventário, por exemplo
inventory.file
:inventário.file $ touch
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
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, comowebserver
. Defina a variável
certificate_requests
para incluir o seguinte:-
Ajuste o parâmetro
name
para o nome desejado do certificado, tal comomycert
. -
Defina o parâmetro
dns
para o domínio a ser incluído no certificado, tal comowww.example.com
. -
Defina o parâmetro
ca
para a CA que você deseja usar para emitir o certificado, tal comoself-sign
. -
Ajuste o parâmetro
run_before
para o comando que você deseja executar antes da emissão ou renovação deste certificado, tal comosystemctl 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 comosystemctl start httpd.service
.
-
Ajuste o parâmetro
Definir o papel do
rhel-system-roles.certificate
emroles
.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
-
Defina
- Salvar o arquivo.
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 sistemacertificate
, 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 manualansible-playbook(1)
.