Fournissez votre propre jeton d'authentification DKIM (BYODKIM) dans Amazon SES - Amazon Simple Email Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Fournissez votre propre jeton d'authentification DKIM (BYODKIM) dans Amazon SES

Comme alternative à l'utilisation d'Easy DKIM, vous pouvez configurer l'authentification DKIM en utilisant votre propre paire de clés publique-privée. Ce processus est connu sous le nom de Bring Your Own DKIM (Fournissez votre propre DKIM) (BYODKIM).

Avec BYODKIM, vous pouvez utiliser un registre DNS unique pour configurer l'authentification DKIM pour vos domaines, contrairement à Easy DKIM qui vous oblige à publier trois registres DNS distincts. En outre, avec BYODKIM, vous pouvez procéder à une rotation des clés DKIM de vos domaines aussi souvent que vous le souhaitez.

Avertissement

Si Easy DKIM est actuellement activé et que vous passez à BYODKIM, sachez qu'Amazon SES n'utilisera pas Easy DKIM pour signer vos e-mails pendant la configuration de BYODKIM et que votre statut DKIM est en attente. Entre le moment où vous passez l'appel pour activer BYODKIM (via l'API ou la console) et le moment où SES peut confirmer votre configuration DNS, vos e-mails peuvent être envoyés par SES sans signature DKIM. Par conséquent, il est conseillé d'utiliser une étape intermédiaire pour migrer d'une méthode de signature DKIM à l'autre (par exemple, utiliser un sous-domaine de votre domaine avec Easy DKIM activé, puis la supprimer une fois la vérification BYODKIM passée), ou effectuer cette activité pendant les temps d'arrêt de votre application, le cas échéant.

Étape 1 : Créer la paire de clés

Pour utiliser la fonction Bring Your Own DKIM (Fournissez votre propre DKIM), vous devez d'abord créer une paire de clés RSA.

La clé privée que vous générez doit être au format PKCS #1 ou PKCS #8, utiliser un chiffrement RSA d'au moins1024 bits et jusqu'à 2048 bits, et être encodée à l'aide du codage (PEM) base64. Voir Longueur de la clé DKIM pour en savoir plus sur les longueurs des clés de signature DKIM et sur la manière de les modifier.

Note

Vous pouvez utiliser des applications et des outils tiers pour générer des paires de clés RSA tant que la clé privée est générée avec un chiffrement RSA d'au moins 1 024 bits et jusqu'à 2 048 bits, et qu'elle est encodée à l’aide du codage (PEM) base64.

Dans la procédure suivante, l'exemple de code qui utilise la commande openssl genrsa intégrée à la plupart des systèmes d'exploitation Linux, macOS ou Unix pour créer la paire de clés utilisera automatiquement le codage (PEM) base64.

Pour créer la paire de clés à partir de la ligne de commande Linux, macOS ou Unix
  1. Dans la ligne de commande, entrez la commande suivante pour générer la clé privée remplaçant nnnn avec une longueur de bit d'au moins 1024 et jusqu'à 2048 :

    openssl genrsa -f4 -out private.key nnnn
  2. À partir de la ligne de commande, entrez la commande suivante pour générer la clé publique :

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

Étape 2 : Ajouter la clé publique et le sélecteur à la configuration de domaine de votre fournisseur DNS

Maintenant que vous avez créé une paire de clés, vous devez ajouter la clé publique à la configuration DNS pour votre domaine en tant qu'registre TXT.

