Apigee 統合デベロッパー ポータルに Auth0 SAML ID プロバイダ(IdP)を構成
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)
サイド ナビゲーション バーで [Publish] > [Portals] を選択し、ポータルのリストを表示します。
ポータルのランディング ページで [Accounts] をクリックします。または、上部のナビゲーション バーにあるポータル プルダウン メニューから [Accounts] を選択します。
[Authentication] タブをクリックします。
[Identity providers] セクションで、[SAML] プロバイダ タイプをクリックします。
[Enabled] チェックボックスをオンにして ID プロバイダを有効にします。
[Save] をクリックします。
SP メタデータ URL が表示されるようになります。ブラウザを使用してその URL にアクセスし、任意の XML リーダーを使用してダウンロードした XML ファイルを開きます。
次に、以下のようにしてこのファイルから 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 統合を提供できるアプリケーションを作成します。
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 プロバイダを使用する場合は必要ないこともあります。
これで、SAML 統合をテストする準備が整いました。Apigee 統合デベロッパー ポータルを起動し、[sign in] をクリックします。以下のように、[Login with SAML] オプションが表示されるはずです。
エラーが発生した場合は、ブラウザ デベロッパー コンソールを使用してネットワークをトレースし、Auth0 モニタリング ログを使用してデバッグします。
これで、以下に示す方法で(必要に応じて)組み込み ID プロバイダを無効にできるようになりました。
組み込み ID プロバイダの無効化
組み込み ID プロバイダを無効にするには:
[Provider Configuration] セクションで
をクリックします。
3. ID プロバイダを無効にするには、[Enabled] チェックボックスをオフにします。
注: ユーザーがログインできるようにするには、少なくとも 1 つの ID プロバイダを有効にする必要があります。
4. [Save] をクリックします。
これで、Apigee の統合デベロッパー ポータルにログインするための Auth0 SAML ID プロバイダの構成がすべて完了しました。Apigee と統合デベロッパー ポータルの利用を開始する方法について詳しくは、こちらをご覧ください。
- Google Cloud、アプリケーション開発エンジニア Tanmay Bangale