はじめに
とある案件にて、Google Workspace の Google グループ機能を利用して、お客様からのお問い合わせ用のサブドメインを利用したメーリングリストの作成を行いました。
その際に、メール送信のセキュリティ向上のため、DKIM(TXT)レコードを Cloud DNS に登録しようとしたところ、エラーで設定できませんでした。
今回は、そのお話について書いていきます。
補足
なお、ドメインはクライアント側のドメインレジストラで管理されており、サブドメインの DNS 管理のみを Cloud DNS に委任されている状態でした。
具体的に、Cloud DNS 側でサブドメインの DNS ゾーンを作成時に発行されたネームサーバー(NSレコード)をクライアント側のドメインレジストラに登録することで、サブドメインの DNS 管理を Cloud DNS に委任しています。
DKIM レコードとは
詳細な説明は省きますが、メール受信サーバー側で、送信されたメールが改ざんされていないことを検証するために必要な TXT レコードになります。
エラーの内容
Google Workspace 上で発行されたDKIMレコードをエラーに記載の形式で設定しているにも関わらず、レコードセットの作成ができませんでした。
設定した TXT データは以下の通りです。サンプルデータのため、一部実際の値から変更しています。
"v=DKIM1; k=rsa; p=abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz"
方策
Google Cloud の公式ドキュメントを確認すると、以下のような記載がありました。
TXT レコードには 1 つ以上のテキスト文字列を含めることができ、各文字列の最大長は 255 文字です。レコードデータが 255 バイトを超える場合は、レコードを 255 バイトの文字列に分割し、各文字列を引用符で囲みます(例: "String one 255 bytes" "String two 255 bytes")。
TXT レコードに設定可能な最大文字数は255文字で、255文字を超える場合は255文字ごとに引用符(ダブルクォーテーション)で囲む必要があるようです。
以下のような TXT データに変更することで、エラーを解決することができました。
"v=DKIM1;" "k=rsa;" "p=abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrs" "tuvwxyz"
おわりに
今回、Google 検索や生成AIで調査してもなかなか適切な情報が見当たらなかったため、改めて一次情報である公式ドキュメントを確認する重要性について再確認することができました。
どなたかの参考になれば、幸いです。
