スキップしてコンテンツを表示

Amazon Cognito ユーザープールの SAML ID プロバイダーとして Okta をセットアップする方法を教えてください。

所要時間3分
0

Okta をユーザープールの SAML 2.0 ID プロバイダー (IdP) として設定して、アプリユーザーが Amazon Cognito からトークンを取得できるようにしたいと考えています。

簡単な説明

Okta SAML IdP を Amazon Cognito と統合するには、両方のプラットフォームで設定が必要です。まず、Okta で SAML アプリ統合を作成し、設定します。次に、Okta を Amazon Cognito ユーザープールに IdP として追加し、Okta 認証を許可するようにアプリクライアント設定を構成します。セットアップ後、認証フローをテストして、ユーザーが Okta 経由でサインインした後に Amazon Cognito からトークンを受け取ることを確認するのがベストプラクティスです。

解決策

Okta を SAML IdP として設定する前に、次の操作を実行します。

(オプション) Okta デベロッパーアカウントにサインアップする

注: Okta デベロッパーアカウントを既にお持ちの場合は、サインインしてください。

次の手順を実行します。

  1. Okta Developer のウェブサイトにある Okta デベロッパー登録ページを開きます。
  2. 必要な情報を入力し、[Sign up] を選択します。指定したメールアドレスに Okta から確認メールが送信されます。
  3. 確認メールで、アカウントのログイン情報を確認してください。
  4. [Activate account] を選択し、サインインしてアカウントの作成を完了します。

SAML アプリを作成し、Okta アプリの SAML 統合を設定します

次の手順を実行します。

  1. Okta Developer コンソールを開きます。
  2. ナビゲーションペインで、[Applications] を展開し、[Applications] を選択します。
  3. [Create app integration] を選択します。
  4. [Create a new app integration] メニューで、[Sign-in method] として [SAML 2.0] を選択します。
  5. [Next] を選択します。
  6. Create SAML Integration ページの [General Settings] で、アプリの名前を入力します。
  7. (オプション) ロゴをアップロードし、アプリの表示設定を選択します。
  8. [Next] を選択します。
  9. [SAML Settings][Single sign on URL]https://yourDomainPrefix.auth.region.amazoncognito.com/saml2/idpresponse と入力します。
    注: yourDomainPrefixregion を実際のユーザープールの値に置き換えます。これらの値を確認するには、Amazon Cognito コンソールを開き、[ブランディング] セクションから [ドメイン] を選択します。
  10. オーディエンス URI (SP エンティティ ID) には、urn:amazon:cognito:sp:yourUserPoolId と入力します。
    注: yourUserPoolId は、実際の Cognito ユーザープール ID に置き換えます。ユーザープール ID を確認するには、Amazon Cognito コンソールの [概要] セクションを確認してください。
  11. [属性ステートメント (オプション)] にステートメントを追加し、次の情報を使用します。
    [名前] に、SAML 属性名 http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress を入力します。
    [値] には、user.email と入力します。
    このページのその他の設定については、デフォルト値を使用するか、要件に応じて調整してください。
  12. [次へ] を選択します。
  13. フィードバックを求められたら、アプリの設定体験に関する回答を選択します。
    注: これは、ユーザー体験のフィードバックを収集するための Okta の標準的なアプリケーション作成プロセスの一部です。
  14. [完了] を選択します。

Okta アプリケーションにユーザーを割り当てる

次の手順を実行します。

  1. Okta アプリの [Assignments] タブの [Assign] で、[Assign to People] を選択します。
  2. 割り当てるユーザーの横にある [Assign] を選択します。
    注: 新しいアカウントの場合、ユーザーとして選択できるのは自分自身だけです。
  3. (オプション) [User Name] に、ユーザー名を入力します。指定しない場合、Okta はユーザーのメールアドレスをユーザー名として使用します。
  4. [Save and Go Back] を選択して、ユーザー割り当てを完了します。
  5. [Done] を選択します。

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

Okta アプリの [Sign On] タブの [Metadata details] で、[Metadata URL] をコピーします。

ユーザープールで Okta を SAML IdP として設定する

