次の方法で共有


OpenID Connect を外部 ID プロバイダーとして追加する (プレビュー)

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

カスタム構成の OpenID Connect (OIDC) ID プロバイダーとのフェデレーションを設定することで、ユーザーがフェデレーション外部プロバイダーの既存のアカウントを使用してアプリケーションにサインアップしてサインインできるようになります。 この OIDC フェデレーションにより、OpenID Connect プロトコルに準拠するさまざまなプロバイダーとの認証が可能になります。

ユーザー フローのサインイン オプションに OIDC ID プロバイダーを追加すると、ユーザーはサインアップして、そのユーザー フローで定義されている登録済みアプリケーションにサインインできます。 これは、OIDC ID プロバイダーの資格情報を使用して行うことができます。 (顧客向けの認証方法と ID プロバイダー の詳細については、こちらを参照してください)。

前提 条件

OpenID Connect ID プロバイダーを設定する

ユーザーを ID プロバイダーにフェデレーションできるようにするには、まず、Microsoft Entra ID テナントからのフェデレーション要求を受け入れるように ID プロバイダーを準備する必要があります。 そのためには、リダイレクト URI を設定し、認識されるように ID プロバイダーに登録する必要があります。

次の手順に進む前に、次のようにリダイレクト URI を設定します。

https://<tenant-subdomain>.ciamlogin.com/<tenant-ID>/federation/oauth2

https://<tenant-subdomain>.ciamlogin.com/<tenant-subdomain>.onmicrosoft.com/federation/oauth2

ID プロバイダーでのサインインとサインアップを有効にする

ID プロバイダーのアカウントを持つユーザーのサインインとサインアップを有効にするには、Microsoft Entra ID をアプリケーションとして ID プロバイダーに登録する必要があります。 この手順により、ID プロバイダーはフェデレーションのために Microsoft Entra ID を認識してトークンを発行できます。 設定されたリダイレクト URI を使用してアプリケーションを登録します。 ID プロバイダー構成の詳細を保存して、Microsoft Entra External ID テナントにフェデレーションを設定します。

フェデレーション設定

Microsoft Entra External ID で ID プロバイダーとの OpenID 接続フェデレーションを構成するには、次の設定が必要です。

  • 既知のエンドポイント
  • 発行者 URI
  • クライアント ID
  • クライアント認証方法
  • クライアント シークレット
  • スコープ
  • 応答の種類
  • クレームマッピング (省略可能)
    • サブ
    • 名前
    • 指定された名前
    • 電子メール
    • メールが確認されました
    • 電話番号
    • 電話番号が確認されました
    • 番地
    • 地域
    • 地域
    • 郵便番号

管理センターで新しい OpenID 接続 ID プロバイダーを構成する

ID プロバイダーを構成した後、この手順では、Microsoft Entra 管理センターで新しい OpenID 接続フェデレーションを構成します。

  1. 少なくとも 外部 ID プロバイダー管理者として、Microsoft Entra 管理センター にサインインします。

  2. [ID]>[外部 ID]>[すべての ID プロバイダー] の順に移動します。

  3. カスタム」タブを選択し、「新しい>Open ID Connectを追加」を選択します。

    新しいカスタム ID プロバイダーを追加するスクリーンショット。

  4. ID プロバイダーの次の詳細を入力します。

    • 表示名: サインインおよびサインアップ フロー中にユーザーに表示される ID プロバイダーの名前。 たとえば、IdP 名 でサインインするか、IdP 名でサインアップします。

    • 既知のエンドポイント (メタデータ URI とも呼ばれます) は、ID プロバイダーの構成情報 を取得 OIDC 検出 URI です。 既知の場所から取得する応答は、OAuth 2.0 エンドポイントの場所を含む JSON ドキュメントです。 メタデータ ドキュメントには、少なくとも、issuerauthorization_endpointtoken_endpointtoken_endpoint_auth_methods_supportedresponse_types_supportedsubject_types_supportedjwks_uriの各プロパティが含まれている必要があることに注意してください。 詳細については、OpenID Connect Discovery の仕様 参照してください。

    • OpenID 発行者 URI: アプリケーションのアクセス トークンを発行する ID プロバイダーのエンティティ。 たとえば、OpenID Connect を使用して Azure AD B2Cとのフェデレーションを する場合、発行者 URI は"発行者" タグを持つ探索 URI から取得でき、のようになります。 発行者 URI は、https スキームを使用する大文字と小文字が区別される URL で、スキーム、ホスト、および必要に応じて、ポート番号とパスのコンポーネントが含まれており、クエリまたはフラグメント コンポーネントはありません。

    手記

    他の Microsoft Entra テナントを外部 ID プロバイダーとして構成することは現在サポートされていません。 その結果、発行者 URI の microsoftonline.com ドメインは受け入れまれません。

    • クライアント IDクライアント シークレット は、登録されているアプリケーション サービスを識別するために ID プロバイダーが使用する識別子です。 client_secret認証が選択されている場合は、クライアント シークレットを指定する必要があります。 private_key_jwtが選択されている場合は、プロパティ jwks_uriを介して取得可能な OpenID プロバイダー メタデータ (既知のエンドポイント) に秘密キーを指定する必要があります。
    • クライアント認証 は、トークン エンドポイントを使用して ID プロバイダーで認証するために使用するクライアント認証方法の種類です。 client_secret_postclient_secret_jwt、および private_key_jwt の認証方法がサポートされています。

    手記

    セキュリティの問題の可能性があるため、client_secret_basicクライアント認証方法はサポートされていません。

    • スコープ では、ID プロバイダーから収集する情報とアクセス許可 (openid profileなど) を定義します。 ID プロバイダーから ID トークンを受信するには、OpenID Connect 要求にスコープ内の openid スコープ値が含まれている必要があります。 その他のスコープは、スペースで区切って追加できます。 profileemailなど、使用可能な他のスコープを確認するには、OpenID Connect のドキュメント を参照してください。
    • 応答の種類 は、ID プロバイダーの authorization_endpoint への最初の呼び出しで返される情報の種類を示します。 現時点では、code 応答の種類のみがサポートされています。 現時点では、id_tokentoken はサポートされていません。
  5. [次へ: 要求マッピング] を選択して要求マッピングを構成するか、[確認と作成] を選択して ID プロバイダーを追加できます。

手記

Microsoft は、暗黙的な許可フローまたは ROPC フローを使用 "しない" ことをお勧めします。 そのため、OpenID Connect 外部 ID プロバイダーの構成では、これらのフローはサポートされません。 SPA をサポートする推奨される方法は、OIDC フェデレーション構成でサポートされている OAuth 2.0 Authorization コード フロー (PKCE を使用) です。

OIDC ID プロバイダーをユーザー フローに追加する

この時点で、OIDC ID プロバイダーは Microsoft Entra ID で設定されていますが、どのサインイン ページでもまだ使用できません。 OIDC ID プロバイダーをユーザー フローに追加するには:

  1. 外部テナントで、[ID]>[外部 ID]>[ユーザー フロー] の順に移動します。

  2. OIDC ID プロバイダーを追加するユーザー フローを選択します。

  3. [設定] で、ID プロバイダーを選択します。

  4. その他の ID プロバイダーでは、OIDC ID プロバイダーを選択します。

    IdP リストのカスタム OIDC プロバイダーのスクリーンショット。

  5. [保存] を選択します。