DKIMBYODKIMAWS SESCloudflareWeb 担当者

BYODKIM とは|AWS SES / Cloudflare の設定

ドメイン番人5 分で読めます
目次

BYODKIM とサービス標準 DKIM の違い

この記事でわかること

  • BYODKIM が「自前で生成した DKIM 鍵を SaaS に持ち込んで使う」方式であること
  • サービス提供 DKIM との違いとメリット / デメリット
  • AWS SES / Cloudflare 等での設定の流れ
  • 運用上の注意点(鍵管理 / ローテーション / バックアップ)

BYODKIM とは

BYODKIM(Bring Your Own DKIM、バイ・オー・ディーキム)は、自社で生成した DKIM の秘密鍵 / 公開鍵ペアを、AWS SES や Cloudflare Email Routing などのメール送信サービスに「持ち込んで」使う方式の呼び名です。

通常、メール送信 SaaS(SendGrid / Mailgun / AWS SES 等)は、サービス側で DKIM 鍵を生成して提供します。Web 担当者は提示された CNAME を DNS に貼るだけで設定完了です。

BYODKIM はこの逆方向で、鍵生成を自社で行い、サービスに公開鍵を登録する形を取ります。

DKIM 自体の基礎は DKIM 確認 コマンド|dig でできる設定確認DKIM セレクタ selector1 selector2 とは を参照。

サービス標準 DKIM との違い

BYODKIM と標準 DKIM の比較

サービス標準 DKIM

  1. サービス側が鍵ペアを生成
  2. サービスが指定する CNAME を自社 DNS に登録
  3. 鍵管理はサービス側、Web 担当者はノータッチ

BYODKIM

  1. 自社で鍵ペアを生成(openssl 等)
  2. サービスの管理画面に 秘密鍵を登録
  3. 公開鍵を TXT レコードとして自社 DNS に登録
  4. 鍵管理は自社、ローテーションも自社で

BYODKIM のメリット

メリット 1: 鍵の主導権を持てる

サービス側の障害・廃業・契約変更で「鍵を取り戻せない」事態を避けられます。重要な業務メール基盤で鍵管理を自社管理下に置きたい場合に有効です。

メリット 2: 複数サービスで同じ鍵を使える

同じ鍵を AWS SES と SendGrid の両方に登録すれば、どちらから送ってもメールが DKIM 認証を通る構成が組めます。マルチクラウド構成や乗り換え時の移行が楽になります。逆に鍵生成と更新をサービス側へ委ねたい場合はDKIM の CNAME 委譲とは|SaaS 送信の方式が選択肢になります。

メリット 3: 鍵長を選べる

サービス標準は 1024-bit のことが多いですが、BYODKIM なら 2048-bit を選んで強固化できます。Google / Yahoo の 2026 年送信者要件強化も見据えた選択肢です。

BYODKIM のデメリット

デメリット 1: 鍵管理責任を負う

秘密鍵を自社で管理する以上、漏洩・紛失のリスクと鍵ローテーション運用を自社で持ちます。詳しい運用は DKIM 鍵 ローテーション 手順 を参照。

デメリット 2: セットアップが煩雑

サービス標準が「CNAME を 2 本貼るだけ」なのに対し、BYODKIM は openssl での鍵生成、PEM 形式の整形、サービス管理画面での登録、DNS への TXT 登録と、ステップが増えます。

デメリット 3: トラブル時の切り分けが難しい

DKIM 認証失敗時に「鍵自体の問題か、DNS の問題か、サービスの問題か」を自社で切り分ける必要があります。サービス標準なら問い合わせ 1 本で済みます。

AWS SES での設定の流れ

AWS SES は BYODKIM を正式サポートしています。

ステップ 1: 鍵ペア生成

openssl genrsa -f4 -out private.pem 2048
openssl rsa -in private.pem -pubout -outform der 2>/dev/null | openssl base64 -A > public.txt

ステップ 2: AWS SES に秘密鍵を登録

「Email Sending → Verified identities → 該当ドメイン → DKIM」で「Provide DKIM authentication token」を選び、PEM 形式の秘密鍵を貼り付けます。

ステップ 3: 公開鍵を DNS に登録

セレクタ名(例: selector1)とドメインを組み合わせて、selector1._domainkey.example.co.jp の TXT レコードに公開鍵を登録します。

selector1._domainkey.example.co.jp. IN TXT "v=DKIM1; k=rsa; p=<公開鍵>"

ステップ 4: 検証

dig で公開鍵が引けることと、テストメールで DKIM 署名が正しく付くことを確認します。詳細は DKIM 確認 コマンド

AWS SES 全般の SPF 設定は AWS SES SPF 設定 検証 を参照(公開後)。

Cloudflare Email Routing での設定

Cloudflare Email Routing も BYODKIM に近い構成(送信認証は Cloudflare 側、署名は自社管理可)が組めますが、現状は受信中心のサービスのため、送信用の DKIM 署名は別途 Cloudflare Workers Mail API 等で実装する必要があります。詳細は Cloudflare Email Routing 認証Cloudflare DKIM 設定 手順(公開後)を参照。

運用上の注意点

注意 1: 秘密鍵の保管

秘密鍵は暗号化されたシークレット管理ツール(AWS Secrets Manager / 1Password / HashiCorp Vault 等)で保管。Git にコミットは絶対 NG。

注意 2: ローテーションの計画

最低でも年 1 回、できれば半年に 1 回のローテーションを計画します。古い鍵は DNS から削除せずに数週間並行運用してから外すと、配送中メールが署名検証エラーで弾かれません。BYODKIM では鍵が手元にある分、DKIM リプレイ攻撃の被害発生時に SaaS 側を待たず即時ローテできる点が安全側の利点です。

注意 3: 複数 SaaS 間で同期する

BYODKIM のメリットを活かして複数 SaaS で同じ鍵を使う場合、鍵ローテーション時にすべてのサービスで同じタイミングで切り替える計画が必要です。

まとめ

  • BYODKIM は自前生成した DKIM 鍵を SaaS に持ち込む方式
  • メリット: 鍵主導権 / 複数サービス共通鍵 / 鍵長選択
  • デメリット: 管理責任 / セットアップ煩雑 / 切り分け難しい
  • AWS SES は正式サポート、openssl + PEM + TXT 登録の流れ
  • 運用は秘密鍵保管 / ローテーション計画 / 複数 SaaS 同期 が肝

まずは現状を把握しましょう

自社ドメインのメール認証(SPF / DKIM / DMARC)の状態は、ドメイン番人の無料診断で 30 秒で確認できます。設定にお困りの場合はお問い合わせからご相談ください。

次の一歩は無料診断から。