Pour ajouter la clé publique à la configuration DNS pour votre domaine
  1. Connectez-vous à la console de gestion de votre fournisseur DNS ou d'hébergement.

  2. Ajoutez un nouvel registre texte à la configuration DNS pour votre domaine le registre doit utiliser le format suivant :

    Nom Type Valeur

    selector._domainkey.example.com

    TXT

    p=yourPublicKey

    Dans l'exemple précédent, apportez les modifications suivantes :

    • Remplacez selector par un nom unique qui identifie la clé.

      Note

      Un petit nombre de fournisseurs DNS n'autorisent pas l'inclusion de traits de soulignement (_) dans les noms de registre. Cependant, les traits de soulignement dans les noms de registres DKIM sont obligatoires. Si votre fournisseur DNS ne vous permet pas de saisir un caractère de soulignement dans le nom de registre, contactez l'équipe de support client du fournisseur pour obtenir de l'aide.

    • Remplacez example.com par votre domaine.

    • Remplacez yourPublicKey par la clé publique que vous avez créée précédemment et incluez le préfixe p= comme indiqué dans la colonne Value (Valeur) ci-dessus.

      Note

      Lorsque vous publiez (ajoutez) votre clé publique à votre fournisseur DNS, elle doit être formatée comme suit :

      • Vous devez supprimer les première et dernière lignes (respectivement -----BEGIN PUBLIC KEY----- et -----END PUBLIC KEY-----) de la clé publique générée. En outre, vous devez supprimer les sauts de ligne dans la clé publique générée. La valeur résultante est une chaîne de caractères sans espace ni saut de ligne.

      • Vous devez inclure le préfixe p= comme indiqué dans la colonne Value (Valeur) dans le tableau ci-dessus.

    Les différents fournisseurs ont des procédures différentes pour mettre à jour les registres DNS. Le tableau suivant comprend des liens vers de la documentation relative à quelques fournisseurs DNS courants. Cette liste n'est pas exhaustive et n’a pas valeur d’approbation. De même, si votre fournisseur DNS n'est pas répertorié, cela ne signifie pas que vous ne pouvez pas utiliser le domaine avec Amazon SES.

    Fournisseur DNS/d'hébergement Lien vers la documentation

    Amazon Route 53

    Modification des registres dans le Guide du développeur Amazon Route 53.

    GoDaddy

    Ajout d'un registre TXT (lien externe)

    DreamHost

    How do I add custom DNS records? (Comment ajouter des registres DNS personnalisés ?) (lien externe)

    Cloudflare

    Gestion des registres DNS dans CloudFlare (lien externe)

    HostGator

    Manage DNS Records with HostGator/eNom (Gérer des registres DNS avec HostGator/eNom) (lien externe)

    Namecheap

    How do I add TXT/SPF/DKIM/DMARC records for my domain? (Comment ajouter des registres TXT/SPF/DKIM/DMARC pour mon domaine ?) (lien externe)

    Names.co.uk

    Changing your domains DNS Settings (Modifier vos paramètres DNS de domaine) (lien externe)

    Wix

    Ajout ou mise à jour des registres TXT dans votre compte Wix (lien externe)

Étape 3 : Configurer et vérifier un domaine pour utiliser BYODKIM

