Práticas recomendadas - AWS Certificate Manager

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Práticas recomendadas

As melhores práticas são recomendações que podem ajudar você a usar AWS Certificate Manager (AWS Certificate Manager) com mais eficiência. As melhores práticas a seguir são baseadas em experiência real de clientes atuais do ACM.

Separação em nível de conta

Use a separação em nível de conta em suas políticas para controlar quem pode acessar certificados em nível de conta. Mantenha seus certificados de produção em contas separadas dos certificados de teste e desenvolvimento. Se você não puder usar a separação em nível de conta, poderá restringir o acesso a funções específicas negando kms:CreateGrant ações em suas políticas. Isso limita quais funções em uma conta podem assinar certificados em alto nível. Para obter informações sobre subsídios, incluindo a terminologia de subsídios, consulte Concessões AWS KMS no Guia do AWS Key Management Service Desenvolvedor.

Se você quiser um controle mais granular do que restringir o uso de kms:CreateGrant por conta, você pode limitar kms:CreateGrant a certificados específicos usando kms: EncryptionContext condition keys. Especifique arn:aws:acm como chave e o valor do ARN a ser restringido. O exemplo de política a seguir impede o uso de um certificado específico, mas permite outros.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Deny", "Action": "kms:CreateGrant", "Resource": "*", "Condition": { "StringEquals": { "kms:EncryptionContext:aws:acm:arn": "arn:aws:acm:us-east-1:111122223333:certificate/b26def74-1234-4321-9876-951d4c07b197" } } } ] }

AWS CloudFormation

Com AWS CloudFormation você pode criar um modelo que descreva os AWS recursos que você deseja usar. AWS CloudFormation em seguida, provisiona e configura esses recursos para você. AWS CloudFormation pode provisionar recursos que são suportados pelo ACM, como Elastic Load Balancing, Amazon e CloudFront Amazon API Gateway. Para ter mais informações, consulte Serviços integrados com AWS Certificate Manager.

Se você costuma AWS CloudFormation criar e excluir rapidamente vários ambientes de teste, recomendamos que você não crie um certificado ACM separado para cada ambiente. Se fizer isso, você esgotará rapidamente sua cota de certificados. Para ter mais informações, consulte Cotas. Em vez disso, crie um certificado curinga que abranja todos os nomes de domínio que você estiver usando para testes. Por exemplo, se você cria repetidamente certificados do ACM para nomes de domínio que diferem em apenas pelo número de versão, como <version>.service.example.com, crie um único certificado-curinga para <*>.service.example.com. Inclua o certificado curinga no modelo AWS CloudFormation usado para criar seu ambiente de teste.

Fixação do certificado

A fixação do certificado, também conhecido como fixação SSL, é um processo que você pode usar em seu aplicativo para validar um host remoto ao associar esse host diretamente com seu certificado X.509 ou chave pública em vez de com uma hierarquia de certificado. O aplicativo, portanto, usa a associação para contornar a validação da cadeia de certificados SSL/TLS. O processo típico de validação do SSL verifica as assinaturas em toda a cadeia de certificados, do certificado da autoridade de certificação (CA) raiz até os certificados da CA subordinada, se houver. Ele também verifica o certificado do host remoto na parte inferior da hierarquia. O aplicativo pode, em vez disso, fazer a fixação do certificado para o host remoto, para informar que apenas esse é um certificado confiável e não o certificado raiz ou qualquer outro na cadeia. Você pode adicionar o certificado do host remoto ou a chave pública a seu aplicativo durante o desenvolvimento. Como alternativa, o aplicativo pode adicionar o certificado ou a chave quando se conecta ao host pela primeira vez.

Atenção

Recomendamos que o seu aplicativo não fixe um certificado do ACM. O ACM executa Renovação gerenciada para certificados do ACM para renovar automaticamente seus certificados SSL/TLS emitidos pela Amazon antes sua validade expire. Para renovar um certificado, o ACM gera um novo par de chaves pública/privada. Se o seu aplicativo fixar o certificado do ACM e o certificado for renovado com sucesso com uma nova chave pública, o aplicativo talvez não consiga se conectar ao seu domínio.

Se você decidir fazer a fixação de um certificado, as opções a seguir não impedirão que o aplicativo se conecte ao seu domínio:

  • Importe o seu próprio certificado para o ACM e, em seguida, fixe seu aplicativo no certificado importado. O ACM não tenta renovar automaticamente certificados importados.

  • Se você estiver usando um certificado público, fixe o aplicativo a todos os certificados raiz da Amazon disponíveis. Se você estiver usando um certificado privado, fixe o aplicativo ao certificado raiz da CA.

Validação de domínio

Antes que a autoridade de certificação (CA) da Amazon possa emitir um certificado para seu site, AWS Certificate Manager (ACM) deve verificar se você possui ou controla todos os domínios que você especificou em sua solicitação. Você pode executar uma verificação usando o e-mail ou o DNS. Para obter mais informações, consulte Validação por DNS e Validação de e-mail.

Adição ou exclusão de nomes de domínio

