View a markdown version of this page

シングルサインオン (SSO) 用の ID プロバイダーの設定 - Research and Engineering Studio

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

シングルサインオン (SSO) 用の ID プロバイダーの設定

Research and Engineering Studio は、任意の SAML 2.0 ID プロバイダーと統合して、RES ポータルへのユーザーアクセスを認証します。これらのステップでは、選択した SAML 2.0 ID プロバイダーと統合する手順を示します。IAM Identity Center を使用する場合は、「」を参照してくださいIAM Identity Center でのシングルサインオン (SSO) の設定。

注記

ユーザーの E メールは、IDP SAML アサーションと Active Directory で一致する必要があります。ID プロバイダーを Active Directory に接続し、定期的にユーザーを同期する必要があります。

ID プロバイダーを設定する

このセクションでは、RES Amazon Cognito ユーザープールからの情報を使用して ID プロバイダーを設定する手順について説明します。

  1. RES は、RES ポータルとプロジェクトへのアクセスが許可されているユーザー ID を持つ AD (AWSマネージド AD または自己プロビジョニング AD) があることを前提としています。AD を ID サービスプロバイダーに接続し、ユーザー ID を同期します。AD を接続し、ユーザー ID を同期する方法については、ID プロバイダーのドキュメントを参照してください。例えば、「 AWS IAM アイデンティティセンターユーザーガイド」の「ID ソースとしての Active Directory の使用」を参照してください。

  2. ID プロバイダー (IdP) で RES の SAML 2.0 アプリケーションを設定します。この設定には、次のパラメータが必要です。

    • SAML リダイレクト URL — IdP が SAML 2.0 レスポンスをサービスプロバイダーに送信するために使用する URL。

      注記

      IdP によっては、SAML リダイレクト URL の名前が異なる場合があります。

      • アプリケーション URL

      • アサーションコンシューマーサービス (ACS) URL

      • ACS POST バインディング URL

      URL を取得するには
      1. 管理者または clusteradmin として RES にサインインします。

      2. 環境管理 ⇒ 全般設定 ⇒ ID プロバイダーに移動します。

      3. SAML リダイレクト URL を選択します。

       

    • SAML オーディエンス URI — サービスプロバイダー側の SAML オーディエンスエンティティの一意の ID。

      注記

      IdP によっては、SAML オーディエンス URI の名前が異なる場合があります。

      • ClientID

      • アプリケーション SAML 対象者

      • SP エンティティ ID

      入力を次の形式で指定します。

      urn:amazon:cognito:sp:user-pool-id
      SAML オーディエンス URI を検索するには
      1. 管理者または clusteradmin として RES にサインインします。

      2. 環境管理 ⇒ 全般設定 ⇒ ID プロバイダーに移動します。

      3. ユーザープール ID を選択します。

  3. RES に投稿された SAML アサーションには、次のフィールド/クレームがユーザーの E メールアドレスに設定されている必要があります。

    • SAML Subject または NameID

    • SAML E メール

  4. IdP は、設定に基づいて SAML アサーションにフィールド/クレームを追加します。RES にはこれらのフィールドが必要です。ほとんどのプロバイダーは、デフォルトでこれらのフィールドを自動的に入力します。設定する必要がある場合は、次のフィールド入力と値を参照してください。

    • AudienceRestriction — を に設定しますurn:amazon:cognito:sp:user-pool-id。user-pool-id を Amazon Cognito ユーザープールの ID に置き換えます。

      <saml:AudienceRestriction> <saml:Audience> urn:amazon:cognito:sp:user-pool-id </saml:AudienceRestriction>
    • レスポンス — InResponseToを に設定しますhttps://user-pool-domain/saml2/idpresponse。user-pool-domain を Amazon Cognito ユーザープールのドメイン名に置き換えます。

      <saml2p:Response Destination="http://user-pool-domain/saml2/idpresponse" ID="id123" InResponseTo="_dd0a3436-bc64-4679-a0c2-cb4454f04184" IssueInstant="Date-time stamp" Version="2.0" xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    • SubjectConfirmationData — Recipient ユーザープールsaml2/idpresponseエンドポイントと元の SAML リクエスト ID InResponseToに設定します。

      <saml2:SubjectConfirmationData InResponseTo="_dd0a3436-bc64-4679-a0c2-cb4454f04184" NotOnOrAfter="Date-time stamp" Recipient="https://user-pool-domain/saml2/idpresponse"/>
    • AuthnStatement — 次のように を設定します。

      <saml2:AuthnStatement AuthnInstant="2016-10-30T13:13:28.152TZ" SessionIndex="32413b2e54db89c764fb96ya2k" SessionNotOnOrAfter="2016-10-30T13:13:28"> <saml2:SubjectLocality /> <saml2:AuthnContext> <saml2:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:Password</saml2:AuthnContextClassRef> </saml2:AuthnContext> </saml2:AuthnStatement>
  5. SAML アプリケーションにログアウト URL フィールドがある場合は、 に設定します<domain-url>/saml2/logout。

     

    ドメイン URL を取得するには
    1. 管理者または clusteradmin として RES にサインインします。

    2. 環境管理 ⇒ 全般設定 ⇒ ID プロバイダーに移動します。

    3. ドメイン URL を選択します。

  6. IdP が Amazon Cognito との信頼を確立するために署名証明書を受け入れる場合は、Amazon Cognito 署名証明書をダウンロードし、IdP にアップロードします。

     

    署名証明書を取得するには
    1. Amazon Cognito コンソールを開きます。

    2. ユーザープールを選択します。ユーザープールは である必要がありますres-<environment name>-user-pool。

    3. サインインエクスペリエンスタブを選択します。

    4. フェデレーティッド ID プロバイダーのサインインセクションで、署名証明書の表示を選択します。

      選択したユーザープールのフェデレーティッド ID プロバイダーのサインインセクションの署名証明書の表示ボタンがある Amazon Cognito コンソール。

      この証明書を使用して、Active Directory IDP をセットアップし、 を追加しrelying party trust、この証明書利用者に対して SAML サポートを有効にできます。

      注記

      これは Keycloak と IDC には適用されません。

    5. アプリケーションのセットアップが完了したら、SAML 2.0 アプリケーションメタデータ XML または URL をダウンロードします。次のセクションで使用します。

