Fornecer seu próprio token de autenticação DKIM (BYODKIM) no Amazon SES - Amazon Simple Email Service

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á.

Fornecer seu próprio token de autenticação DKIM (BYODKIM) no Amazon SES

Como alternativa ao uso do Easy DKIM, você pode configurar a autenticação DKIM usando seu próprio par de chaves pública e privada. Este processo é conhecido como Bring Your Own DKIM (BYODKIM).

Com o BYODKIM, você pode usar um único registro DNS para configurar a autenticação DKIM dos seus domínios, diferentemente do Easy DKIM, que exige a publicação de três registros DNS separados. Além disso, usar BYODKIM permite alternar as chaves DKIM dos seus domínios com a frequência que desejar.

Atenção

Se, no momento, você tiver o Easy DKIM habilitado e estiver fazendo a transição para BYODKIM, esteja ciente de que o Amazon SES não usará o Easy DKIM para assinar seus e-mails enquanto o BYODKIM estiver sendo configurado e seu status do DKIM estiver marcado como pendente. Entre o momento em que você faz a chamada para habilitar o BYODKIM (por meio da API ou do console) e o momento em que o SES pode confirmar sua configuração de DNS, os e-mails podem ser enviados pelo SES sem uma assinatura do DKIM. Portanto, é aconselhável usar uma etapa intermediária para migrar de um método de assinatura do DKIM para o outro (por exemplo, usando um subdomínio do seu domínio com o Easy DKIM habilitado e excluí-lo depois que a verificação do BYODKIM tiver sido aprovada), ou realizar essa atividade durante o tempo de inatividade da aplicação, se houver.

Etapa 1: Criar o par de chaves

Para usar o recurso Bring Your Own DKIM, primeiro é necessário criar um par de chaves RSA.

A chave privada que você gera deve estar no formato PKCS #1 ou PKCS #8, deve usar criptografia RSA de no mínimo 1.024 bits e no máximo 2.048 bits, e deve ser codificada usando a codificação em base64 (PEM). Consulte Comprimento da chave de assinatura DKIM para saber mais sobre comprimentos de chave de assinatura DKIM e como alterá-los.

nota

É possível usar aplicações e ferramentas de terceiros para gerar pares de chaves RSA, desde que a chave privada seja gerada com criptografia RSA de no mínimo 1.024 bits e no máximo 2.048 bits, e seja codificada usando a codificação em base64(PEM).

No procedimento a seguir, o código de exemplo que usa o comando openssl genrsa incorporado na maioria dos sistemas operacionais Linux, macOS ou Unix para criar o par de chaves usará automaticamente a codificação em base64(PEM).

Para criar o par de chaves com a linha de comando do Linux, macOS ou Unix
  1. Na linha de comando, insira o comando a seguir para gerar a chave privada substituindo nnn pelo comprimento em bits, de pelo menos 1024 e no máximo 2048:

    openssl genrsa -f4 -out private.key nnnn
  2. Na linha de comando, digite o comando a seguir para gerar a chave pública:

    openssl rsa -in private.key -outform PEM -pubout -out public.key

Etapa 2: adicionar o seletor e a chave pública à configuração de domínio do provedor de DNS

Agora que você criou um par de chaves, é necessário adicionar a chave pública como um registro TXT à configuração DNS do seu domínio.

