Amazon Cognito ユーザープールを使用して、SAML ID プロバイダーとして Auth0 を設定するにはどうすればよいですか?

所要時間3分
0

Amazon Cognito ユーザープールを使用して、Security Assertion Markup Language 2.0 (SAML 2.0) ID プロバイダー (IdP) として Auth0 を使いたいと考えています。設定する方法を教えてください。

簡単な説明

Amazon Cognito ユーザープールでは、Auth0 などの SAML IdP を含め、サードパーティー (フェデレーション) を介してサインインできます。詳細については、「サードパーティー経由のユーザープールへのサインインの追加」および「ユーザープールへの SAML ID プロバイダーの追加」を参照してください。

Auth0 と統合されたユーザープールにより、Auth0 アプリケーションのユーザーは Amazon Cognito からユーザープールトークンを取得することができます。詳細については、「ユーザープールでのトークンの使用」を参照してください。

Auth0 を SAML IdP として設定するには、アプリクライアントとドメイン名を持つ Amazon Cognito ユーザープール、および Auth0 アプリケーションがある Auth0 アカウントが必要です。

解決方法

アプリクライアントとドメイン名を持つ Amazon Cognito ユーザープールを作成する

詳細については、次の記事を参照してください。

Auth0 アカウントのサインアップ

[Auth0 Sign Up] (Auth0 のサインアップ) で E メールアドレスとパスワードを入力し、開始します。すでにアカウントがある場合は、ログインします。

Auth0 アプリケーションを作成する

  1. Auth0 ウェブサイトのダッシュボードで、[アプリケーション]を選択し、[アプリケーションの作成]を選択します。
  2. [Create Application] ダイアログで、アプリケーションの名前を入力します。例えば、My App などです。
  3. [Choose an application type] で、[Single Page Web Applications] を選択します。
  4. [作成] を選択します。

Auth0 アプリケーションのテストユーザーを作成する

  1. 左のナビゲーションバーで [User management] (ユーザー管理) を選択し、[Users] (ユーザー) を選択します。
  2. [Create Your First User] (最初のユーザーを作成) を選択します。また、最初のユーザーでない場合は、[Create User] (ユーザーを作成) を選択します。
  3. [Create User] (ユーザーを作成) ダイアログボックスで、ユーザーの E メールとパスワードを入力します。
  4. [保存] を選択します。