Vous pouvez configurer BYODKIM pour les nouveaux domaines (c'est-à-dire, les domaines que vous n'utilisez pas actuellement pour envoyer des e-mails via Amazon SES) et les domaines existants (c'est-à-dire, les domaines que vous avez déjà configurés pour utiliser avec Amazon SES) en utilisant la console ou AWS CLI. Avant d'effectuer les procédures AWS CLI de cette section, vous devez d'abord installer et configurer AWS CLI. Pour en savoir plus, veuillez consulter le Guide de l'utilisateur AWS Command Line Interface..

Option 1 : Création d'une nouvelle identité de domaine utilisant BYODKIM

Cette section contient les procédures de création d'une identité de domaine utilisant BYODKIM. Une nouvelle identité de domaine est un domaine que vous n'avez pas précédemment configuré pour envoyer des e-mails via Amazon SES.

Si vous souhaitez configurer un domaine existant pour utiliser BYODKIM, effectuez plutôt la procédure décrite dans Option 2 : Configuration d'une identité de domaine existante.

Pour créer une identité à l'aide de BYODKIM depuis la console
Pour créer une identité à l'aide de BYODKIM dans le AWS CLI

Pour configurer un nouveau domaine, utilisez l'opération CreateEmailIdentity dans l'API Amazon SES.

  1. Dans un éditeur de texte, collez le code suivant :

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

    Dans l'exemple précédent, apportez les modifications suivantes :

    • Remplacez example.com par le domaine que vous souhaitez créer.

    • Remplacez privateKey par votre clé privée.

      Note

      Vous devez supprimer les première et dernière lignes (respectivement -----BEGIN PRIVATE KEY----- et -----END PRIVATE KEY-----) de la clé privée générée. En outre, vous devez supprimer les sauts de ligne dans la clé privée générée. La valeur résultante est une chaîne de caractères sans espace ni saut de ligne.

    • Remplacez selector par le sélecteur unique que vous avez spécifié lorsque vous avez créé le registre TXT dans la configuration DNS pour votre domaine.

    Lorsque vous avez terminé, enregistrez le fichier sous create-identity.json.

  2. Sur la ligne de commande, entrez la commande suivante :

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

    Dans la commande précédente, remplacez path/to/create-identity.json par le chemin d'accès complet au fichier que vous avez créé à l'étape précédente.

Option 2 : Configuration d'une identité de domaine existante

Cette section contient les procédures de mise à jour d'une identité de domaine existante pour utiliser BYODKIM. Une identité de domaine existante est un domaine que vous avez déjà configuré pour envoyer des e-mails via Amazon SES.

Pour mettre à jour une identité de domaine en utilisant BYODKIM depuis la console
  1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon SES sur la page https://console.aws.amazon.com/ses/.

  2. Dans le panneau de navigation, sous Configuration, choisissez Verified identities (Identités vérifiées).

  3. Dans la liste des identités, choisissez une identité dans laquelle le type d'identité est le Domaine.

    Note

    Si vous devez créer ou vérifier un domaine, veuillez consulter Création d'une identité de domaine.

  4. Sous l'onglet Authentification, dans le volet norme DKIM (DomainKeys Identified Mail), choisissez Edit (Modifier).

  5. Dans le volet Advanced DKIM settings (Paramètres avancés de DKIM), choisissez Provide DKIM authentication token (BYODKIM) [Fournir un jeton d'authentification DKIM (BYODKIM)] dans la zone Identity type (Type d'identité).

  6. Pour Private key (Clé privée), collez la clé privée que vous avez générée précédemment.

    Note

    Vous devez supprimer les première et dernière lignes (respectivement -----BEGIN PRIVATE KEY----- et -----END PRIVATE KEY-----) de la clé privée générée. En outre, vous devez supprimer les sauts de ligne dans la clé privée générée. La valeur résultante est une chaîne de caractères sans espace ni saut de ligne.

  7. Pour Selector name (Nom du sélecteur, entrez le nom du sélecteur que vous avez spécifié dans les paramètres DNS de votre domaine.

  8. Dans DKIM signatures (Signatures DKIM), cochez la case Enabled (Activé).

  9. Sélectionnez Save Changes (Enregistrer les modifications).

Pour mettre à jour une identité de domaine à l'aide de BYODKIM AWS CLI

Pour configurer un domaine existant, utilisez l'opération PutEmailIdentityDkimSigningAttributes dans l'API Amazon SES.

  1. Dans un éditeur de texte, collez le code suivant :

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

    Dans l'exemple précédent, apportez les modifications suivantes :

    • Remplacez privateKey par votre clé privée.

      Note

      Vous devez supprimer les première et dernière lignes (respectivement -----BEGIN PRIVATE KEY----- et -----END PRIVATE KEY-----) de la clé privée générée. En outre, vous devez supprimer les sauts de ligne dans la clé privée générée. La valeur résultante est une chaîne de caractères sans espace ni saut de ligne.

    • Remplacez selector par le sélecteur unique que vous avez spécifié lorsque vous avez créé le registre TXT dans la configuration DNS pour votre domaine.

    Lorsque vous avez terminé, enregistrez le fichier sous update-identity.json.

  2. Sur la ligne de commande, entrez la commande suivante :

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

    Dans l'exemple précédent, apportez les modifications suivantes :

    • Remplacez path/to/update-identity.json par le chemin d'accès complet au fichier que vous avez créé à l'étape précédente.

    • Remplacez example.com par le domaine que vous souhaitez mettre à jour.

Vérification du statut DKIM pour un domaine qui utilise BYODKIM

Pour vérifier le statut DKIM d'un domaine depuis la console

Après avoir configuré un domaine pour utiliser BYODKIM, vous pouvez utiliser la console SES pour confirmer que DKIM est correctement configuré.

  1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon SES sur la page https://console.aws.amazon.com/ses/.

  2. Dans le panneau de navigation, sous Configuration, choisissez Verified identities (Identités vérifiées).

  3. Dans la liste des identités, choisissez l'identité pour laquelle vous souhaitez vérifier le statut DKIM.

  4. La propagation des modifications des paramètres DNS peut prendre jusqu'à 72 heures. Dès qu'Amazon SES détecte tous les registres DKIM requis dans les paramètres DNS de votre domaine, le processus de vérification est terminé. Si tout a été correctement configuré, la zone DKIM configuration (Configuration DKIM)de votre domaine affiche Successful (Succès) dans le volet DomainKeys Identified Mail (DKIM) et la zone Identity status (Statut d'identité) affiche Verified (Vérifié) dans le volet Summary (Récapitulatif).

Pour vérifier le statut DKIM d'un domaine à l'aide de la AWS CLI

Après avoir configuré un domaine pour utiliser BYODKIM, vous pouvez utiliser l'opération GetEmailIdentity pour vérifier que DKIM est correctement configuré.

  • Sur la ligne de commande, entrez la commande suivante :

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

    Dans la commande précédente, remplacez example.com par votre domaine.

    Cette commande renvoie un objet JSON qui contient une section semblable à l'exemple suivant.

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

    BYODKIM est correctement configuré pour le domaine si toutes les conditions suivantes sont remplies :

    • La valeur de la propriété SigningAttributesOrigin est EXTERNAL.

    • La valeur de SigningEnabled est true.

    • La valeur de Status est SUCCESS.