次の手順を実行します。

  1. Amazon Cognito コンソールを開きます。
  2. 該当するユーザープールを選択します。
  3. ナビゲーションペインの [認証] で、[ソーシャルプロバイダーと外部プロバイダー] を選択します。
  4. [ID プロバイダーの追加] を選択し、次に [SAML] を選択します。
  5. [アプリを SAML プロバイダーに登録する][プロバイダー名]Okta と入力します。
  6. (オプション) サインインとサインアウトのリクエストを Okta にルーティングするための SAML 識別子を追加します。
  7. (オプション) シングルログアウトを有効にすると、ユーザーがユーザープールからサインアウトしたときに Okta からもサインアウトされます。
  8. [メタデータドキュメントソース][メタデータドキュメントのエンドポイント URL を入力] を選択し、Okta の [Sign On] タブからコピーした Metadata URL を貼り付けます。
  9. [SAML プロバイダーとユーザープール間の属性のマッピング] で、[SAML 属性]email を指定します。
  10. [ID プロバイダーを追加] を選択します。

詳細については、「Adding and managing SAML identity providers in a user pool」を参照してください。

ユーザープールのアプリクライアント設定を変更する

次の手順を実行します。

  1. Amazon Cognito コンソール[アプリクライアント] で、ユーザープールを選択します。
  2. ナビゲーションペインの [アプリケーション][アプリクライアント] を選択します。
  3. アプリクライアントページで、[ログインページ] セクションに移動します。次に、[マネージドログインページの設定][編集] を選択します。
  4. [ID プロバイダー] ドロップダウンリストから、[Okta][Cognito ユーザープール] を選択します。
    [コールバック URL] に、ログインに成功した後のユーザーの宛先 URL を指定します。
    [サインアウト URL] に、ログアウト後のユーザーの宛先 URL を指定します。
    注: 統合をテストする場合は、https://www.example.com/ などのプレースホルダー URL を使用してください。このプレースホルダーは後でアプリケーションの URL で更新できます。
    [許可されている OAuth フロー][暗黙的な付与] を選択します。
    [許可されている OAuth スコープ] には、[email][OpenID] を選択します。
  5. [変更を保存] を選択します。

詳細については、「App client terms」を参照してください。

ログインページにアクセスして SAML 認証フローをテストする

Amazon Cognito コンソールからログインページにアクセスするか、ログインエンドポイント URL を作成できます。

  1. Amazon Cognito コンソール[アプリクライアント] で、ユーザープールを選択します。
  2. [ログインページ] タブを選択し、[ログインページを表示] を選択します。
    または、
    ログインエンドポイントの URL を作成します。ログインエンドポイントを作成するには、次の命名パターンを使用します。
    https://yourDomainPrefix.auth.region.amazoncognito.com/login?response_type=token&client_id=yourClientId&redirect_uri=redirectUrl
    注: yourDomainPrefixregion を実際のユーザープールの値に置き換えます。Amazon Cognito コンソールでこれらの値を確認するには、[ドメイン名] ページを選択します。
  3. ログインエンドポイントのウェブページで、[Okta] を選択します。
    注: システムによってアプリクライアントのコールバック URL にリダイレクトされた場合は、すでに Okta アカウントにログインしています。ステップ 5 に進みます。
  4. Okta の [Sign In] ページで、アプリに割り当てたユーザーのユーザー名とパスワードを入力します。
  5. [サインイン] を選択します。
  6. ブラウザのアドレスバーでユーザープールのトークンを探します。

(オプション) Amazon Cognito でホストされている UI をバイパスする

Amazon Cognito がホストしているウェブ UI をバイパスして、ユーザーを直接 Okta に送ってサインインさせるには、次の /oauth2/authorize エンドポイントの URL を使用します。

https://yourDomainPrefix.auth.region.amazoncognito.com/oauth2/authorize?response_type=token&identity_provider=samlProviderName&client_id=yourClientId&redirect_uri=redirectUrl&scope=allowedOauthScopes

**注:**yourDomainPrefixregionsamlProviderNameyourClientIdredirectUrlallowedOauthScopes をそれぞれ実際の値に置き換えてください。yourDomainPrefixregion を検索するには、Amazon Cognito コンソール[ブランディング] セクションから [ドメイン] を選択します。yourClientIdredirectUrl を検索するには、Amazon Cognito コンソールで [アプリクライアント] 設定ページを選択します。

(オプション) SAML 識別子を追加した場合は、プレースホルダーの identity_provider=samlProviderNameidp_identifier=idpIdentifier に置き換えてください。idpIdentifier をカスタム識別子の文字列に置き換えます。

関連情報

SAML session initiation in Amazon Cognito user pools

Amazon Cognito ユーザープールを使用してサードパーティの SAML ID プロバイダーをセットアップする方法を教えてください

Amazon Cognito ユーザープールの OpenID Connect ID プロバイダーとして Okta をセットアップする方法を教えてください

User pool sign-in with third party identity providers

AWS公式更新しました 10ヶ月前
コメントはありません

関連するコンテンツ