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 が有効な、Enterprise プランのインスタンス。 詳しくは、「クイックスタート: Enterprise プランを使用してアプリをビルドし Azure Spring Apps にデプロイする」をご参照ください。
- Microsoft Entra アプリケーションを管理するのに十分なアクセス許可。
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 用に割り当てられたパブリック エンドポイントを取得する必要があります。
- Azure portal 内で、お使いの Enterprise プラン サービス インスタンスを開きます。
- 左側のメニューの [VMware Tanzu components](VMware Tanzu コンポーネント) の下にある [Spring Cloud Gateway] または [API portal] を選択します。
- [Assign endpoint](エンドポイントの割り当て) の横の [はい] を選択します。
- この記事の次のセクションで使用する URL をコピーします。
Microsoft Entra アプリケーションの登録を作成します
次の手順を使用して、アプリケーションを登録して、アプリと Microsoft ID プラットフォームの間に信頼関係を確立します。
- [ホーム] 画面で、左側のメニューから [Microsoft Entra ID] を選択します。
- [管理] で [アプリの登録] を選択し、次に [新規登録] を選択します。
- [名前] にアプリケーションの表示名を入力し、[サポートされているアカウントの種類] で登録するアカウントの種類を選択します。
- [リダイレクト URI (省略可能)] で [Web] を選択し、テキスト ボックスに上のセクションで取得した URL を入力します。 このリダイレクト URI は、認証後に Microsoft Entra ID によって、お使いのクライアントがリダイレクトされ、セキュリティ トークンが送信される場所です。
- [登録] を選択して、アプリケーションの登録を完了します。
登録が完了すると、[アプリの登録] ページの [概要] 画面に [アプリケーション (クライアント) ID] が表示されます。
アプリの登録後にリダイレクト URI を追加する
次の手順に従って、アプリの登録後にリダイレクト URI を追加することもできます。
- アプリケーションの概要から、左側のメニューの [管理] で [認証] を選択します。
- [Web] を選択し、[リダイレクト URI] で [URI の追加] を選択します。
- 新しいリダイレクト URI を追加し、[保存] を選択します。
アプリケーション登録の詳細については、「クイック スタート: アプリケーションをMicrosoft ID プラットフォームに登録する」を参照してください。
クライアント シークレットの追加
アプリケーションは、SSO ワークフローでクライアント シークレットを使用して自身を認証します。 次の手順を使用して、クライアント シークレットを追加できます。
- アプリケーションの概要から、左側のメニューの [管理] で [証明書とシークレット] を選択します。
- [クライアント シークレット] を選択してから、[新しいクライアント シークレット] を選択します。
- クライアント シークレットの説明を入力し、有効期限を設定します。
- [追加] を選択します。
警告
クライアント シークレットは必ず安全な場所に保存してください。 このページを閉じると、取得できなくなります。 クライアント シークレットは、アプリケーションとしてサインインするときにクライアント ID とともに指定する必要があります。
スコープの構成
SSO の scope
プロパティは、JWT ID トークンに含めるスコープのリストです。 多くの場合、これらはアクセス許可と呼ばれます。 ID プラットフォームでは、いくつかの OpenID Connect スコープ (たとえばopenid
、、email
、profile
詳細については、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 プロパティを設定してください。
- 左側のメニューの [VMware Tanzu components](VMware Tanzu コンポーネント) の下にある [Spring Cloud Gateway] または [API portal] を選択してから、[構成] を選択します。
Scope
、Client Id
、Client Secret
、Issuer URI
を適切なフィールドに入力します。 スコープを複数指定するときはコンマで区切ります。- [保存] を選択して SSO 構成を有効にします。
Note
SSO プロパティを構成した後は、必ず ssoEnabled=true
を設定して Spring Cloud Gateway ルートの SSO を有効にしてください。 詳細については、ルートの構成に関するセクションを参照してください。