Ir para o conteúdo

Por que não posso escolher um certificado SSL/TLS personalizado para minha distribuição do CloudFront?

5 minuto de leitura
0

Quero usar um certificado SSL/TLS personalizado ao configurar minha distribuição do Amazon CloudFront, mas não tenho a opção de escolhê-lo.

Breve descrição

Talvez você não veja a opção de certificado SSL/TLS personalizado para sua distribuição do CloudFront nos seguintes cenários:

  • Seu certificado está armazenado em uma região da AWS diferente.
  • Falha na validação do certificado do AWS Certificate Manager (ACM).
  • O certificado expirou.
  • Você não tem as permissões necessárias do AWS Identity and Access Management (AWS IAM) para visualizar ou selecionar certificados.

Resolução

Observação: se você receber erros ao executar comandos da AWS Command Line Interface (AWS CLI), consulte Solução de problemas da AWS CLI. Além disso, certifique-se de que você está usando a versão mais recente da AWS CLI.

Verifique a configuração do seu certificado

Execute as seguintes ações de solução de problemas com base na sua configuração de distribuição do CloudFront.

Certificados ACM

Se você usar um certificado solicitado ou importado para o ACM, confirme se seu certificado atende aos seguintes requisitos:

Para saber mais, consulte Por que não consigo encontrar meu certificado ACM importado para meu balanceador de carga ou distribuição do CloudFront?

Certificados importados para o IAM

Se você importou seu certificado SSL/TLS para o IAM, verifique se você usou o caminho correto do CloudFront. Execute o seguinte comando da AWS CLI upload-server-certificate para fazer o upload do seu certificado com um caminho específico do CloudFront:

aws iam upload-server-certificate
 --server-certificate-name CertificateName
 --certificate-body file://public_key_certificate_file.pem
 --private-key file://privatekey.pem
 --certificate-chain file://certificate_chain_file.pem
 --path /cloudfront/DistributionName/

Observação: Substitua CertificateName pelo nome do seu certificado, file://public_key_certificate_file pela sua chave pública e file://privatekey.pem pela sua chave privada. Além disso, substitua file://certificate_chain_file pela sua cadeia de certificados e DistributionName pelo seu nome de distribuição do CloudFront.

Se você não fez o upload do seu certificado com o caminho do CloudFront, execute o seguinte comando update-server-certificate para atualizar seu certificado com o caminho:

aws iam update-server-certificate
 --server-certificate-name CertificateName
 --new-path /cloudfront/DistributionName/

Observação: Substitua CertificateName pelo nome do seu certificado e DistributionName pelo seu nome de distribuição do CloudFront. Depois de adicionar um certificado a uma distribuição do CloudFront, o status da distribuição muda de Implantado para Em andamento. Depois que o CloudFront implanta as alterações em todos os locais da borda, o status da distribuição volta para Implantado. O tempo normal de implantação é de 5 minutos.

Verifique as permissões do seu certificado

Confirme se você tem as permissões necessárias ao atribuir um certificado do ACM ou do IAM à distribuição do CloudFront.

O usuário ou o perfil do IAM que você usa para atribuir o certificado deve ter as seguintes permissões:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "acm:ListCertificates",
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "cloudfront:ListDistributions",
                "cloudfront:ListStreamingDistributions"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "cloudfront:List*",
                "cloudfront:Get*",
                "cloudfront:Update*"
            ],
            "Resource": "arn:aws:cloudfront::account-id:distribution/distribution-id"
        },
        {
            "Effect": "Allow",
            "Action": "iam:ListServerCertificates",
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:GetServerCertificate",
                "iam:UpdateServerCertificate"
            ],
            "Resource": "arn:aws:iam::account-id:server-certificate/certificate-name-with-path"
        }
    ]
}

Solução de problemas extra

Se você importou seu certificado SSL/TLS para o IAM, confirme se a cadeia de certificados está na ordem correta e se o certificado não expirou. Para mais informações, consulte Como fazer o upload e importar um certificado SSL para o IAM?

Para usar vários nomes de domínio em sua distribuição do CloudFront, solicite ou gere um único certificado SSL/TLS que inclua todos os domínios necessários. Por padrão, o ACM oferece suporte a até 100 domínios para cada certificado.

Observação: Não é possível associar mais de um certificado SSL/TLS a uma distribuição individual do CloudFront.

Informações relacionadas

Como uso o ACM para solucionar o erro do nome de domínio de distribuição do CloudFront?"InvalidViewerCertificate"

Requisitos para usar certificados SSL/TLS com o CloudFront