BYODKIM とは|AWS SES / Cloudflare の設定
目次
この記事でわかること
- 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 との違い
サービス標準 DKIM
- サービス側が鍵ペアを生成
- サービスが指定する CNAME を自社 DNS に登録
- 鍵管理はサービス側、Web 担当者はノータッチ
BYODKIM
- 自社で鍵ペアを生成(openssl 等)
- サービスの管理画面に 秘密鍵を登録
- 公開鍵を TXT レコードとして自社 DNS に登録
- 鍵管理は自社、ローテーションも自社で
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 秒で確認できます。設定にお困りの場合はお問い合わせからご相談ください。