シングルサインオン用のAuth0 SAMLの設定
PlaidCloudは、SAML 2.0によるシングルサインオン(SSO)をサポートしています。このガイドでは、組織のユーザーがPlaidCloudにアクセスする際にAuth0で認証できるよう、Auth0をSAML IDプロバイダーとして構成する手順を説明します。
- Auth0テナント
- Administratorロールを持つAuth0アカウント
- 設定の調整と構成値の交換のために、PlaidCloudサポートと連絡が取れること
セットアップでは、2者がSAMLメタデータを交換します。
- お客様側の作業: Auth0でSAML2 Web Appアドオンを有効にしたアプリケーションを構成し、Identity Provider Metadata URLをPlaidCloudに提供します。
- PlaidCloud側の作業: Auth0アプリケーションの構成を完了するために必要なサービスプロバイダー(SP)のエンティティIDとACS URL(Assertion Consumer Service URL)を提供します。
以下のステップ3を完了する前に、PlaidCloudサポートと調整してSPの値を入手してください。
ステップ1:アプリケーションの作成
Section titled “ステップ1:アプリケーションの作成”- Auth0 Dashboardにサインインします。
- 左側のサイドバーで、Applications > Applicationsに移動します。
- Create Applicationをクリックします。
- アプリケーションの名前を入力します(例:
PlaidCloud SSO)。 - アプリケーションの種類としてRegular Web Applicationsを選択します。
- 作成をクリックします。
ステップ2:SAML2 Web Appアドオンの有効化
Section titled “ステップ2:SAML2 Web Appアドオンの有効化”- アプリケーションの詳細ページで、Addonsタブを選択します。
- SAML2 Web Appアドオンをクリックして有効にします。
- アドオンの設定パネルが開きます。次のステップで設定するため、開いたままにしておきます。
ステップ3:SAML設定の構成
Section titled “ステップ3:SAML設定の構成”SAML2 Web Appアドオンの設定パネルで、次の手順を行います。
- Application Callback URLフィールドに、PlaidCloudから提供されたACS URLを入力します。
- 設定のJSONエディターで、
audienceフィールドにPlaidCloudから提供されたSPエンティティIDを設定します。
{ "audience": "your-sp-entity-id-from-plaidcloud", "mappings": { "email": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress", "given_name": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname", "family_name": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname" }, "nameIdentifierFormat": "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress", "nameIdentifierProbes": [ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress" ]}- 有効にする(または保存)をクリックして設定を適用します。
ステップ4:Identity Provider Metadata URLの取得と送信
Section titled “ステップ4:Identity Provider Metadata URLの取得と送信”アドオンを有効にしたら、メタデータURLを確認してPlaidCloudに送信し、連携を完了させます。
- SAML2 Web Appアドオンの設定パネルで、使用方法タブを選択します。
- Identity Provider MetadataのURLをコピーします(形式:
https://{your-auth0-domain}/samlp/metadata/{client-id})。
このメタデータURLをPlaidCloudサポートに送信してください。 これは、PlaidCloudがIDプロバイダー側の信頼関係を構成するために必要なEntity Descriptor URLです。PlaidCloudがこのURLを受け取ると、チームがKeycloakの構成を完了し、SSOをテストできる状態になったらお知らせします。
ステップ5:グループの属性マッピングの構成(任意)
Section titled “ステップ5:グループの属性マッピングの構成(任意)”PlaidCloudの構成でグループベースのセキュリティロール割り当てを使用する場合は、Auth0のルールまたはアクションを使用して、SAMLアサーションでグループメンバーシップを渡すことができます。
Auth0アクションの使用
Section titled “Auth0アクションの使用”- 左側のサイドバーで、アクション > Libraryに移動します。
- Build Customをクリックし、Login / Post Loginトリガー用の新しいアクションを作成します。
- SAMLアサーションにグループ情報を追加するロジックを記述します。たとえば、グループがユーザーメタデータとして保存されている場合は次のようになります。
exports.onExecutePostLogin = async (event, api) => { const groups = event.user.app_metadata?.groups || []; api.samlResponse.setAttribute("groups", groups);};- アクションをデプロイし、Loginフローに追加します。
ステップ6:ユーザーアクセスの制御
Section titled “ステップ6:ユーザーアクセスの制御”Auth0では、アプリケーションに関連付けられた接続とルールに基づいて、認証できるユーザーが制御されます。
- アプリケーションの詳細ページで、接続タブを選択します。
- このアプリケーションで使用する接続(組織のデータベース接続、Active Directory、ソーシャル接続など)を有効にします。
- PlaidCloudへのアクセスを許可しない接続は無効にします。
接続内の特定のユーザーにアクセスを制限するには、Auth0のアクションまたはルールを使用して、ユーザー属性やグループメンバーシップに基づいて認証を許可または拒否します。
連携のテスト
Section titled “連携のテスト”PlaidCloudが構成の完了を確認したら、次の手順を行います。
- 組織のPlaidCloudワークスペース(例:
https://my-workspace.plaid.cloud)に移動します。 - Auth0のサインインページ(または構成した接続のログインページ)にリダイレクトされます。
- Auth0の認証情報でサインインします。
- 認証に成功すると、PlaidCloudにリダイレクトされます。
エラーが発生した場合は、次の点を確認してください。
- Application Callback URLとaudienceが、PlaidCloudから提供された値と完全に一致している
- アプリケーションでSAML2 Web Appアドオンが有効になっている
nameIdentifierFormatがメールアドレス形式に設定されている- PlaidCloudに送信したメタデータURLにアクセスできる
- ユーザーの接続がアプリケーションで有効になっている