View a markdown version of this page

IAM for Connect Customer で SAML を設定する - Amazon Connect Customer

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

IAM for Connect Customer で SAML を設定する

Connect Customer は、組織から Connect Customer インスタンスへのウェブベースのシングルサインオン (SSO) を有効にするように Security Assertion Markup Language (SAML) 2.0 を AWS IAM で設定することで、ID フェデレーションをサポートします。これにより、ユーザーは SAML 2.0 互換 ID プロバイダー (IdP) によってホストされている組織内のポータルにサインインし、Connect Customer に個別の認証情報を提供することなく、シングルサインオンエクスペリエンスで Connect Customer インスタンスにログインできます。

重要な注意事項

開始する前に、以下の点に注意してください。

  • これらの手順は、Connect Customer Global Resiliency デプロイには適用されません。Connect Customer Global Resiliency に適用される情報については、「」を参照してくださいID プロバイダー (IdP) を Connect Customer Global Resiliency SAML サインインエンドポイントと統合する

  • Connect Customer インスタンスの ID 管理方法として SAML 2.0 ベースの認証を選択するには、AWS Identity and Access Management フェデレーションの設定が必要です。

  • Connect Customer のユーザー名は、ID プロバイダーから返される SAML レスポンスで指定された RoleSessionName SAML 属性と一致する必要があります。

  • Connect Customer はリバースフェデレーションをサポートしていません。つまり、 に直接ログインすることはできません Connect Customer。試してみると、「セッションが期限切れになりました」というメッセージが表示されます。認証は、サービスプロバイダー (SP) ではなく ID プロバイダー (IdP) から行う必要があります (Connect Customer)。

  • デフォルトでは、ほとんどの ID プロバイダーは、米国東部 (バージニア北部) でホストされているアプリケーションコンシューマーサービス (ACS) としてグローバル AWS サインインエンドポイントを使用します。この値をオーバーライドして、インスタンスが作成された  AWS リージョン  に一致するリージョンのエンドポイントを使用することをお勧めします。

  • SAML を使用している場合でも、すべての Connect Customer ユーザー名では大文字と小文字が区別されます。

  • SAML で設定された古い Connect Customer インスタンスがあり、Connect Customer ドメインを更新する必要がある場合は、「」を参照してください個人用設定

Connect Customer での SAML の使用の概要

次の図は、SAML リクエストがユーザーを認証し、Connect Customer とフェデレーションするためのステップを実行する順序を示しています。これは脅威モデルのフロー図ではありません。

Connect Customer を使用した SAML 認証リクエストのリクエストフローの概要。

