DKIMメール認証設定方法Google Workspace

Google WorkspaceのDKIM設定手順を解説

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

この記事でわかること

  • Google Workspace の DKIM 設定が「管理コンソール」と「DNS」の両方で完結する2段構成であること
  • 鍵生成からTXTレコード登録、そして最後の「認証を開始」までの具体的な手順
  • 設定後に dkim=pass を確認する3つの方法と、よくあるつまずきの回避策

「Google Workspace で DKIM を有効化したつもりだったのに、Gmail の受信側で dkim=neutral のまま動いていなかった」「管理コンソールで鍵を作っただけで終わりだと思っていた」という相談を、月に何件かいただきます。Google Workspace の DKIM(ディーキム)設定は、画面上に見える操作だけでは完了しません。管理コンソール、DNS、そして再度管理コンソールに戻って「認証を開始」ボタンを押す、という順序を踏む必要があります。

本記事では、その流れと確認方法を一つずつ整理します。DKIM の基礎概念から押さえたい方は、先にSPF・DKIM・DMARCの違いをわかりやすく解説をご一読ください。確認手順全般はDKIM設定の確認方法にもまとめています。

Google Workspace の DKIM 設定が「2段階」である理由

Google Workspace の DKIM は、他のメールサービスと比べて少し独特な構造をしています。鍵の生成と公開の場所が分かれているためです。

Google Workspace DKIM 設定の全体フロー

DKIM は RFC 6376 で定義された電子署名の仕組みで、送信時にメール本体に署名を付け、受信側が DNS に公開された公開鍵で検証します。Google Workspace の場合、署名を行うのは Google のメールサーバーですが、公開鍵は自社が管理する DNS に置く必要があります。そのため設定は次の2段階に分かれます。

  1. 管理コンソール側: Google が秘密鍵と公開鍵のペアを生成し、公開鍵の文字列を表示する
  2. DNS 側: 表示された公開鍵を <セレクタ>._domainkey.<ドメイン> の TXT レコードとして登録する

ここまでで「公開鍵が見える状態」にはなりますが、Google 側はまだ署名を付けていません。最後にもう一度管理コンソールに戻り、「認証を開始」ボタンを押すことで、初めて Google のメールサーバーが署名を付け始めます。この「3つ目の操作」が抜けていると、DNS にレコードがあっても DKIM は動きません。

なお、Google Workspace のデフォルトのセレクタ名は google です。Google 公式ヘルプでも、特別な理由がない限りこの名前のまま使うことが推奨されています(変更も可能ですが、複数サービスから DKIM 署名する場合などに限って使い分ける運用が一般的です)。

設定手順|3段階の流れ

ここから具体的な手順に入ります。特権管理者の権限を持つアカウントで Google Workspace の管理コンソール(admin.google.com)にログインしてください。以降は「管理コンソールで鍵を生成」「DNS に TXT を登録」「管理コンソールに戻って認証開始」の3段階で進めます。

管理コンソールで鍵を生成する

「メールの認証」画面を開く

左メニューから「アプリ」→「Google Workspace」→「Gmail」と進み、その中の「メールの認証」を開きます。対象のドメインを選択する画面が表示されるので、DKIM を有効化したいドメインをプルダウンから選びます。

複数ドメインを Google Workspace に登録している場合は、ドメインごとに個別にこの作業が必要です。プライマリドメインだけ設定して終わったつもりになっていると、セカンダリドメインからの送信に DKIM 署名が付きません。

鍵長と DKIM プレフィックス(セレクタ)を選ぶ

「新しいレコードを生成」をクリックすると、次の2つを尋ねられます。

  • DKIM 鍵のビット長: 1024 か 2048 を選択
  • DKIM セレクタのプレフィックス: 既定は google

鍵長は 2048 ビットを選ぶのが現代の最低ラインです。RFC 6376 は 1024〜2048 ビットを許容していますが、後継の RFC 8301 は 1024 ビットを「廃止予定」と位置付け、2048 ビット以上を推奨しています。Google Workspace 公式ヘルプも、DNS 提供事業者が対応していれば 2048 ビットを使うよう案内しています。

セレクタのプレフィックスは、特別な理由がなければ既定の google のままで問題ありません。あとで別の送信元(マーケティングツールなど)からも DKIM 署名する予定がある場合に限り、別名を割り当てて鍵を分離する選択肢があります。

表示された TXT レコードをコピーする

設定が終わると、画面に次のような「DNS ホスト名」と「TXT レコードの値」が表示されます。

DNS ホスト名:  google._domainkey
TXT レコードの値:  v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAA...

ここで一度ブラウザを閉じてしまうと再表示までに手間がかかるので、画面を開いたまま DNS 管理画面に移ってください。値は base64 で表現された公開鍵そのもので、長さが 250 文字を超えることが普通にあります(後述の TXT 文字数制限のところで触れます)。

DNS に TXT レコードを登録する

次は DNS 側です。お使いのドメインレジストラ(お名前.com、Xserver Domain、Cloudflare、Google Domains の後継など)の DNS 管理画面にログインします。

DKIM TXT レコードの構造

TXT レコードの追加

レコード追加画面で次のように入力します。

項目
タイプ TXT
ホスト名 / 名前 google._domainkey(管理画面によっては google._domainkey.example.co.jp のようにフルで書く)
値 / コンテンツ v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAA...(管理コンソールの表示をそのまま貼る)
TTL 既定値(3600 など)でよい

ホスト名の指定方法は管理画面によって挙動が違います。ドメイン名を末尾に付けるか、付けないかで迷ったら、既存の TXT レコード(SPF など)と同じ書式に揃えれば間違いありません。間違って google._domainkey.example.co.jp.example.co.jp のように二重になっているケースが、現場では時々見つかります。