Você não pode adicionar nem remover nomes de domínio de um certificado do ACM existente. Em vez disso, você deve solicitar um novo certificado com a lista revisada de nomes de domínio. Por exemplo, se seu certificado tiver cinco nomes de domínio e você desejar adicionar mais quatro, deverá solicitar um novo certificado com todos os nove nomes de domínio. Assim como com qualquer novo certificado, você deve validar a propriedade de todos os nomes de domínio na solicitação, incluindo nomes previamente validados no certificado original.

Se usar a validação de e-mail, você receberá até oito mensagens de e-mail de validação para cada domínio, e pelo menos uma delas deverá ser respondida em 72 horas. Por exemplo, quando solicita um certificado com cinco nomes de domínio, você recebe até 40 mensagens de e-mail de validação, e pelo menos cinco delas devem ser respondidas em 72 horas. À medida que o número de nomes de domínio na solicitação de certificado aumenta, o trabalho necessário para validar a propriedade dos domínios por e-mail também aumenta.

Se você usar a validação por DNS, deverá gravar um novo registro de DNS no banco de dados para o FQDN que deseja validar. O ACM envia o registro a ser criado e, posteriormente, consulta o banco de dados para determinar se o registro foi adicionado. A adição do registro confirma que você possui ou controla o domínio. No exemplo anterior, ao solicitar um certificado com cinco nomes de domínio, você deve criar cinco registros de DNS. Recomendamos usar a validação de DNS, quando possível.

Cancelamento do registro em log de transparência de certificado

Importante

Independentemente das ações executadas para excluir o registro em log de transparência de certificado, seu certificado ainda pode ser registrado por qualquer cliente ou indivíduo que tenha acesso ao endpoint público ou privado ao qual você associa o certificado. Porém, o certificado não conterá um carimbo de data/hora de certificado (SCT) assinado. Apenas a CA emissora pode incorporar um SCT em um certificado.

Desde 30 de abril de 2018, o Google Chrome não confia mais em certificados SSL/TLS públicos não registrados em um log de transparência de certificados. Portanto, desde 24 de abril de 2018, a CA da Amazon começou a publicar todos os novos certificados e as renovações em pelo menos dois logs públicos. Após o registro de um certificado, ele não pode ser removido. Para ter mais informações, consulte Registro de transparência de certificados.

O registro em log é realizado automaticamente ao solicitar um certificado ou quando ele é renovado, mas é possível cancelar essa opção. Os motivos comuns para essa escolha incluem preocupações sobre segurança e privacidade. Por exemplo, o registro de nomes de domínio internos do host fornece a possíveis invasores informações sobre redes internas não seriam públicas de outra forma. Além disso, podem vazar nomes de produtos e sites novos ou ainda não lançados.

Para desativar o registro de transparência ao solicitar um certificado, use o options parâmetro do AWS CLI comando request-certificate ou da operação da RequestCertificateAPI. Se seu certificado foi emitido antes de 24 de abril de 2018 e você deseja garantir que ele não seja registrado durante a renovação, você pode usar o update-certificate-optionscomando ou a operação da UpdateCertificateOptionsAPI para optar por não participar.

Limitações
  • Não é possível usar o console para habilitar ou desabilitar o registro em log de transparência.

  • Não é possível alterar o status de registro após um certificado entrar em seu período de renovação, geralmente 60 dias antes da expiração da validade do certificado. Nenhuma mensagem de erro é gerada se uma alteração de status falhar.

Após o registro de um certificado, ele não pode ser removido do log. O cancelamento depois disso não terá efeito. Se você cancelar o registro ao solicitar um certificado e depois optar por incluí-lo novamente, seu certificado não será registrada enquanto não for renovado. Se você quiser que o certificado seja registrado imediatamente, recomendamos que emita um novo.

O exemplo a seguir mostra como usar o comando request-certificate para desabilitar a transparência do certificado ao solicitar um novo certificado.

aws acm request-certificate \ --domain-name www.example.com \ --validation-method DNS \ --options CertificateTransparencyLoggingPreference=DISABLED \

O comando anterior gera o ARN do seu novo certificado.

{ "CertificateArn": "arn:aws:acm:region:account:certificate/certificate_ID" }

Se você já tem um certificado e não quer que ele seja registrado quando for renovado, use o update-certificate-optionscomando. Esse comando não retorna um valor.

aws acm update-certificate-options \ --certificate-arn arn:aws:acm:region:account:\ certificate/certificate_ID \ --options CertificateTransparencyLoggingPreference=DISABLED

Ativar AWS CloudTrail

Ative o CloudTrail registro antes de começar a usar o ACM. CloudTrail permite que você monitore suas AWS implantações recuperando um histórico de chamadas de AWS API para sua conta, incluindo chamadas de API feitas por meio do AWS Management Console, dos AWS SDKs, do e da Amazon Web AWS Command Line Interface Services de nível superior. Você também pode identificar quais usuários e contas chamaram as APIs do ACM, o endereço IP de origem do qual as chamadas foram feitas e quando elas ocorreram. Você pode se CloudTrail integrar aos aplicativos usando a API, automatizar a criação de trilhas para sua organização, verificar o status de suas trilhas e controlar como os administradores ativam e desativam o CloudTrail login. Para obter mais informações, consulte Criação de uma trilha. Vá para Usando CloudTrail com AWS Certificate Manager para ver exemplos de trilhas para ações do ACM.