SAML リクエストは、次のようなステップを通過します。

  1. ユーザーは、Connect Customer にログインするためのリンクを含む内部ポータルを参照します。リンクは、ID プロバイダーで定義されたものです。

  2. フェデレーションサービスが組織の ID ストアからの認証をリクエストします。

  3. ID ストアはユーザーを認証し、フェデレーションサービスに認証レスポンスを返します。

  4. 認証が成功すると、フェデレーションサービスはユーザーのブラウザに SAML アサーションを送信します。

  5. ユーザーのブラウザは、SAML アサーションを AWS サインイン SAML エンドポイント (https://signin.aws.amazon.com/saml) に投稿します。 AWS サインインは SAML リクエストを受け取り、リクエストを処理し、ユーザーを認証し、認証トークンを使用して Connect Customer エンドポイントへのブラウザリダイレクトを開始します。

  6. からの認証トークンを使用して AWS、Connect Customer はユーザーを承認し、ブラウザで Connect Customer を開きます。

Connect Customer の SAML ベースの認証の有効化

Connect Customer インスタンスで使用する SAML 認証を有効にして設定するには、次の手順が必要です。

  1. Connect Customer インスタンスを作成し、ID 管理用の SAML 2.0 ベースの認証を選択します。

  2. ID プロバイダーと 間の SAML フェデレーションを有効にします AWS。

  3. Connect Customer ユーザーを Connect Customer インスタンスに追加します。インスタンスを作成したときに作成した管理者アカウントを使用して、インスタンスにログインします。[ユーザー管理] ページに移動し、ユーザーを追加します。

    重要
    • ユーザー名で使用できる文字のリストについてはCreateUserUsername アクションのプロパティのドキュメントを参照してください。

    • Connect Customer ユーザーと AWS IAM ロールの関連付けにより、ユーザー名は IAM フェデレーション統合で設定された RoleSessionName AWS と完全に一致する必要があり、通常はディレクトリ内のユーザー名になります。ユーザー名の形式は、次の図に示すように、RoleSessionNameConnect Customer ユーザーの形式条件の共通部分と一致する必要があります。

      rolesessionname と Connect Customer ユーザーの Ven 図。
  4. SAML アサーション、認証レスポンス、リレーステートに向けて ID プロバイダーを設定します。ユーザーが ID プロバイダーにログインします。成功すると、Connect Customer インスタンスにリダイレクトされます。IAM ロールは AWS、Connect Customer へのアクセスを許可する とのフェデレーションに使用されます。

インスタンスの作成時に SAML 2.0 ベースの認証を選択する

Connect Customer インスタンスを作成するときは、ID 管理用の SAML 2.0 ベースの認証オプションを選択します。2 番目のステップでインスタンスの管理者を作成するとき、指定するユーザー名が既存のネットワークディレクトリ内のユーザー名と完全に一致しなければなりません。既存のディレクトリを通じてすでにパスワードが管理されているため、管理者ユーザーのパスワードを指定するオプションはありません。管理者は Connect Customer で作成され、管理者セキュリティプロファイルが割り当てられます。

IdP を介して Connect Customer インスタンスにログインするには、管理者アカウントを使用してユーザーを追加します。

ID プロバイダーと 間の SAML フェデレーションを有効にする AWS

Connect Customer の SAML ベースの認証を有効にするには、IAM コンソールで ID プロバイダーを作成する必要があります。詳細については、「SAML 2.0 フェデレーティッドユーザーが AWS マネジメントコンソールにアクセスできるようにする」を参照してください。

の ID プロバイダーを作成するプロセスは、Connect Customer の場合と同じ AWS です。上記のフロー図のステップ 6 は、クライアントが ではなく Connect Customer インスタンスに送信されることを示しています AWS マネジメントコンソール。

で SAML フェデレーションを有効にするために必要な手順 AWS は次のとおりです。

  1. で SAML プロバイダーを作成します AWS。詳細については、「SAML ID プロバイダーの作成」を参照してください。

  2. AWS マネジメントコンソールと SAML 2.0 フェデレーションを行うための IAM ロールを作成します。フェデレーション用に 1 つのロールのみを作成します (必要なロールは 1 つのみで、フェデレーションに使用されます)。IAM ロールによって、ID プロバイダーを通じてログインするユーザーが AWSでどのアクセス許可を得るかが決まります。この場合、アクセス許可は Connect Customer にアクセスするためのものです。Connect Customer のセキュリティプロファイルを使用して、Connect Customer の機能へのアクセス許可を制御できます。詳細については、「SAML 2.0 フェデレーション用のロールの作成 (コンソール)」を参照してください。

    ステップ 5 で、プログラムによるアクセスと AWS マネジメントコンソールアクセスを許可する を選択します。手順のトピック (SAML 2.0 フェデレーション用のロールを作成する準備をするには) に示されている信頼ポリシーを作成します。次に、Connect Customer インスタンスにアクセス許可を割り当てるポリシーを作成します。アクセス許可は、「SAML ベースのフェデレーション用のロールを作成するには」の手順のステップ 9 で始まります。

    SAML フェデレーションに向けて IAM ロールにアクセス権限を割り当てるポリシーを作成するには
    1. [Attach permissions policy (アクセス許可ポリシーをアタッチする)] ページで、[ポリシーの作成] を選択します。

    2. [Create policy] (ポリシーの作成) ページで [JSON] を選択します。

    3. 以下のサンプルポリシーのいずれかをコピーして JSON ポリシーエディタに貼り付け、既存のテキストを置き換えます。いずれかのポリシーを使用して SAML フェデレーションを有効化することも、特定の要件に合わせてポリシーをカスタマイズすることもできます。

      このポリシーを使用して、特定の Connect Customer インスタンスのすべてのユーザーに対してフェデレーションを有効にします。SAML ベースの認証の場合、作成したインスタンスの Resource の値を ARN に置き換えます。

      JSON
      { "Version":"2012-10-17", "Statement": [ { "Sid": "Statement1", "Effect": "Allow", "Action": "connect:GetFederationToken", "Resource": [ "arn:aws:connect:us-east-1:361814831152:instance/2fb42df9-78a2-2e74-d572-c8af67ed289b/user/${aws:userid}" ] } ] }

      このポリシーを使用して、特定の Connect Customer インスタンスへのフェデレーションを有効にします。connect:InstanceId の値をインスタンスのインスタンス ID に置き換えます。

      JSON
      { "Version":"2012-10-17", "Statement": [ { "Sid": "Statement2", "Effect": "Allow", "Action": "connect:GetFederationToken", "Resource": "*", "Condition": { "StringEquals": { "connect:InstanceId": "2fb42df9-78a2-2e74-d572-c8af67ed289b" } } } ] }

      このポリシーを使用すると、複数のインスタンスに対してフェデレーションを有効化することができます。リストされたインスタンス ID が括弧で囲まれていることに注意してください。

      JSON
      { "Version":"2012-10-17", "Statement": [ { "Sid": "Statement2", "Effect": "Allow", "Action": "connect:GetFederationToken", "Resource": "*", "Condition": { "StringEquals": { "connect:InstanceId": [ "2fb42df9-78a2-2e74-d572-c8af67ed289b", "1234567-78a2-2e74-d572-c8af67ed289b"] } } } ] }
    4. ポリシーを作成したら、[Next: Review] を選択します。その後、「SAML 2.0 フェデレーション用のロールの作成 (コンソール)」トピックの「SAML ベースのフェデレーション用のロールを作成するには」プロシージャの手順 10 に戻ります。

  3. ネットワークを AWS用の SAML プロバイダーとして設定します。詳細については、「SAML 2.0 フェデレーティッドユーザーが AWS マネジメントコンソールにアクセスできるようにする」を参照してください。

  4. 認証レスポンス用の SAML アサーションを設定します。詳細については、「認証レスポンスの SAML アサーションを設定する」を参照してください。

  5. Connect Customer の場合は、Application Start URL を空白のままにします。

  6. ID プロバイダーの Application Consumer Service (ACS) URL を上書きして、Connect Customer インスタンス AWS リージョン の と一致するリージョンエンドポイントを使用します。詳細については、「リージョンの SAML エンドポイントを使用するように ID プロバイダーを設定する」を参照してください。

  7. Connect Customer インスタンスを指すように ID プロバイダーのリレー状態を設定します。リレーステートに使用する URL は、次のとおりです。

    https://region-id.console.aws.amazon.com/connect/federate/instance-id

    region-id を、米国東部 (バージニア北部) の us-east-1 など、Connect Customer インスタンスを作成したリージョン名に置き換えます。instance-id をインスタンスのインスタンス ID で置き換えます。

    GovCloud インスタンスの場合、URL はhttps://console.amazonaws-us-gov.com/:

    • https://console.amazonaws-us-gov.com/connect/federate/instance-id

    注記

    Connect Customer コンソールでインスタンスエイリアスを選択すると、インスタンスのインスタンス ID を確認できます。インスタンス ID は、[概要] ページに表示されるインスタンス ARN の中の「/instance」の後にある数字と文字のセットです。例えば、以下のインスタンス ARN では、178c75e4-b3de-4839-a6aa-e321ab3f3770 の部分がインスタンス ID です。

    arn:aws:connect:us-east-1:450725743157:instance/178c75e4-b3de-4839-a6aa-e321ab3f3770

リージョンの SAML エンドポイントを使用するように ID プロバイダーを設定する

可用性を最大限に高めるには、デフォルトのグローバルエンドポイントではなく、Connect Customer インスタンスと一致するリージョン SAML エンドポイントを使用することをお勧めします。

以下のステップは IdP に依存しません。すべての SAML IdP (Okta、Ping、OneLogin、Shibboleth、ADFS、AzureAD など) で機能します。

  1. アサーションコンシューマーサービス (ACS) の URL を更新 (またはオーバーライド) します。これを行うには 2 つの方法があります。

    • オプション 1: SAML AWS メタデータをダウンロードし、 Location 属性を任意のリージョンに更新します。この新しいバージョンの AWS SAML メタデータを IdP にロードします。

      以下に、リビジョンの例を示します。

      <AssertionConsumerService index="1" isDefault="true" Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://region-id.signin.aws.amazon.com/saml"/>

    • オプション 2: IdP の AssertionConsumerService (ACS) URL をオーバーライドします。事前ベイクされた AWS 統合を提供する Okta などの IdPs の場合、 AWS 管理コンソールで ACS URL を上書きできます。同じ形式を使用して、任意のリージョンにオーバーライドします (例えば、https://region-id.signin.aws.amazon.com/saml)。

  2. 関連付けられたロールの信頼ポリシーを更新します。

    1. このステップは、特定の ID プロバイダーを信頼するすべてのアカウントのすべてのロールに対して実行する必要があります。

    2. 信頼関係を編集し、単一の SAML:aud 条件を多値条件に置き換えます。例:

      • デフォルト: "SAML:aud": "https://signin.aws.amazon.com/saml"。

      • 変更後: "SAML:aud": [ "https://signin.aws.amazon.com/saml", "https://region-id.signin.aws.amazon.com/saml" ]

    3. 信頼関係に対するこれらの変更は、事前に行ってください。インシデント中に計画の一部として実行すべきではありません。

  3. リージョン固有のコンソールページのリレー状態を設定します。

    1. この最後のステップを行わなかった場合、リージョン固有の SAML サインインプロセスによって同じリージョン内のコンソールサインインページにユーザーが転送されるという保証はありません。このステップは ID プロバイダーごとの違いが多いですが、ディープリンクを達成するためのリレー状態の使用を示しているブログがあります (例えば、「How to Use SAML to Automatically Direct Federated Users to a Specific AWS Management Console Page」(SAML を使用してフェデレーティッドユーザーを特定の AWS 管理コンソールページに自動的に転送する方法))。

    2. お使いの IdP に適したテクニック/パラメータを使用して、リレー状態を一致するコンソールエンドポイントに設定します (例えば、https://region-id.console.aws.amazon.com/connect/federate/instance-id)。

注記
  • 追加のリージョンで STS が無効になっていないことを確認します。

  • 追加のリージョンで STS アクションを妨げる SCP がないことを確認します。

リレーステートの URL で送信先を使用する

ID プロバイダーのリレーステートを設定するときは、URL の destination 引数を使用して、Connect Customer インスタンス内の特定のページにユーザーを移動できます。例えば、エージェントのログイン時に直接 CCP を開くリンクを使用します。ユーザーには、インスタンス内の該当ページへのアクセス権限を付与するセキュリティプロファイルが割り当てられていなければなりません。例えば、エージェントを CCP に送信するには、次のような URL をリレーステートに使用します。URL 内の送信先の値には URL エンコードを使用する必要があります。

  • https://us-east-1.console.aws.amazon.com/connect/federate/instance-id?destination=%2Fccp-v2%2Fchat&new_domain=true

有効な URL のもう 1 つの例は、次のとおりです。

  • https://us-east-1.console.aws.amazon.com/connect/federate/instance-id?destination=%2Fagent-app-v2

GovCloud インスタンスの場合、URL はhttps://console.amazonaws-us-gov.com/: したがって、アドレスは次のようになります。

  • https://console.amazonaws-us-gov.com/connect/federate/instance-id?destination=%2Fccp-v2%2Fchat&new_domain=true

独自のカスタムウェブサイトなど、Connect Customer インスタンス外の URL に宛先引数を設定する場合は、まずその外部ドメインをアカウントの承認済みオリジンに追加します。例えば、次の順番でステップを実行します。

  1. Connect Customer コンソールで、承認されたオリジンに https://your-custom-website.com を追加します。手順については、「Connect Customer の統合アプリケーションに許可リストを使用する」を参照してください。

  2. ID プロバイダーで、のリレーステートを https://your-region.console.aws.amazon.com/connect/federate/instance-id?destination=https%3A%2F%2Fyour-custom-website.com に設定します。

  3. エージェントがログインすると、直接 directly to https://your-custom-website.com に移動します。

Connect Customer インスタンスにユーザーを追加する

インスタンスにユーザーを追加するときは、ユーザー名が既存のディレクトリ内のユーザー名と完全に一致することを確認してください。名前が一致しない場合、ユーザーは ID プロバイダーにログインできますが、Connect Customer にはそのユーザー名のユーザーアカウントが存在しないため、Connect Customer にはログインできません。ユーザーは、[ユーザー管理] ページで手動で追加するか、CSV テンプレートを使って一括アップロードします。Connect Customer にユーザーを追加したら、セキュリティプロファイルやその他のユーザー設定を割り当てることができます。

ユーザーが ID プロバイダーにログインしても、Connect Customer に同じユーザー名のアカウントが見つからない場合、次のアクセス拒否メッセージが表示されます。

Connect Customer に名前がないユーザーのアクセス拒否エラー。
テンプレートを使ってユーザーを一括アップロードする

ユーザーをインポートするには、CSV ファイルに追加します。その後、CSV ファイルをインスタンスにインポートすると、そのファイルにすべてのユーザーが追加されます。CSV ファイルをアップロードしてユーザーを追加する場合は、SAML ユーザーのテンプレートを必ず使用してください。ユーザー管理ページは、Connect Customer にあります。SAML ベースの認証用には、別のテンプレートを使用します。テンプレートを以前ダウンロードしたことがある場合も、SAML ベースの認証を使ってインスタンスを設定した後、[ユーザー管理] ページで提供されているバージョンをダウンロードしてください。テンプレートに、E メールやパスワードの列を含めることはできません。

SAML ユーザーログインとセッションの長さ

Connect Customer で SAML を使用する場合、ユーザーは ID プロバイダー (IdP) を介して Connect Customer にログインする必要があります。IdP は と統合するように設定されています AWS。認証後、セッションのトークンが作成されます。その後、ユーザーは Connect Customer インスタンスにリダイレクトされ、シングルサインオンを使用して自動的に Connect Customer にログインします。

ベストプラクティスとして、Connect Customer の使用が終了したときに Connect Customer ユーザーがログアウトするプロセスも定義する必要があります。Connect Customer と ID プロバイダーの両方からログアウトする必要があります。そうでない場合、前のセッションのトークンはセッション期間中も有効であるため、同じコンピュータにログインした次のユーザーはパスワードなしで Connect Customer にログインできます。12 時間有効です。

セッションの有効期限について

Connect Customer セッションは、ユーザーがログインしてから 12 時間後に期限切れになります。12 時間後、ユーザーは、通話中であっても自動的にログアウトされます。エージェントが 12 時間以上ログインしたままになっている場合は、期限が切れる前にセッショントークンを更新する必要があります。新しいセッションを作成するには、エージェントが Connect Customer と IdP からログアウトしてから再度ログインする必要があります。そうすれば、トークンで設定されているセッションタイマーがリセットされるため、エージェントが顧客との通話中にログアウトされてしまう事態を防ぐことができます。ログインしているユーザーのセッションの有効期限が切れると、次のようなメッセージが表示されます。Connect Customer を再度使用するには、ユーザーは ID プロバイダーにログインする必要があります。

SAML ベースのユーザーに対して表示される、セッションの有効期限が切れたときのエラーメッセージ。
注記

ログイン中に [セッションが有効期限切れです] メッセージが表示される場合は、ほとんどの場合、セッショントークンを更新するだけで解決できます。ID プロバイダーに移動して、ログインします。Connect Customer ページを更新します。引き続きこのメッセージが表示される場合は、IT チームにお問い合わせください。