次の方法で共有


外部テナントのアプリに対してカスタム URL ドメインを有効にする (プレビュー)

適用対象: 灰色の X 記号がある白い円。 従業員テナント 白いチェック マーク記号がある緑の円。 外部テナント (詳細情報)

この記事では、外部テナントの Microsoft Entra 外部 ID アプリケーションに対してカスタム URL ドメインを有効にする方法について説明します。 カスタム URL ドメインを使用すると、Microsoft の既定のドメイン名ではなく、独自のカスタム URL ドメインで、アプリケーションのサインイン エンドポイントをブランド化できます。

重要

現在、この機能はプレビュー段階にあります。 ベータ版、プレビュー版、その他の一般提供されていない Azure の機能とサービスに適用される法律条項については、オンライン サービスのユニバーサル ライセンス条項に関するページを参照してください。

前提条件

ステップ 1:カスタム ドメイン名をテナントに追加する

外部テナントを作成する場合、テナントの初期ドメイン名は、<ドメイン名>.onmicrosoft.com になります。 初期ドメイン名は変更したり削除したりできませんが、カスタム ドメイン名を追加することはできます。 以下の手順では、必ず、Microsoft Entra 管理センターの "外部" テナント構成にサインインしてください。

  1. 少なくともドメイン名管理者の権限で Microsoft Entra 管理センターにサインインします。

  2. "外部" テナントを選択します。上部メニューで [設定] アイコンを選択し、外部テナントに切り替えます。

  3. [ID]>[設定]>[ドメイン名]>[カスタム ドメイン名] の順に移動します。

  4. カスタム ドメイン名を Microsoft Entra ID に追加します。

  5. ドメイン レジストラーに DNS 情報を追加します。 カスタム ドメイン名をテナントに追加した後、ドメインの DNS TXT または MX レコードを作成します。 ドメインのこの DNS レコードを作成することで、ドメイン名の所有権が検証されます。

    login.contoso.com および account.contoso.com の TXT レコードの例を次に示します。

    名前 (ホスト名) 種類 データ
    ログイン (login) TXT MS=ms12345678
    account TXT MS=ms87654321

    TXT レコードは、ドメインのサブドメインまたはホスト名 (たとえば、contoso.com ドメインの "ログイン" 部分) に関連付ける必要があります。 ホスト名が空または @ の場合、Microsoft Entra ID は、追加したカスタム ドメイン名を確認できません。

    ヒント

    カスタム ドメイン名は、GoDaddy などの一般公開されている DNS サービスを使用して管理できます。 DNS サーバーがない場合、Azure DNS ゾーンまたは App Service ドメインを使用できます。

  6. カスタム ドメイン名を検証します。 使用する予定の各サブドメインまたはホスト名を確認します。 たとえば、login.contoso.comaccount.contoso.com でサインインできるようになるためには、最上位ドメイン contoso.com だけでなく、両方のサブドメインを検証する必要があります。

    重要

    ドメインが検証された後で、作成した DNS TXT レコードを削除します。

ステップ 2: カスタム ドメイン 名をカスタム URL ドメイン に関連付ける

外部テナントにカスタム ドメイン名を追加して確認した後、カスタム ドメイン名をカスタム URL ドメインに関連付けます。

  1. Microsoft Entra 管理センターにサインインします。

  2. "外部" テナントを選択します。上部メニューで [設定] アイコンを選択し、外部テナントに切り替えます。

  3. [ID]>[設定]>[ドメイン名]>[カスタム URL ドメイン (プレビュー)] の順に移動します。

  4. [カスタム URL の追加] を選択します。

  5. [カスタム URL の追加] ペインで、手順 1 で入力したカスタム ドメイン名を選択します。

    [カスタム URL の追加] ペインを示すスクリーンショット。

  6. [追加] を選択します。

ステップ 3: 新規 Azure Front Door インスタンスを作成する