アプリケーション用の SAML 設定を設定する

  1. 左側のナビゲーションバーで [Applications] を選択します。
  2. 作成したアプリケーションの名前を選択します。
  3. [Addons] (アドオン) タブで、[SAML2 Web App] をオンにします。
  4. [Addon: SAML2 Web App] (アドオン: SAML2 Web App) ダイアログボックスの [Settings] (設定) タブで、[Application Callback URL] に「https://yourDomainPrefix.auth.region.amazoncognito.com/saml2/idpresponse」と入力します。
    注: yourDomainPrefixregion をユーザープールの値に置き換えます。ユーザープールの管理ページの [Domain name] (ドメイン名) タブにある、Amazon Cognito コンソールから確認できます。
  1. [設定] では、次の操作を実行します。
    視聴者の場合、urn:amazon:cognito:sp:yourUserPoolId でコメント区切り文字 (//) を削除し、デフォルト値 (urn:foo) を置き換えます。
    注 :Amazon Cognito のユーザープール ID で yourUserPoolId を置き換えます。ユーザープールの管理ページの [General settings] タブで、Amazon Cognito コンソールの ID を見つけます。
    mappingsemail の場合では、(
    //
    ) コメント区切り文字を削除します。Amazon Cognito ユーザープールに必要な他のすべての属性についても同様にします。詳細については、「ユーザープール属性」を参照してください。
    nameIdentifierFormat では、コメント区切り文字 (//) を削除します。デフォルト値 (urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified) を urn:oasis:names:tc:SAML:2.0:nameid-format:persistent に置き換えます。
  2. (オプション) [Debug] を選択してから、作成したテストユーザーとしてログインし、設定が機能することを確認します。
  3. [有効] を選択し、[保存] をクリックします。

Auth0 アプリケーションの IdP メタデータを取得する

[Addon: SAML2 Web App] (アドオン: SAML2 Web App) ダイアログボックスの [Usage] (使用状況) タブで、[Identity Provider Metadata] (ID プロバイダのメタデータ) を見つけます。その後、次のいずれかを行います。

  • [download] (ダウンロード) を右クリックして、URL をコピーします。
  • .xml メタデータファイルをダウンロードするには、[download] を選択します。

Amazon Cognitoで Auth0 を SAML IdP として設定する

詳細については、「ユーザープールの SAML ID プロバイダーの作成と管理」を参照してください。「ユーザープールに SAML 2.0 ID プロバイダーを設定する」の指示に従ってください。

メタデータドキュメント用に SAML IdP を作成する場合、アイデンティティプロバイダメタデータ URL をペーストするかまたは .xml メタデータファイルをアップロードします。

E メールアドレスを IdP 属性からユーザープール属性へマッピングする

詳細については、「ユーザープールの ID プロバイダー属性 mappings の指定」をご参照いただき、「SAML プロバイダー属性 mappings を指定する方法」の指示に従ってください。

SAML 属性を追加する場合、[SAML Attribute] (SAML 属性) に、http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress と入力します。[User pool attribute] (ユーザープール属性) で、リストから [Email] (E メール) を選択します。

Amazon Cognito でアプリクライアントの設定を変更する

  1. Amazon Cognito コンソールのユーザープールの管理ページの [App integration] (アプリの統合) で、[App client settings] (アプリクライアントの設定) を選択します。次に、以下の操作を実行します :
    有効な ID プロバイダー で、[Auth0] および [Cognito User Pool] チェックボックスをオンにします。
    [コールバック URL] にログイン後にユーザーをリダイレクトする URL を入力します。テストについては、https://www.amazon.com など任意の有効な URL を入力します。
    [サインアウト URL] にログアウト後にユーザーをリダイレクトする URL を入力します。テストについては、https://www.amazon.com など任意の有効な URL を入力します。
    [Allowed OAuth Flows] で必ず [Implicit grant] チェックボックスをオンにします。
    [Allowed OAuth Scopes] で必ず [email] および [openid] チェックボックスをオンにしてください。
  2. [Save changes] (変更を保存) を選択します。

詳細については、「アプリクライアントの設定用語」を参照してください。

ログインエンドポイントをテストする

  1. ウェブブラウザにこの URL を入力してください。https://<yourDomainPrefix>.auth.<region>.amazoncognito.com/login?response_type=token&client_id=<yourClientId>&redirect_uri=<redirectUrl>
    注: yourDomainPrefixregion をユーザープールの値に置き換えます。ユーザープールの管理ページの [Domain name] (ドメイン名) タブにある、Amazon Cognito コンソールから確認できます。
    yourClientId をアプリクライアントの ID で置き換え、redirectUrl をクライアントのコールバック URL で置き換えます。ユーザープールの管理ページの [App client settings] (アプリクライアントの設定) タブにある、Amazon Cognito コンソールから確認できます。
    詳細については、「Amazon Cognito のホストされたウェブの UI を設定する方法を教えてください。」および「ログインエンドポイント」を参照してください。
  2. [Auth0] を選択します。
    注 : アプリクライアントのコールバック URL にリダイレクトされている場合、ブラウザで Auth0 アカウントにすでにサインインしています。ユーザープールのトークンは、ウェブブラウザのアドレスバーの URL に表示されます。
  3. Auth0 アプリケーションのログインページで、作成したテストユーザーの E メールとパスワードを入力します。
  4. [Log in] を選択します。

ログイン後、アプリクライアントのコールバック URL にリダイレクトされます。ユーザープールのトークンは、ウェブブラウザのアドレスバーの URL に表示されます。


関連情報

サードパーティー SAML ID プロバイダーと Amazon Cognito ユーザープールとの統合

SAML ユーザプール IdP 認証フロー

Amazon Cognito ユーザープールでサードパーティーの SAML ID プロバイダーをセットアップするにはどうすればよいですか?

コメントはありません

関連するコンテンツ