255 文字を超える鍵をどう貼るか

DNS の TXT レコードは、1 つの文字列につき 255 文字までという仕様上の制限があります(RFC 1035)。2048 ビット鍵の公開鍵文字列はこれを超えるため、多くの DNS 管理画面では自動的に分割されます。

レジストラによっては、自動分割せず1行に貼ることを要求する画面もあります。その場合は、ダブルクオートで区切って次のように複数の文字列として登録します。

"v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQ..." "abcdefg...省略...XYZ" "残り部分..."

DNS サーバー側はクオートで区切られた複数文字列を結合して1つの TXT 値として返すため、検証時には1つの長い文字列として扱われます。手作業で改行を入れたり、文字を削ったりしないこと。1文字でも欠けると公開鍵として無効になります。

「認証を開始」ボタンで完了する

DNS の登録が終わったら、Google Workspace 管理コンソールの「メールの認証」画面に戻ります。

そこには「認証を開始」というボタンが残っています。これを押すと、Google 側が DNS を見に行き、登録した公開鍵を確認してから署名を開始します。この一押しが抜けていると DKIM は動きません。Google Workspace の DKIM トラブルで最も多い原因がここで、「鍵を作って DNS に貼った段階で完了したと思い込み、何ヶ月も気付かない」というケースをよく見かけます。

ボタンを押した直後は「DNS の伝播待ち」という状態になることがあります。Google 公式ヘルプでも、DKIM が実際に機能するまで最大 48 時間かかると案内されています。実際には数分〜数時間で反映されるケースがほとんどですが、押した直後に Gmail で確認して dkim=neutral のままでも、しばらく待ってから再確認してください。

ステータス表示が「DKIM でメールを認証しています」(英語版では Authenticating email with DKIM)に切り替われば設定完了です。

動作確認|dig / Gmail ヘッダー / 管理画面の3つで見る

設定が反映されているかは、必ず3つの経路で確認します。

DKIM 動作確認の3つの経路

経路1|dig で公開鍵が見えるか

ターミナルから次のコマンドを実行します。

dig TXT google._domainkey.example.co.jp +short

v=DKIM1; k=rsa; p=... で始まる値が返ってくれば、DNS 側は正しく公開できています。何も返ってこない場合は、TXT レコードのホスト名(プレフィックスとドメインの組み合わせ)を疑ってください。なお、コマンドラインが手元にない場合は Google が提供している管理者向けの Dig ツール(Admin Toolbox)からも同じ確認ができます。

経路2|Gmail のヘッダーで dkim=pass を確認

最も重要な確認です。自社ドメインから Gmail 宛にテストメールを送り、受信したメッセージを開いて「メッセージのソースを表示」を選びます。Authentication-Results という見出しの下に、次のような行があれば成功です。

Authentication-Results: mx.google.com;
       dkim=pass header.i=@example.co.jp header.s=google

dkim=pass の後ろに自社ドメインが表示され、header.s=google でセレクタが一致していることを確認します。dkim=neutraldkim=fail が出ているときは、DNS 反映待ちか、TXT 値の貼り間違いか、「認証を開始」ボタンの押し忘れのいずれかである可能性が高いです。

経路3|管理コンソールのステータス表示

「メールの認証」画面のステータス欄が「DKIM でメールを認証しています」になっているかを確認します。「未認証」や「DNS が見つかりません」と出ていれば、DNS の伝播待ちか、ホスト名の指定ミスです。

よくあるつまずきと解消法

「認証を開始」ボタンの押し忘れ

繰り返しになりますが、最頻出の原因です。DNS にレコードがある=DKIM が動いている、ではありません。鍵生成と DNS 登録の後、必ず管理コンソールに戻って認証を開始してください。

TXT レコードの分割ミス

255 文字を超える公開鍵を、DNS 管理画面の都合で切り詰めてしまったり、改行コードが混入したりすると、公開鍵として読めなくなります。dig TXT google._domainkey.<ドメイン> +short で取得した値を、管理コンソールの表示と1文字単位で照合するのが確実です。

セカンダリドメインを忘れている

Google Workspace に複数ドメインを登録している場合、DKIM はドメインごとに個別設定です。プライマリドメインで設定したつもりが、別ドメインから送信されているメールには署名が付かず、Gmail 送信者ガイドラインの「すべての送信者は SPF または DKIM を設定」要件を満たせない、という事故が起こりえます。送信に使うドメイン全てで設定状況を点検してください。

DKIM だけでは「なりすまし」を完全には防げない

DKIM は「改ざんされていない本物の Google Workspace 由来のメール」を示すだけで、From 欄のドメインを偽装した別のサーバーから送られた偽メールを、受信側で確実に弾くには DMARC のアラインメントが必要です。DMARC の設定手順はDMARC設定方法を徹底解説で、ポリシー強化の進め方はDMARCとは何かで解説しています。

まずは自社の DKIM 設定を確認しましょう

要点を整理します。

  • Google Workspace の DKIM は「鍵生成」「DNS 登録」「認証を開始」の3段階で完了する
  • 鍵長は 2048 ビット、セレクタのプレフィックスは既定の google で問題ない
  • 設定確認は dig / Gmail の Authentication-Results / 管理コンソールのステータス、の3つで多面的に
  • 複数ドメインを使っている場合は、すべてのドメインで個別に同じ手順を踏む

無料のドメイン診断ツールに自社ドメインを入力すると、DKIM の公開鍵が DNS から見えているか、SPF や DMARC とあわせてどの状態にあるかをまとめて確認できます。「セレクタ名が分からない」「設定したはずが反映されていない」という場合は、お問い合わせフォームから状況をお知らせください。設定内容を整理し、必要な手順を専門家がわかりやすくお伝えします。

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