Azure Front Door を作成するには、こちらの手順に従います。

  1. Azure portal にサインインします。

  2. Azure Front Door サブスクリプションを含むテナントを選択します。上部のメニューで [設定] アイコンを選択し、Azure Front Door サブスクリプションを含むテナントに切り替えます。

  3. Front Door プロファイルを作成する - 簡易作成」の手順に従って、次の設定を使用してテナントの Front Door を作成します。 [キャッシュ] および [WAF ポリシー] 設定は空のままにします。

    Key
    サブスクリプション Azure サブスクリプションを選択します。
    Resource group 既存のリソース グループを選択するか、新しいものを作成します。
    Name プロファイルに ciamazurefrontdoor などの名前を付けます。
    レベル Standard と Premium のいずれかのレベルを選択します。 Standard レベルは、コンテンツ配信に最適化されています。 Premium レベルは、Standard レベルをベースに、セキュリティにも重点が置かれています。 レベルの比較に関する記事をご覧ください。
    エンドポイント名 グローバルに一意のエンドポイント名 (ciamazurefrontdoor など) を入力します。 エンドポイントのホスト名が自動的に生成されます。
    配信元の種類 [Custom] を選択します。
    配信元のホスト名 <tenant-name>.ciamlogin.com」と入力します。 <tenant-name> をテナントの名前に置き換えます (例: contoso.ciamlogin.com)。
  4. Azure Front Door リソースが作成されたら、[概要] を選択し、後の手順で使用するために、エンドポイントのホスト名をコピーします。 これは、ciamazurefrontdoor-ab123e.z01.azurefd.net のように表示されます。

  5. 配信元のホスト名配信元のホスト ヘッダーの値が同じであることを確認します。

    1. [設定][配信元グループ] を選択します。
    2. 一覧から配信元グループ (default-origin-group など) を選択します。
    3. 右側のウィンドウで contoso.ciamlogin.com など配信元のホスト名を選択します。
    4. [配信元の更新] ウィンドウで、ホスト名配信元ホスト ヘッダーを同じ値に更新します。

    [ホスト名] フィールドと [配信元のホスト ヘッダー] フィールドを示すスクリーンショット。

ステップ 4: Azure Front Door でカスタム URL ドメインを設定する

この手順では、手順 1 で登録したカスタム URL ドメインを Azure Front Door に追加します。

4.1. CNAME DNS レコードを作成する

カスタム URL ドメインを追加するには、ドメイン プロバイダーで正規名 (CNAME) レコードを作成します。 CNAME レコードは、ソース ドメイン名を宛先ドメイン名 (別名) にマップする DNS レコードの一種です。 Azure Front Door では、ソース ドメイン名はカスタム URL ドメイン名であり、宛先ドメイン名は手順 2 で構成した Front Door の既定のホスト名です (例: ciamazurefrontdoor-ab123e.z01.azurefd.net)。

作成した CNAME レコードが Front Door によって検証されると、ソース カスタム URL ドメイン (login.contoso.com など) 宛てのトラフィックは、宛先として指定された既定の Front Door フロントエンド ホスト (contoso-frontend.azurefd.net など) にルーティングされます。 詳細については、「Front Door にカスタム ドメインを追加する」を参照してください。

カスタム ドメインの CNAME レコードを作成するには:

  1. カスタム ドメインのドメイン プロバイダーの Web サイトにサインインします。

  2. プロバイダーの資料を調べるか、 [ドメイン名][DNS] 、または [ネームサーバー管理] という名前のつけられた Web サイトの領域を探して、DNS レコードを管理するためのページを見つけます。

  3. カスタム URL ドメインの CNAME レコード エントリを作成し、次の表に示すようにフィールドに入力します。

    ソース Type 宛先
    <login.contoso.com> CNAME contoso-frontend.azurefd.net
    • ソース: カスタム URL ドメインを入力します (例: login.contoso.com)。

    • 型: 「CNAME」と入力します。

    • 宛先: 手順 2 で作成した既定の Front Door フロントエンド ホストを入力します。 これは、<ホスト名>.azurefd.net の形式である必要があります (例: contoso-frontend.azurefd.net)。

  4. 変更を保存。