ID プロバイダーを使用するように RES を設定する

RES のシングルサインオン設定を完了するには
  1. 管理者または clusteradmin として RES にサインインします。

  2. 環境管理 ⇒ 全般設定 ⇒ ID プロバイダーに移動します。

    シングルサインオンのセクションを含む、RES の環境設定ユーザーインターフェイス。
  3. Single Sign-On で、ステータスインジケータの横にある編集アイコンを選択して Single Sign-On Configuration ページを開きます。

    RES の Single Sign On Configuration ユーザーインターフェイス。
    1. ID プロバイダーで、SAML を選択します。

    2. プロバイダー名には、ID プロバイダーの一意の名前を入力します。

      注記

      次の名前は使用できません。

      • Cognito

      • IdentityCenter

    3. メタデータドキュメントソースで、適切なオプションを選択し、メタデータ XML ドキュメントをアップロードするか、ID プロバイダーから URL を指定します。

    4. プロバイダー E メール属性 に、テキスト値 を入力しますemail。

    5. [Submit] を選択してください。

  4. 環境設定ページを再ロードします。設定が正しい場合、シングルサインオンが有効になります。

非本番環境での ID プロバイダーの設定

提供された外部リソースを使用して非本番環境の RES 環境を作成し、IAM Identity Center を ID プロバイダーとして設定した場合は、Okta などの別の ID プロバイダーを設定することをお勧めします。RES SSO 有効化フォームは、3 つの設定パラメータを要求します。

  1. プロバイダー名 — 変更できません

  2. メタデータドキュメントまたは URL — 変更可能

  3. プロバイダー E メール属性 — 変更可能

メタデータドキュメントとプロバイダー E メール属性を変更するには、次の手順を実行します。
  1. Amazon Cognito コンソールに移動します。

  2. ナビゲーションから、ユーザープールを選択します。

  3. ユーザープールを選択すると、ユーザープールの概要が表示されます。

  4. サインインエクスペリエンスタブから、フェデレーティッド ID プロバイダーのサインインに移動し、設定された ID プロバイダーを開きます。

  5. 通常、メタデータを変更し、属性マッピングを変更しないだけで済みます。属性マッピングを更新するには、編集 を選択します。メタデータドキュメントを更新するには、メタデータの置き換えを選択します。

    Amazon CognitoUser プールの概要。
  6. 属性マッピングを編集した場合は、DynamoDB で<environment name>.cluster-settingsテーブルを更新する必要があります。

    1. DynamoDB コンソールを開き、ナビゲーションからテーブルを選択します。

    2. <environment name>.cluster-settings テーブルを検索して選択し、アクションメニューから項目を探索を選択します。

    3. スキャンまたはクエリ項目で、フィルターに移動し、次のパラメータを入力します。

      • 属性名 — key

      • 値 — identity-provider.cognito.sso_idp_provider_email_attribute

    4. [Run] (実行) を選択します。

  7. 返された項目 でidentity-provider.cognito.sso_idp_provider_email_attribute文字列を検索し、編集 を選択して、Amazon Cognito の変更と一致するように文字列を変更します。

    Amazon Cognito DynamoDB で返されるフィルタと項目を更新します。

SAML IdP の問題のデバッグ

SAML トレーサー — Chrome ブラウザでこの拡張機能を使用して SAML リクエストを追跡し、SAML アサーション値を確認できます。詳細については、Chrome ウェブストアの「SAML トレーサー」を参照してください。

SAML 開発者ツール — OneLogin には、SAML エンコードされた値をデコードし、SAML アサーションの必須フィールドをチェックするために使用できるツールが用意されています。詳細については、OneLogin ウェブサイトの「Base 64 Decode + Inflate」を参照してください。

Amazon CloudWatch Logs — CloudWatch Logs で RES ログのエラーや警告を確認できます。ログは、 という名前のロググループにあります/res-environment-name/cluster-manager。

Amazon Cognito ドキュメント — Amazon Cognito との SAML 統合の詳細については、「Amazon Amazon Cognito デベロッパーガイド」の「ユーザープールへの SAML ID プロバイダーの追加」を参照してください。