DNSレコードの自動設定をするDomain Connectという仕組みの標準化がIETFで行われています。
未だにDNSレコードを手動設定する機会があります。例えば
SaaSとDNS管理が別サービスであることも多いため、自動設定が出来ないケースもあります。
そこで、Domain Connectはサービスプロバイダー(SaaS)と、DNSプロバイダーが連携し、必要なDNSレコードを自動設定できるようになっています。
すでに幾つかのサービスでは利用できるようになっています
今回は、そのプロトコル部分について簡単に紹介する。
同期フロー
結構長いが、ユーザ(ブラウザ)を介してサービスプロバイダーに要求を行い、DNSプロバイダーのディスカバリ(エンドポイント情報の取得)、必要なパラメータの送信を行っている。順に見ていく (手順10,11は省略する)


- 1. ユーザーが、サービスプロバイダーにドメイン名を入力する
- 2. サービスプロバイダーは入力されたドメインにおいて 『 _domainconnect.(入力されたドメイン) 』のTXTレコードを引く
- 3. DNSプロパイダーは、(2)の問い合わせに対して、Domain Connect用APIサーバのURLを返す
- 4. サービスプロバイダーは URL を使用して、DNSプロバイダーにDomain Connect 設定を開始する
- 5. DNSプロバイダーは、API エンドポイントに関する情報を含む設定を返す
- 6. サービスプロバイダーは、DNSプロバイダーがサービスに必要な特定のテンプレートをサポートしているかどうかを確認する
- 7. DNSプロバイダーは、要求されたテンプレートをサポートしているかどうかを確認し、応答する
- 8. サービスプロバイダーは、DNSプロバイダーのDomain Connectサービスにつながるリンクをユーザーに提供する
- 9. ユーザーがリンクに移動し、ユーザーエージェントは DNSプロバイダーの Web サイトにアクセスする
- 12~13. DNS プロバイダーはユーザーを認証します
- 14. DNSプロバイダーは、ユーザーがドメインの DNSゾーンを変更する権限を持っていることをチェックする
- 15. DNSプロバイダーは、DNS ゾーンに変更を適用することへの同意をユーザーに求める
- 16. ユーザーは、DNSレコードの変更に対する同意を示す
- 17. DNS プロバイダーはゾーンに変更を適用する
- 18. DNSプロバイダーは、ユーザーをサービス ロバイダーにリダイレクトするか、Webページの処理としては終わりとする
- 19~20. サービスプロバイダーは、DNSレコードを照会して変更が適用されたことを確認する
- 21. サービスプロバイダーは、ドメインがサービスに正常に接続されたことをユーザーに示し完了する
テンプレートについて
プロトコルのやり取りの中に"テンプレート"というものが登場します。
テンプレートはサービスプロパイダの必要な情報が記載されたものです。
この中には、サービスプロパイダが必要としているDNSレコードも記載されており、こと変数 (%verifytxt%) がプロトコル中で注入され、DNSプロパイダがDNSレコードを変更するということになります。
https://github.com/Domain-Connect/Templates/blob/master/google.com.domain-verification.json
{
"providerId":"google.com",
"providerName":"Google",
"serviceId":"domain-verification",
"serviceName":"Domain Verification",
"sharedServiceName": true,
"version": 3,
"logoUrl":"",
"description":"Enables a domain to work with Google",
"variableDescription":"Unique verification code provided for purpose of verification",
"multiInstance": true,
"syncBlock": false,
"syncPubKeyDomain": "google.com",
"records":[
{
"groupId": "verification",
"type": "TXT",
"host": "@",
"data": "%verifytxt%",
"ttl": 3600
}
]
}
標準化動向
IETFでは先述の通り、Domain Connect Protocolの標準化が進められています。現在は、Working Groupの立ち上げが行われている最中になります。
Draft自体は改版を重ねているところになるので、WGになりしだい標準化に向けて進むものと思われます。
datatracker.ietf.org