4.2. カスタム URL ドメインを Front Door に関連付ける

  1. Azure portal ホームで、Azure Front Door リソース ciamazurefrontdoor を検索して選択し、開きます。

  2. 左側のメニューの [設定] で、[ドメイン] を選択します。

  3. [ドメインの追加] を選択します。

  4. [DNS の管理] で、[All other DNS services](その他のすべての DNS サービス) を選択します。

  5. [カスタム ドメイン] で、カスタム ドメイン (login.contoso.com など) を入力します。

  6. 他の値は既定値のままにし、[追加] を選択します。 入力したカスタム ドメインが一覧に追加されます。

  7. 先ほど追加したドメインの [検証の状態] で、[保留中] を選択します。 TXT レコード情報を含むペインが開きます。

    1. カスタム ドメインのドメイン プロバイダーの Web サイトにサインインします。

    2. プロバイダーの資料を調べるか、 [ドメイン名][DNS] 、または [ネームサーバー管理] という名前のつけられた Web サイトの領域を探して、DNS レコードを管理するためのページを見つけます。

    3. 新しい TXT DNS レコードを作成し、次のフィールドに入力します。

      • 名前: _dnsauth.contoso.com のサブドメイン部分のみを入力します (例: _dnsauth)
      • : TXT
      • : たとえば、75abc123t48y2qrtsz2bvk......

      TXT DNS レコードを追加すると、Front Door リソースの [検証の状態] が最終的に [保留中] から [承認済み] に変わります。 変更を表示するために、ページを最新の情報に更新することが必要な場合があります。

  8. Azure portal。 追加したドメインの [エンドポイントの関連付け] で、[関連付けなし] を選択します。

  9. [エンドポイントの選択] で、ドロップダウンからホスト名エンドポイントを選択します。

  10. [ルートの選択] の一覧で、[default-route](既定のルート) を選択し、[関連付け] を選択します。

4.3. ルートを有効にする

[default-route](既定のルート) では、クライアントから Azure Front Door にトラフィックがルーティングされます。 その後、Azure Front Door により、構成を使用して外部テナントにトラフィックが送信されます。 既定のルートを有効にするには、次の手順に従います。

  1. [フロント ドア マネージャー] を選択します。

  2. [既定のルート] を追加して有効にするには、まず Front Door マネージャーのエンドポイントの一覧からエンドポイントを展開します。 次に、[default-route](既定のルート) を選択します。

  3. [ルートを有効にする] チェック ボックスをオンにします。

  4. [更新] を選んで変更を保存します。

カスタム URL メインのテスト

  1. Microsoft Entra 管理センターにサインインします。

  2. "外部" テナントを選択します。上部メニューで [設定] アイコンを選択し、外部テナントに切り替えます。

  3. [外部 ID] で、[ユーザー フロー] を選択します。

  4. ユーザー フローを選択して、 [ユーザー フローの実行] を選択します。

  5. [アプリケーション] で、以前に登録した webapp1 という名前の Web アプリケーションを選択します。 [応答 URL]https://jwt.ms と表示されます。

  6. [ユーザー フロー エンドポイントを実行] の URL をコピーします。

    [ユーザー フローの実行] オプションを示すスクリーンショット。

  7. カスタム ドメインを使用したサインインをシミュレートするには、Web ブラウザーを開き、コピーした URL を使用します。 ドメイン (<テナント名>.ciamlogin.com) を自分のカスタム ドメインに置き換えます。

    たとえば、次の表記の代わりに、

    https://contoso.ciamlogin.com/contoso.onmicrosoft.com/oauth2/v2.0/authorize?p=B2C_1_susi&client_id=00001111-aaaa-2222-bbbb-3333cccc4444&nonce=defaultNonce&redirect_uri=https%3A%2F%2Fjwt.ms&scope=openid&response_type=id_token&prompt=login
    

    を使う代わりに、

    https://login.contoso.com/contoso.onmicrosoft.com/oauth2/v2.0/authorize?p=B2C_1_susi&client_id=00001111-aaaa-2222-bbbb-3333cccc4444&nonce=defaultNonce&redirect_uri=https%3A%2F%2Fjwt.ms&scope=openid&response_type=id_token&prompt=login
    
  8. サインイン ページが正しく読み込まれることを確認します。 次に、ローカル アカウントでサインインします。

アプリケーションの構成

カスタム URL ドメインを構成してテストしたら、既定のドメインではなくカスタム URL ドメインをホスト名とする URL を読み込むように、アプリケーションを更新します。

カスタム URL ドメイン統合は、外部 ID をユーザー フローを使用してユーザーを認証する認証エンドポイントに適用されます。 これらのエンドポイントの形式は次のとおりです。

  • https://<custom-url-domain>/<tenant-name>/v2.0/.well-known/openid-configuration

  • https://<custom-url-domain>/<tenant-name>/oauth2/v2.0/authorize

  • https://<custom-url-domain>/<tenant-name>/oauth2/v2.0/token

