Share via


Spring Cloud Gateway および API Portal 用に、Microsoft Entra ID を使用してシングル サインオンを設定する

この記事の適用対象:❌ Basic または Standard ✔️ Enterprise

この記事では、OpenID ID プロバイダーとして Microsoft Entra ID を使用し、Spring Cloud Gateway または API Portal 用にシングル サインオン (SSO) を構成する方法を示します。

前提条件

Spring Cloud Gateway または API Portal のために SSO を有効にするには、次の 4 つのプロパティを構成する必要があります。

SSO プロパティ Microsoft Entra の構成
clientId アプリの登録に関するセクションを参照
clientSecret クライアント シークレットの作成に関するセクションを参照
scope スコープの構成に関するセクションを参照
issuerUri 発行者 URI の生成に関するセクションを参照

次の手順で、Microsoft Entra ID 内のプロパティを構成します。

Spring Cloud Gateway または API Portal 用のエンドポイントを割り当てる

まず、次の手順に従って、Spring Cloud Gateway と API portal 用に割り当てられたパブリック エンドポイントを取得する必要があります。

  1. Azure portal 内で、お使いの Enterprise プラン サービス インスタンスを開きます。
  2. 左側のメニューの [VMware Tanzu components](VMware Tanzu コンポーネント) の下にある [Spring Cloud Gateway] または [API portal] を選択します。
  3. [Assign endpoint](エンドポイントの割り当て) の横の [はい] を選択します。
  4. この記事の次のセクションで使用する URL をコピーします。

Microsoft Entra アプリケーションの登録を作成します

次の手順を使用して、アプリケーションを登録して、アプリと Microsoft ID プラットフォームの間に信頼関係を確立します。

  1. [ホーム] 画面で、左側のメニューから [Microsoft Entra ID] を選択します。
  2. [管理][アプリの登録] を選択し、次に [新規登録] を選択します。
  3. [名前] にアプリケーションの表示名を入力し、[サポートされているアカウントの種類] で登録するアカウントの種類を選択します。
  4. [リダイレクト URI (省略可能)][Web] を選択し、テキスト ボックスに上のセクションで取得した URL を入力します。 このリダイレクト URI は、認証後に Microsoft Entra ID によって、お使いのクライアントがリダイレクトされ、セキュリティ トークンが送信される場所です。
  5. [登録] を選択して、アプリケーションの登録を完了します。

Screenshot of how to fill out the Add App Registration screen.

登録が完了すると、[アプリの登録] ページの [概要] 画面に [アプリケーション (クライアント) ID] が表示されます。

アプリの登録後にリダイレクト URI を追加する

次の手順に従って、アプリの登録後にリダイレクト URI を追加することもできます。

  1. アプリケーションの概要から、左側のメニューの [管理] で [認証] を選択します。
  2. [Web] を選択し、[リダイレクト URI] で [URI の追加] を選択します。
  3. 新しいリダイレクト URI を追加し、[保存] を選択します。

Screenshot of adding a redirect URI to the authentication screen.

アプリケーション登録の詳細については、「クイック スタート: アプリケーションをMicrosoft ID プラットフォームに登録する」を参照してください

クライアント シークレットの追加

アプリケーションは、SSO ワークフローでクライアント シークレットを使用して自身を認証します。 次の手順を使用して、クライアント シークレットを追加できます。

  1. アプリケーションの概要から、左側のメニューの [管理] で [証明書とシークレット] を選択します。
  2. [クライアント シークレット] を選択してから、[新しいクライアント シークレット] を選択します。
  3. クライアント シークレットの説明を入力し、有効期限を設定します。
  4. [追加] を選択します。

警告

クライアント シークレットは必ず安全な場所に保存してください。 このページを閉じると、取得できなくなります。 クライアント シークレットは、アプリケーションとしてサインインするときにクライアント ID とともに指定する必要があります。

スコープの構成

SSO の scope プロパティは、JWT ID トークンに含めるスコープのリストです。 多くの場合、これらはアクセス許可と呼ばれます。 ID プラットフォームでは、いくつかの OpenID Connect スコープ (たとえばopenid、、emailprofile 詳細については、Microsoft ID プラットフォームのスコープとアクセス許可の OpenID Connect スコープに関するセクションを参照してください

発行者 URI を構成する

発行者 URI は、発行者 ID としてアサートされる URI です。 たとえば、指定された発行者 URI が https://example.com の場合、OpenID プロバイダー構成要求は https://example.com/.well-known/openid-configuration に対して行われます。

Microsoft Entra ID の発行者 URI は <authentication-endpoint>/<Your-TenantID>/v2.0 のようになります。 <authentication-endpoint> をクラウド環境の認証エンドポイント (グローバル Azure の https://login.microsoftonline.com など) に置き換え、<Your-TenantID> をアプリケーションが登録されたディレクトリ (テナント) ID に置き換えます。

SSO の構成

Microsoft Entra アプリケーションを構成したら、これらの手順に従い、Spring Cloud Gateway または API Portal の SSO プロパティを設定してください。

  1. 左側のメニューの [VMware Tanzu components](VMware Tanzu コンポーネント) の下にある [Spring Cloud Gateway] または [API portal] を選択してから、[構成] を選択します。
  2. ScopeClient IdClient SecretIssuer URI を適切なフィールドに入力します。 スコープを複数指定するときはコンマで区切ります。
  3. [保存] を選択して SSO 構成を有効にします。

Note

SSO プロパティを構成した後は、必ず ssoEnabled=true を設定して Spring Cloud Gateway ルートの SSO を有効にしてください。 詳細については、ルートの構成に関するセクションを参照してください。

次のステップ