Envie um certificado digital
Envie um certificado de servidor, ou crie uma CSR para a sua autoridade certificadora assinar, e vincule o certificado a um workload.
Você pode adicionar um certificado que uma autoridade certificadora (CA) emitiu para o seu domínio ao Certificate Manager e vinculá-lo a um workload, pelo Azion Console, pela Azion CLI ou pela API. Para um certificado que a Azion solicita ao Let’s Encrypt e renova, consulte Solicite um certificado Let’s Encrypt. Para o certificado de CA confiável que verifica certificados de cliente, consulte Configure mTLS em um workload.
Um certificado de servidor cobre os hostnames que um workload atende por HTTPS. Você obtém um de duas formas: você envia um certificado com a sua chave privada, ou Certificate Manager cria uma solicitação de assinatura de certificado (CSR) e guarda a chave privada enquanto a sua CA assina o certificado. Em ambos os casos, um workload usa o certificado apenas depois que o seu campo tls.certificate o nomeia, e o certificado fica como inactive até lá.
Uma conta que opera na API v3 com Domains seleciona o certificado em cada domínio, em vez disso. Para mais informações, consulte Domains.
Selecione uma interface. Os pré-requisitos e os passos de cada tarefa seguem a sua escolha.
Pré-requisitos
- Um workload que lista o seu domínio nos seus domínios. Para adicionar o domínio, consulte Adicione um domínio a um workload.
- Para enviar um certificado: o certificado em formato PEM e a sua chave privada, sem senha. Chaves RSA 2048 e chaves P-256 são aceitas.
- Para criar uma CSR: um domínio que a sua conta tem permissão para usar.
- Acesso ao Azion Console. Para mais informações, consulte Como acessar o Azion Console.
Envie um certificado de servidor
Certificate Manager armazena o certificado com a sua chave privada e nunca devolve a chave privada depois disso. Certificados intermediários são aceitos junto com o certificado.
Para enviar o certificado com a Azion CLI, passe o arquivo do certificado e o arquivo da chave privada:
O comando imprime o ID do novo certificado:
Para confirmar o envio, liste os seus certificados:
Este trecho da saída mostra o certificado como inactive, porque nenhum workload o usa ainda:
Uma chave privada que a API não consegue ler é recusada com The provided private key is invalid. Please check the key and try again. Envie a chave que corresponde ao certificado, em formato PEM e sem senha.
Crie uma solicitação de assinatura de certificado
Uma CSR permite que a sua própria CA assine o certificado enquanto Certificate Manager gera e guarda a chave privada. Nomeie os hostnames que o workload lista nos seus domínios. A API aceita um certificado cujos nomes não correspondem a esses domínios, então ela não detecta a divergência por você.
Para criar a CSR com a Azion CLI, passe os hostnames e os dados da sua organização. --alternative-names recebe uma lista separada por vírgulas, e --key-algorithm recebe rsa_2048, rsa_4096 ou ecc_384:
O comando cria uma entrada de certificado que guarda a solicitação no seu campo csr. A entrada fica como pending até que você adicione o certificado que a sua CA assinar.
Para ler a solicitação, encontre o ID da entrada com azion list digital-certificate --details e depois descreva a entrada:
O campo csr da saída guarda a solicitação, com cada quebra de linha escrita como \n. Converta essas sequências em quebras de linha antes de enviar a solicitação à sua CA.
Uma solicitação que nomeia um hostname em um domínio para o qual a sua conta não tem permissão é recusada com This account cannot use certain common or alternative names because it does not have permission for their domain names. Para o significado de cada campo da CSR, consulte Certificados.
Envie a solicitação à CA da sua escolha, como DigiCert, GlobalSign ou IdenTrust. A CA valida os dados da solicitação e, depois de aprová-los, emite o certificado assinado.
Adicione o certificado assinado à entrada da CSR
O certificado que a sua CA assina completa a entrada que a solicitação de assinatura de certificado (CSR) criou. Adicione-o no Azion Console ou com a API, em formato PEM, incluindo as linhas -----BEGIN CERTIFICATE----- e -----END CERTIFICATE-----.
Para adicionar o certificado assinado com a API, envie uma requisição PATCH à entrada, com o certificado em certificate. Escreva cada quebra de linha como \n:
A API responde 200. A entrada guarda o certificado assinado, e você pode vinculá-lo a um workload.
Vincule o certificado ao workload
Um workload usa um certificado de servidor depois que o seu campo tls.certificate guarda o ID do certificado. A partir dessa atualização, o certificado fica como active. Garanta que o certificado cubra os hostnames que o workload lista nos seus domínios: a API aceita um certificado cujos nomes não correspondem a eles.
Para vincular o certificado com a Azion CLI, salve um arquivo JSON com o ID do workload e o objeto tls, aqui como tls.json. Mantenha ciphers e minimum_version nos valores que o workload já tem. Este exemplo mostra os padrões de um novo workload:
Atualize o workload com o arquivo:
O comando imprime o ID do workload que ele atualizou:
Para confirmar o vínculo, liste os seus certificados:
Este trecho da saída mostra o certificado como active:
Um certificado de CA confiável em tls.certificate é recusado com Invalid certificate type, MUST be an Edge Certificate. Para voltar ao certificado da própria Azion, selecione Azion (SAN) em Digital Certificate, ou envie null em tls.certificate.
Vincular um certificado é uma mudança no workload, que leva vários minutos para chegar a toda a infraestrutura distribuída da Azion. Enquanto isso, as requisições podem receber a configuração antiga ou a nova. Para erros de certificado e as suas correções, consulte Solucionar problemas de Workloads.
Substitua um certificado antes que ele expire
Um certificado que você envia não se renova sozinho e, depois que a sua data de validity passa, ele deixa de proteger o tráfego. Para substituí-lo, envie o novo certificado como descreve Envie um certificado de servidor e depois vincule-o como descreve Vincule o certificado ao workload. A entrada antiga fica como inactive quando nenhum workload a nomeia. Exclua-a depois que o novo certificado estiver active e a mudança tiver se propagado.
Para saber por que trocar enquanto o certificado antigo ainda é válido, consulte Boas práticas de Workloads.