Como adicionar a chave pública à configuração DNS do seu domínio
  1. Faça login no console de gerenciamento do seu provedor hospedagem ou DNS.

  2. Como adicionar um novo registro de texto à configuração de DNS do seu domínio O registro deve ter o seguinte formato:

    Name (Nome) Type Value (Valor)

    selector._domainkey.example.com

    TXT

    p=yourPublicKey

    No exemplo anterior, faça as seguintes alterações:

    • Substitua selector por um nome exclusivo que identificará a chave.

      nota

      Um pequeno número de provedores de DNS não permitem que você inclua sublinhados (_) em nomes de registro. No entanto, o sublinhado no nome do registro DKIM é necessário. Se o seu provedor de DNS não permitir que você insira um sublinhado no nome do registro, entre em contato com a equipe de suporte ao cliente do provedor para obter assistência.

    • Substitua example.com pelo seu domínio.

    • Substitua yourPublicKey pela chave pública que você criou anteriormente e inclua o prefixo p=, conforme mostrado na coluna Value (Valor).

      nota

      Quando você publica (adiciona) a chave pública ao provedor DNS, ela deve ser formatada da seguinte forma:

      • Você deve excluir a primeira e a última linha (-----BEGIN PUBLIC KEY----- e -----END PUBLIC KEY-----, respectivamente) da chave pública gerada. Remover também as quebras de linha da chave pública gerada. O valor resultante será uma cadeia de caracteres sem espaços ou quebras de linha.

      • É necessário incluir o prefixo p= como mostrado na coluna Value (Valor) na tabela acima.

    Diferentes provedores têm procedimentos diferentes para atualizar os registros DNS. A tabela a seguir inclui links para a documentação de alguns provedores de DNS amplamente usados. Essa lista não é exaustiva e não significa endosso; da mesma forma, se seu provedor de DNS não estiver listado, isso não implicará que você não possa usar o domínio com o Amazon SES.

    Provedor de DNS/hospedagem Link da documentação

    Amazon Route 53

    Edição de registros no Guia do desenvolvedor do Amazon Route 53

    GoDaddy

    Adicionar um registro TXT (link externo)

    DreamHost

    Como adicionar registros DNS personalizados? (link externo)

    Cloudflare

    Gerenciamento de registros DNS no Cloudflare (link externo)

    HostGator

    Gerenciar registros DNS com HostGator/eNom (link externo)

    Namecheap

    Como adicionar registros TXT/SPF/DKIM/DMARC para o meu domínio? (link externo)

    Names.co.uk

    Alterar configurações de DNS dos domínios (link externo)

    Wix

    Adicionar ou atualizar registros TXT em sua conta do Wix (link externo)

Etapa 3: configurar e verificar um domínio para usar BYODKIM

Você pode configurar o BYODKIM para novos domínios (ou seja, domínios que você não usa atualmente para enviar e-mails pelo Amazon SES) e domínios existentes (ou seja, domínios que você já configurou para usar com o Amazon SES), usando o console ou a AWS CLI. Antes de concluir os procedimentos da AWS CLI nesta seção, primeiro é necessário instalar e configurar a AWS CLI. Para obter mais informações, consulte o Manual do usuário do AWS Command Line Interface.

Opção 1: Criar uma nova identidade de domínio que usa BYODKIM

Esta seção contém procedimentos para criar uma nova identidade de domínio que usa BYODKIM. Uma nova identidade de domínio é um domínio que você não configurou anteriormente para enviar e-mails com o Amazon SES.

Se você quiser configurar um domínio existente para usar o BYODKIM, siga as instruções em Opção 2: Configurar uma identidade de domínio existente.

Para criar uma identidade usando BYODKIM no console
Para criar uma identidade usando BYODKIM na AWS CLI

Para configurar um novo domínio, use a operação CreateEmailIdentity na API do Amazon SES.

  1. No editor de texto, cole o código a seguir:

    { "EmailIdentity":"example.com", "DkimSigningAttributes":{ "DomainSigningPrivateKey":"privateKey", "DomainSigningSelector":"selector" } }

    No exemplo anterior, faça as seguintes alterações:

    • Substitua example.com pelo domínio que você deseja criar.

    • Substitua privateKey pela sua chave privada.

      nota

      Você deve excluir a primeira e a última linha (-----BEGIN PRIVATE KEY----- e -----END PRIVATE KEY-----, respectivamente) da chave privada gerada. Além disso, remova as quebras de linha da chave privada gerada. O valor resultante será uma cadeia de caracteres sem espaços ou quebras de linha.

    • Substitua selector pelo seletor exclusivo que você especificou na criação do registro TXT durante a configuração do DNS para seu domínio.

    Ao concluir, salve o arquivo como create-identity.json.

  2. Na linha de comando, insira o seguinte comando:

    aws sesv2 create-email-identity --cli-input-json file://path/to/create-identity.json

    No comando anterior, substitua path/to/create-identity.json pelo caminho completo do arquivo que você criou na etapa anterior.

Opção 2: Configurar uma identidade de domínio existente

Esta seção contém procedimentos para atualizar uma identidade de domínio existente para usar BYODKIM. Uma identidade de domínio existente é um domínio que você já configurou para enviar e-mails com o Amazon SES.

