分散化識別子 (DID) のドメインの所有権を確認する
注意
Azure Active Directory の検証可能な資格情報が Microsoft Entra 検証済み ID になり、Microsoft Entra 製品ファミリの一部になりました。 ID ソリューションの Microsoft Entra ファミリの詳細を確認し、統合 Microsoft Entra 管理センターで作業を開始してください。
前提条件
DID へのドメインの所有権を確認するには、次の作業を完了している必要があります。
- 作業の開始と以降のチュートリアル セットを完了する。
ドメインの所有権を確認し、did-configuration.json ファイルを配布する
DID の所有権を確認するドメインは、概要セクションで定義されています。 ドメインは、コントロールの下のドメインである必要があり、形式は https://www.example.com/
である必要があります。
Azure portal から確認済み ID のページに移動します。
[セットアップ]、[ドメイン所有権の確認] の順に選択し、ドメインの [確認] を選択します。
did-configuration.json
ファイルをコピーまたはダウンロードします。指定した場所で
did-configuration.json
ファイルをホストします。 例: ドメインhttps://www.example.com
を指定した場合、この URLhttps://www.example.com/.well-known/did-configuration.json
でファイルをホストする必要があります。.well-known path
名以外の追加のパスを URL に指定することはできません。did-configuration.json
が .well-known/did-configuration.json URL で公開されている場合は、[検証状態の更新] ボタンを押して確認します。検証のために Microsoft Authenticator による発行または提示をテストします。 Authenticator の [安全でないアプリについて警告する] の設定がオンになっていることを確認します。
注意
既定では、[安全でないアプリについて警告する] がオンになっています。
検証が行われていることを確認する方法
[検証状態の更新] ボタンをクリックすると、ポータルによって did-configuration.json
がパブリック インターネット上で到達可能であることが確認されます。 Microsoft Authenticator は http リダイレクトを受け入れません。 また、https の不使用、不適切な SSL 証明書、パブリックでない URL などのエラーを回避するため、ブラウザーでその URL を要求できることを確認することも検討する必要があります。 ブラウザーから匿名で、または curl
などのツールを介して did-configuration.json
ファイルを要求できず、警告やエラーが発生しない場合、ポータルは [検証状態の更新] ステップを完了できません。
Note
検証状態の更新で問題が発生した場合は、Ubuntu OS を使用しているマシンで curl -Iv https://yourdomain.com/.well-known/did-configuration.json
を実行してトラブルシューティングを行うことができます。 Ubuntu での Linux 用 Windows サブシステムも機能します。 curl が失敗した場合、検証状態の更新は機能しません。
DID のドメイン所有権を確認する必要がある理由
DID は、既存のシステムに固定されていない識別子として始まります。 DID は、ユーザーまたは組織が所有して制御することができるため便利です。 組織とやり取りしているエンティティで DID の所属 ''先'' が認識されていない場合、DID は役に立ちません。
DID をドメインにリンクすることで、最初の信頼問題が解決されます。これにより、任意のエンティティで、DID とドメインの間の関係を暗号で検証できるようになります。
VerifiedID は DID とドメインをどのようにリンクしますか?
VerifiedID でリンクを作成する際には、Well-Known DID 構成の仕様に従います。 検証可能な資格情報サービスは、DID とドメインをリンクします。 このサービスには、DID に指定したドメイン情報が含まれ、以下の既知の構成ファイルを生成します。
VerifiedID により、組織のセットアップ時に指定されたドメイン情報を使用して、DID ドキュメント内にサービス エンドポイントを書き込まれます。 DID を操作するすべてのパーティは、DID により宣言されるドメインが関連付けられることを確認できます。
"service": [ { "id": "#linkeddomains", "type": "LinkedDomains", "serviceEndpoint": { "origins": [ "https://www.contoso.com/" ] } } ]
VerifiedID の検証可能な資格情報サービスによって、ドメインでホストされる準拠している既知の構成リソースが生成されます。 構成ファイルには、ドメインの原点がある DID で署名された credentialType
DomainLinkageCredential
の自己発行された検証可能な資格情報が含まれています。 ルート ドメインの URL に保存されている構成ドキュメントの例を次に示します。{ "@context": "https://identity.foundation/.well-known/contexts/did-configuration-v0.0.jsonld", "linked_dids": [ "jwt..." ] }
ウォレットでのユーザー エクスペリエンス
ユーザーは、発行フローを通過するか、検証可能な資格情報を提示するときに、組織とその DID についてある程度知っておく必要があります。 Microsoft Authenticator により、DID と、その DID ドキュメント内のドメインとの関係が検証され、結果に応じて 2 つの異なるエクスペリエンスがユーザーに提示されます。
確認済みドメイン
Microsoft Authenticator で [検証済み] アイコンが表示される前に、次のいくつかの事項に該当する必要があります。
- SIOP (Self-Issued Open ID) 要求に署名する DID に、リンク ドメインのサービス エンドポイントが必要である。
- ルート ドメインでリダイレクトを使用せず、https を使用する。
- DID ドキュメントに一覧表示されているドメインに、解決可能な既知のリソースがある。
- 既知のリソースの検証可能な資格情報は、Microsoft Authenticator によってフローの開始に使用された SIOP の署名に使用されたものと同じ DID で署名される。
上記のすべてに該当する場合は、Microsoft Authenticator に検証済みのページが表示され、検証されたドメインが含まれます。
未検証のドメイン
上記のいずれかに該当しない場合、Microsoft Authenticator では、ドメインが未検証であることをユーザーに示す警告がページ全体に表示されます。 警告には、ユーザーが危険な可能性があるトランザクションの途中にあり、慎重に進める必要があることが表示されます。 次の理由により、このルートを選びました。
- DID がいずれもドメインに固定されていない。
- 構成が正しく設定されていない。
- ユーザーが操作している DID が悪意のあるものである可能性があり、実際にリンクされているドメインを所有していることを証明できない。
DID をユーザーが認識できるドメインにリンクさせることは、非常に重要です。
DID のリンク ドメインを更新するにはどうすればよいですか?
信頼システムが Web の場合、リンクされたドメインの更新はサポートされていません。 オプトアウトして再オンボードする必要があります。 信頼システムが ION の場合は、ドメイン所有権の確認ステップをやり直してリンク ドメインを更新できます。 DID ドキュメントが新しいドメイン情報で ION ネットワークに更新されるまで、最大で 2 時間かかる場合があります。 変更が公開されるまで、ドメインに対する他の変更はできません。
リンク ドメインの更新が正常に完了したことを確認するにはどうしたらよいですか?
信頼システムが ION の場合、ドメインの変更が ION に公開されると、Microsoft Entra 確認済み ID サービス内のドメイン セクションのステータスに [公開済み] と表示され、ドメインに新しい変更を加えることができるようになります。 信頼システムが Web の場合、Web サーバー上の did-configuration.json ファイルが置き換えられるとすぐに変更点が公開されます。
重要
公開の進行中に、ドメインに変更を加えることはできません。
リンク ドメインのドメインが開発者にとって簡単に
開発者がドメインをリンク ドメインに使用する最も簡単な方法は、Azure Storage の静的 Web サイト機能を使用することです。 ホスト名の一部としてストレージ アカウント名が含まれる以外は、ドメイン名を制御できません。
リンク ドメインに使用するドメインをすばやく設定するには、次の手順に従います。
- Azure Storage アカウントを作成します。 ストレージ アカウントの作成時に、StorageV2 (汎用 v2 アカウント) とローカル冗長ストレージ (LRS) を選択します。
- そのストレージ アカウントに移動し、左側のメニューで [静的 Web サイト] を選択し、静的 Web サイトを有効にします。 [静的 Web サイト] メニュー項目が表示されない場合は、V2 ストレージ アカウントを作成していません。
- 保存後に表示されるプライマリ エンドポイント名をコピーします。 この値はドメイン名です。 これは、
https://<your-storageaccountname>.z6.web.core.windows.net/
のように表示されます。
did-configuration.json
ファイルをアップロードするときは、次の手順を実行します。
- そのストレージ アカウントに移動し、左側のメニューで [コンテナー] を選択します。 次に、
$web
という名前のコンテナーを選択します。 - [アップロード] を選択し、フォルダー アイコンを選択してファイルを見つけます
- アップロードする前に、[詳細設定] セクションを開き、[フォルダーへのアップロード] テキストボックスで
.well-known
を指定します。 - ファイルをアップロードします。
これで、https://<your-storageaccountname>.z6.web.core.windows.net/.well-known/did-configuration.json
のような URL でファイルが一般公開されました。