置換前のコード:

  • カスタム URL ドメイン を自分のカスタム URL ドメインに置き換える
  • tenant-name を自分のテナント名またはテナント ID に置換

SAML サービス プロバイダーのメタデータは、次の例のようになります。

https://custom-url-domain-name/tenant-name/Samlp/metadata

(省略可能) テナント ID を使用する

URL の外部テナント名を自分のテナント ID の GUID に置き換えると、URL 内の "onmicrosoft.com" へのすべての参照を削除できます。 テナント ID の GUID は、Azure portal の[概要] ページまたは Microsoft Entra 管理センターで確認できます。 たとえば、https://account.contosobank.co.uk/contosobank.onmicrosoft.com/https://account.contosobank.co.uk/<tenant-ID-GUID>/ に変更します。

テナント名の代わりにテナント ID を使用する場合は、ID プロバイダーの OAuth リダイレクト URI をそれに合わせて更新してください。 テナント名の代わりにテナント ID を使用する場合、有効な OAuth リダイレクト URI は、次の例のようになります。

https://login.contoso.com/00001111-aaaa-2222-bbbb-3333cccc4444/oauth2/authresp 

(省略可能) Azure Front Door の高度な構成

Azure Front Door の高度な構成 (Azure Web Application Firewall (WAF) など) を使用できます。 Azure WAF では、一般的な悪用や脆弱性からの Web アプリケーションの一元的な保護が提供されます。

カスタム ドメインを使用するときは、次の点を考慮してください。

  • WAF ポリシーは、Azure Front Door プロファイルと同じレベルに配置する必要があります。 Azure Front Door で使用する WAF ポリシーを作成する方法の詳細については、WAF ポリシーの構成に関する記事を参照してください。
  • WAF で管理される規則の機能は、擬陽性を引き起こし、正当な要求の通過を妨げる可能性があるため、公式にはサポートされていません。したがって、WAF カスタム規則を使用するのは、必要な場合のみにしてください。

トラブルシューティング

  • ページが見つかりませんというメッセージ。 カスタム URL ドメインでサインインしようとすると、HTTP 404 エラー メッセージが表示されます。 この問題は、DNS 構成または Azure Front Door バックエンド構成に関連している可能性があります。 次の手順を試してみてください。

    • カスタム URL ドメインがテナントに登録されていて、正常に検証されていることを確認します。
    • カスタム ドメインが正しく構成されていることを確認します。 カスタム ドメインの CNAME レコードは、Azure Front Door の既定のフロントエンド ホスト (例: contoso-frontend.azurefd.net) をポイントしていなければなりません。
  • サービスは現在利用できませんというメッセージ。 カスタム URL ドメインでサインインしようとすると、"サービスは現在利用できません。すべてのサービスをできるだけ早く復元できるように取り組んでおります。しばらくしてからもう一度確認してください。" というエラー メッセージが表示されます。この問題は、Azure Front Door ルート構成に関連している可能性があります。 [既定のルート]の状態を確認します。 無効になっている場合は、ルートを有効にします

  • リソースが削除されたか、名前が変更されたか、または一時的に利用できません。 カスタム URL ドメインでサインインしようとすると、"お探のリソースは削除されたか、名前が変更されたか、または一時的に利用できません" というエラー メッセージが表示されます。 この問題は、Microsoft Entra カスタム ドメインの検証に関連している可能性があります。 カスタム ドメインがテナントに登録されていて、正常に検証されていることを確認します。

  • エラー コード 399265: RoutingFromInvalidHost。 このエラー コードは、テナントが、検証されていないドメインから要求を行おうとしたときに表示されます。 必ず、DNS レコードに TXT レコードの詳細を追加してください。 その後、もう一度カスタム ドメイン名を確認してください。

  • エラー コード 399280: InvalidCustomUrlDomain。 このエラー コードは、テナントが、カスタム URL ドメインではないドメインから要求を行おうとしたときに表示されます。 必ず、カスタム ドメイン名をカスタム URL ドメインに関連付けてください。

次のステップ

外部 ID 用のアプリをビルドするためのサンプル ガイドとチュートリアルをすべての参照してください。