Para atualizar uma identidade de domínio usando BYODKIM no console
  1. Faça login no AWS Management Console e abra o console do Amazon SES em https://console.aws.amazon.com/ses/.

  2. No painel de navegação, em Configuration (Configuração), escolha Verified identities (Identidades verificadas).

  3. Na lista de identidades, escolha uma identidade na qual o Identity type (Tipo de identidade) é Domain (Domínio).

    nota

    Se precisar criar ou verificar um domínio, consulte Criar uma identidade de domínio.

  4. Na guia Authentication (Autenticação), no painel DomainKeys Identified Mail (DKIM), escolha Edit (Editar).

  5. No painel Advanced DKIM settings (Configurações avançadas de DKIM), selecione o botão Provide DKIM authentication token (Fornecer token de autenticação DKIM) no campo Identity type (Tipo de identidade).

  6. Em Private key (Chave privada), cole a chave privada que você gerou anteriormente.

    nota

    Você deve excluir a primeira e a última linha (-----BEGIN PRIVATE KEY----- e -----END PRIVATE KEY-----, respectivamente) da chave privada gerada. Além disso, remova as quebras de linha da chave privada gerada. O valor resultante será uma cadeia de caracteres sem espaços ou quebras de linha.

  7. Para Selector name (Nome do seletor), insira o nome do seletor que você especificou nas configurações de DNS do seu domínio.

  8. No campo DKIM signatures (Assinaturas do DKIM), marque a caixa de seleção Enabled (Habilitado).

  9. Escolha Save changes (Salvar alterações).

Para atualizar uma identidade de domínio usando BYODKIM na AWS CLI

Para configurar um domínio existente, use a operação PutEmailIdentityDkimSigningAttributes na API do Amazon SES.

  1. No editor de texto, cole o código a seguir:

    { "SigningAttributes":{ "DomainSigningPrivateKey":"privateKey", "DomainSigningSelector":"selector" }, "SigningAttributesOrigin":"EXTERNAL" }

    No exemplo anterior, faça as seguintes alterações:

    • Substitua privateKey pela sua chave privada.

      nota

      Você deve excluir a primeira e a última linha (-----BEGIN PRIVATE KEY----- e -----END PRIVATE KEY-----, respectivamente) da chave privada gerada. Além disso, remova as quebras de linha da chave privada gerada. O valor resultante será uma cadeia de caracteres sem espaços ou quebras de linha.

    • Substitua selector pelo seletor exclusivo que você especificou na criação do registro TXT durante a configuração do DNS para seu domínio.

    Ao concluir, salve o arquivo como update-identity.json.

  2. Na linha de comando, insira o seguinte comando:

    aws sesv2 put-email-identity-dkim-signing-attributes --email-identity example.com --cli-input-json file://path/to/update-identity.json

    No comando anterior, faça as seguintes alterações:

    • Substitua path/to/update-identity.json pelo caminho completo do arquivo criado na etapa anterior.

    • Substitua example.com pelo domínio que você deseja atualizar.

Verificação do status de DKIM de um domínio que usa BYODKIM

Para verificar o status DKIM de um domínio no console

Depois de configurar um domínio para usar BYODKIM, você pode usar o console do SES para verificar se o DKIM está configurado corretamente.

  1. Faça login no AWS Management Console e abra o console do Amazon SES em https://console.aws.amazon.com/ses/.

  2. No painel de navegação, em Configuration (Configuração), escolha Verified identities (Identidades verificadas).

  3. Na lista de identidades, selecione a identidade cujo status de DKIM você deseja verificar.

  4. A propagação das alterações nas configurações de DNS pode levar até 72 horas. O processo de verificação será concluído assim que o Amazon SES detectar todos os registros DKIM necessários nas configurações de DNS do seu domínio. Se tudo tiver sido configurado corretamente, o campo DKIM configuration (Configuração de DKIM) do domínio exibirá Successful (Com êxito) no painel DomainKeys Identified Mail (DKIM) e o campo Identity status (Status da identidade) exibirá Verified (Verificado) no painel Summary (Resumo).

Para verificar o status de DKIM de um domínio usando a AWS CLI

Depois de configurar um domínio para usar o BYODKIM, você poderá usar a operação GetEmailIdentity para verificar se o DKIM está configurado corretamente.

  • Na linha de comando, insira o seguinte comando:

    aws sesv2 get-email-identity --email-identity example.com

    No comando anterior, substitua example.com pelo seu domínio.

    Esse comando retorna um objeto JSON com uma seção semelhante ao exemplo a seguir.

    { ... "DkimAttributes": { "SigningAttributesOrigin": "EXTERNAL", "SigningEnabled": true, "Status": "SUCCESS", "Tokens": [ ] }, ... }

    O BYODKIM estará configurado corretamente para o domínio se todas as opções a seguir forem true (verdadeiras):

    • O valor da propriedade SigningAttributesOrigin é EXTERNAL.

    • O valor de SigningEnabled é true.

    • O valor de Status é SUCCESS.