独自の DKIM 認証トークンを Amazon SES で提供する - Amazon Simple Email Service

独自の DKIM 認証トークンを Amazon SES で提供する

Easy DKIM を使用する代わりに、独自のパブリック/プライベートのキーペアを使用して DKIM 認証を設定することもできます。このプロセスは、「Bring Your Own DKIM (BYODKIM)」として知られています。

BYODKIM では、単一の DNS レコードを使用してドメインの DKIM 認証を設定できます。一方 Easy DKIM では、3 つの個別の DNS レコードを発行する必要があります。さらに、BYODKIM を使用すると、ドメインの DKIM キーを必要な回数だけローテーションできます。

ステップ 1: キーペアを作成する

独自の DKIM 機能を使用するには、まずキーペアを作成する必要があります。

生成するプライベートキーは、1024 ビットの RSA エンコードを使用する必要があります。プライベートキーは PKCS #1 形式である必要があります。

このセクションでは、ほとんどの Linux, macOS, or Unix オペレーティングシステムに組み込まれている openssl コマンドを使用してキーペアを作成する方法について説明します。

注記

Windows コンピュータを使用している場合は、サードパーティーアプリケーションを使用して RSA キーペアを生成できます。サードパーティーアプリケーションを使用する場合は、1,024 ビットの RSA キーペアを PKCS#1 形式で生成できる必要があります。

Linux, macOS, or Unix コマンドラインからキーペアを作成するには

  1. コマンドラインで、以下のコマンドを入力してプライベートキーを生成します。

    openssl genrsa -f4 -out private.key 1024
  2. コマンドラインで、以下のコマンドを入力してパブリックキーを生成します。

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

ステップ 2: ドメインの DNS 設定にパブリックキーを追加する

キーペアを作成したので、パブリックキーを TXT レコードとしてドメインの DNS 設定に追加する必要があります。

ドメインの DNS 設定にパブリックキーを追加するには

  1. DNS またはホスティングプロバイダーの管理コンソールにサインインします。

  2. ドメインの DNS 設定に新しいテキストレコードを追加します。レコードは、次の形式を使用する必要があります。

    名前 タイプ

    selector._domainkey.example.com

    TXT

    p=yourPublicKey

    上の例に、以下の変更を加えます。

    • selector は、キーを識別する一意の名前に置き換えます。

    • example.com をドメインに置き換えます。

    • yourPublicKey は、以前に作成したパブリックキーに置き換えます。

      注記

      生成されたパブリックキーの最初と最後の行 (それぞれ -----END PUBLIC KEY----------BEGIN PUBLIC KEY-----) を削除する必要があります。さらに、生成されたパブリックキーの改行を削除する必要があります。結果の値は、スペースや改行を含まない文字列になります。

    プロバイダーによって、DNS レコードを更新する手順は異なります。次のテーブルでは、いくつかの主要なプロバイダーに関するドキュメントへのリンクを示しています。このリストにはすべての内容が網羅されているわけではなく、このリストに含まれているからといって、他社の製品やサービスを支援または推奨するものではありません。

    DNS/ホスティングプロバイダー ドキュメントのリンク

    Amazon Route 53

    Amazon Route 53 開発者ガイド でのレコードの編集

    GoDaddy

    Add a TXT record (外部リンク)

    Dreamhost

    カスタム DNS レコードを追加する方法 (外部リンク)

    Cloudflare

    Managing DNS records in CloudFlare (外部リンク)

    HostGator

    HostGator/eNom で DNS レコードを管理する (外部リンク)

    Namecheap

    ドメインの TXT/SPF/DKIM/DMARC レコードを追加する方法 (外部リンク)

    Names.co.uk

    ドメイン DNS 設定の変更 (外部リンク)

    Wix

    Wix アカウントの TXT レコードの追加または更新 (外部リンク)

ステップ 3: BYODKIM を使用するようにドメインを設定する

BYODKIM は、新しいドメイン (現在 Amazon SES を経由した E メールの送信に使用していないドメイン) と既存のドメイン (Amazon SES で使用するように設定済みのドメイン) の両方に対して設定できます。新しいドメインを設定するには、Amazon SES API で CreateEmailIdentity オペレーションを実行します。既存のドメインを設定するには、PutEmailIdentityDkimSigningAttributes オペレーションを実行します。

このセクションでは、AWS CLI を使用して新規ドメインと既存のドメインを設定する手順について説明します。このセクションの手順を完了する前に、まず AWS CLI をインストールして設定する必要があります。詳細については、「AWS Command Line Interface ユーザーガイド」を参照してください。

オプション 1: BYODKIM を使用する新しいドメイン ID を作成する

このセクションでは、BYODKIM を使用する新しいドメイン ID を作成する手順について説明します。新しいドメイン ID とは、Amazon SES を使用して E メールを送信するように設定していないドメインです。

BYODKIM を使用するように既存のドメインを設定する場合は、代わりに「オプション 2: 既存のドメイン ID を設定する」の手順を実行します。

ID を作成するには

  1. テキストエディタで、次のコードを貼り付けます。

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

    上の例に、以下の変更を加えます。

    • example.com を、作成するドメインに置き換えます。

    • privateKey をプライベートキーに置き換えます。

    • selector は、ドメインの DNS 設定で TXT レコードを作成したときに指定した一意のセレクタに置き換えます。

    終了したら、create-identity.json としてファイルを保存します。

  2. コマンドラインで以下のコマンドを入力します。

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

    上記のコマンドで、path/to/create-identity.json を、前のステップで作成したファイルの完全なパスに置き換えます。

オプション 2: 既存のドメイン ID を設定する

このセクションでは、BYODKIM を使用するために既存のドメイン ID を更新する手順について説明します。既存のドメイン ID は、Amazon SES を使用して E メールを送信するようにすでに設定されているドメインです。

ドメイン ID を更新するには

  1. テキストエディタで、次のコードを貼り付けます。

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

    上の例に、以下の変更を加えます。

    • privateKey をプライベートキーに置き換えます。

    • selector は、ドメインの DNS 設定で TXT レコードを作成したときに指定した一意のセレクタに置き換えます。

    終了したら、update-identity.json としてファイルを保存します。

  2. コマンドラインで以下のコマンドを入力します。

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

    上のコマンドに、以下の変更を加えます。

    • path/to/update-identity.json を、前のステップで作成したファイルへの完全なパスに置き換えます。

    • example.com を、更新するドメインに置き換えます。

BYODKIM を使用するドメインの DKIM ステータスを確認する

BYODKIM を使用するようにドメインを設定したら、GetEmailIdentity オペレーションを実行して、DKIM が正しく設定されていることを確認できます。

ドメインの DKIM ステータスを確認するには

  • コマンドラインで以下のコマンドを入力します。

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

    上記のコマンドで、example.com をドメインに置き換えます。

    このコマンドは、次の例のようなセクションを含む JSON オブジェクトを返します。

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

    BYODKIM は、以下のすべてに該当する場合、ドメインに対して適切に設定されています。

    • SigningAttributesOrigin プロパティの値は EXTERNAL です。

    • SigningEnabled の値は true です。

    • Status の値は SUCCESS です。