コンテンツに移動
API 管理

Apigee 統合デベロッパー ポータルに Auth0 SAML ID プロバイダ(IdP)を構成

2023年6月13日
Google Cloud Japan Team

※この投稿は米国時間 2023 年 6 月 3 日に、Google Cloud blog に投稿されたものの抄訳です。

この記事では、Apigee の統合デベロッパー ポータルにログインするための SAML ID プロバイダ(この場合は Auth0)を構成する方法を取り上げます。

Apigee 統合デベロッパー ポータルにログインするには、従来の方法では組み込み ID プロバイダ オプションを使用します。この場合、認証を受けるために、ユーザーが自身の認証情報(ユーザー名とパスワード、既存ユーザーでない場合はユーザー登録を行う必要があります)を統合ポータルに渡す必要があります。新しいポータルを作成すると、組み込み ID プロバイダが構成され、有効になります。ユーザーの視点から見たログイン エクスペリエンスを理解するには、「ユーザー認証情報を使用したポータルへのログイン(組み込み ID プロバイダ)」をご覧ください。

このたび、Apigee 統合デベロッパー ポータルのログインに、Security Assertion Markup Language(SAML)をサポートする任意のサードパーティ ID プロバイダを使用するように構成できるようになりました。SAML はシングル サインオン(SSO)を強制する場合の標準プロトコルです。SAML を使用した SSO 認証では、ID プロバイダに登録されている既存のアカウントを使用して Apigee 統合デベロッパー ポータルにログインでき、新しいアカウントを作成する必要がありません。SAML 統合機能は現在プレビュー版です。

統合デベロッパー ポータルの ID プロバイダとして SAML を構成することには次の利点があります。

  • デベロッパー プログラムを一度だけ設定し、それを複数の統合ポータルで再利用できます。統合デベロッパー ポータルを作成するときに、設定済みのデベロッパー プログラムを選択します。そうすれば、要件が変わったときにデベロッパー プログラムを簡単に更新または変更できます。

  • ユーザー管理を完全に制御できます。会社の SAML サーバーを統合デベロッパー ポータルに接続します。組織を離れたユーザーが中央でプロビジョニング解除されると、そのユーザーは SSO サービスで認証されず、統合デベロッパー ポータルを使用できなくなります。

SAML プロバイダを構成するには、サービス プロバイダ(Apigee)と ID プロバイダ(Auth0 など)を以下のように構成する必要があります。

サービス プロバイダの構成(Apigee)

  1. サイド ナビゲーション バーで [Publish] > [Portals] を選択し、ポータルのリストを表示します。

  2. ポータルのランディング ページで [Accounts] をクリックします。または、上部のナビゲーション バーにあるポータル プルダウン メニューから [Accounts] を選択します。

  3. [Authentication] タブをクリックします。

  4. [Identity providers] セクションで、[SAML] プロバイダ タイプをクリックします。

  5. [Enabled] チェックボックスをオンにして ID プロバイダを有効にします。

  6. [Save] をクリックします。

https://storage.googleapis.com/gweb-cloudblog-publish/images/a-202306ja.max-600x600.png

SP メタデータ URL が表示されるようになります。ブラウザを使用してその URL にアクセスし、任意の XML リーダーを使用してダウンロードした XML ファイルを開きます。

https://storage.googleapis.com/gweb-cloudblog-publish/images/b-202306ja.max-1000x1000.png

次に、以下のようにしてこのファイルから AssertionConsumerService URL を取得します。

  • <md:AssertionConsumerService Binding=”urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST” Location=”https://diyyaedfgchrbui-a5vnmtygh8qzekbd.portal-login.apigee.com/saml/SSO/alias/diyyaumzqchrbui-a5vnmu1sp8qzekbd.apigee-saml-login" index=”0" isDefault=”true”/>

この場所の値は、ID プロバイダの構成中に使用されます。

また、SAML 設定でログイン URL、IdP エンティティ ID を入力し、Apigee SAML ID プロバイダ ページで証明書をアップロードする必要もあります。これらを Auth0 ID プロバイダから取得するには、以下のようにします。

ID プロバイダ Auth0 の構成

1. [Applications] タブで、この SAML 統合を提供できるアプリケーションを作成します。

https://storage.googleapis.com/gweb-cloudblog-publish/images/c-202306ja.max-700x700.png

2. 新しく作成したアプリケーションをクリックし、[Advanced Settings] プルダウン メニューまでスクロールして、[Certificates] タブを選択します。

3. 証明書の .pem ファイルをダウンロードし、それを使用して Apigee SAML ID プロバイダ構成に証明書をアップロードします。

4. [Auth0 Applications] ページの [Add Ons] タブで、[SAML2 WEB APP] を有効にします。

5. [SAML2 WEB] をクリックするとポップアップが開き、IdP エンティティ ID となる [Issuer] と、ログイン URL となる [Identity Provider Login URL] が表示されます。Apigee SAML Identity Provider 構成でこれらの値を更新します。

6. [SAML2 WEB APP] ポップアップの [Settings] タブで、前に取得した AssertionConsumerService URL 値を [Application Callback URL] に入力します。

: Apigee では、nameidentifier がメール ID である必要があります。したがって、以下に示すように、属性を名前 ID ではなくメール ID にマッピングするルールを Auth0 で作成する必要があります。この手順は Auth0 に固有であり、他の ID プロバイダを使用する場合は必要ないこともあります。

https://storage.googleapis.com/gweb-cloudblog-publish/images/d-202306ja.max-800x800.png

これで、SAML 統合をテストする準備が整いました。Apigee 統合デベロッパー ポータルを起動し、[sign in] をクリックします。以下のように、[Login with SAML] オプションが表示されるはずです。

https://storage.googleapis.com/gweb-cloudblog-publish/images/e-202306ja.max-1600x1600.png

エラーが発生した場合は、ブラウザ デベロッパー コンソールを使用してネットワークをトレースし、Auth0 モニタリング ログを使用してデバッグします。

これで、以下に示す方法で(必要に応じて)組み込み ID プロバイダを無効にできるようになりました。

組み込み ID プロバイダの無効化

組み込み ID プロバイダを無効にするには:

  1. 組み込み ID プロバイダ ページにアクセスします。

  2. [Provider Configuration] セクションで

https://storage.googleapis.com/gweb-cloudblog-publish/images/f-202306ja.max-600x600.png

をクリックします。

      3. ID プロバイダを無効にするには、[Enabled] チェックボックスをオフにします。

https://storage.googleapis.com/gweb-cloudblog-publish/images/7_BEnzu3r.max-1100x1100.png

: ユーザーがログインできるようにするには、少なくとも 1 つの ID プロバイダを有効にする必要があります。

      4. [Save] をクリックします。

これで、Apigee の統合デベロッパー ポータルにログインするための Auth0 SAML ID プロバイダの構成がすべて完了しました。Apigee と統合デベロッパー ポータルの利用を開始する方法について詳しくは、こちらをご覧ください。

- Google Cloud、アプリケーション開発エンジニア Tanmay Bangale

投稿先