Amazon Connect
管理者ガイド

Amazon Connect での ID 管理用に SAML を設定する

Amazon Connect は、Security Assertion Markup Language (SAML) 2.0 を使った ID フェデレーションをサポートすることで、組織から Amazon Connect インスタンスへのウェブベースのシングルサインオン (SSO) を可能にします。これにより、ユーザーは SAML 2.0 互換の ID プロバイダー (IdP) によってホストされている組織のポータルにサインインすることができます。IdP には、Amazon Connect にログインするためのオプションがあります。このオプションでは、ユーザーは、Amazon Connect インスタンスにリダイレクトされます。Amazon Connect 用に認証情報を別途入力する必要はありません。

重要

SAML 認証を有効にするには、フェデレーションの AWS Identity and Access Management (IAM) ロールを作成します。このロールは、IdP と Amazon Web Services の間のフェデレーションに使用されます。AWS Identity and Access Management は、AWS リソースへのアクセスを安全にコントロールするのに役立つウェブサービスです。IAM により、誰を認証 (サインイン) し、誰にリソースの使用を承認する (アクセス権限を持たせる) かを制御します。この場合、IAM ロールは、ID プロバイダーと AWS の間のフェデレーションに使用されます。IAM ロールのアクセス権限が Amazon Connect へのアクセスを可能にします。

自分のルート AWS アカウントを SAML フェデレーションのアカウントとして使用することはできません。その代わりに、トピック内のステップや、AWS Identity and Access Management ドキュメントにリンクされたトピックに従ってフェデレーション用の IAM ロールを作成します。IAM の詳細については、「IAM とは何ですか」を参照してください。

Amazon Connect での SAML の使用の概要

次の図は、ユーザーを認証して Amazon Connect と連携させる際の SAML リクエストのフローを示します。


                Amazon Connect を使った SAML 認証リクエストのフロー

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

  1. ユーザーがアクセスする内部ポータルに、Amazon Connect にログインするためのリンクが含まれています。リンクは、ID プロバイダーで定義されたものです。

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

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

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

  5. ユーザーのブラウザが、AWS サインイン SAML エンドポイント (https://signin.aws.amazon.com/saml) に SAML アサーションを送信します。AWS サインインでは、SAML リクエストの受信、リクエストの処理、ユーザーの認証、Amazon Connect への認証トークンの転送を行います。

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

Amazon Connect に対して SAML ベースの認証を有効にする

Amazon Connect インスタンスで SAML 認証を使用するには、以下のステップで有効化し、設定する必要があります。

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

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

  3. Amazon Connect ユーザーを Amazon Connect インスタンスに追加します。インスタンスを作成したときに作成した管理者アカウントを使用して、インスタンスにログインします。[ユーザー管理] ページに移動し、ユーザーを追加します。ユーザー名は、ネットワークディレクトリと ID プロバイダー内のユーザー名と完全に一致する必要があります。

  4. SAML アサーション、認証レスポンス、リレーステートに向けて ID プロバイダーを設定します。ユーザーが ID プロバイダーにログインします。ログインしたら、Amazon Connect インスタンスにリダイレクトされます。IAM ロールを使用して、AWS と連携します。これで、Amazon Connect にアクセスできるようになります。

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

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

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

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

Amazon Connect に対して SAML ベースの認証を有効化するには、IAM コンソールで ID プロバイダーを作成する必要があります。詳細は、「Enabling SAML 2.0 Federated Users to Access the AWS Management Console (SAML 2.0 でフェデレーションしたユーザーによる AWS マネジメントコンソールへのアクセスを可能にする)」を参照してください。

AWS の ID プロバイダーを作成するためのプロセスは、Amazon Connect と同じです。フロー図のステップ 7 で、クライアントは、AWS マネジメントコンソール ではなく Amazon Connect インスタンスに送信されます。

AWS との SAML フェデレーションを有効にするには、次のようなステップが必要です。

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

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

    重要

    このロールを置き換えると、以前のフェデレーティッドユーザーがフェデレーションで失敗する可能性があります。

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

    SAML フェデレーションに向けて IAM ロールにアクセス権限を割り当てるポリシーを作成するには

    1. [Attach permissions policy (アクセス許可ポリシーをアタッチする)] ページで、[ポリシーの作成] を選択します。

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

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

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

      { "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}" ] } ] }

      このポリシーを使用すると、特定の Amazon Connect インスタンスへのフェデレーションが有効化されます。connect:InstanceId の値をインスタンスのインスタンス ID に置き換えます。

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

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

      { "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 プロバイダーとして設定します。詳細は、「Enabling SAML 2.0 Federated Users to Access the AWS Management Console (SAML 2.0 でフェデレーションしたユーザーによる AWS マネジメントコンソールへのアクセスを可能にする)」を参照してください。

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

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

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

    region-id を、Amazon Connect インスタンスを作成したリージョン名 (たとえば、米国東部を指す us-east-1) で置き換えます。instance-id をインスタンスのインスタンス ID で置き換えます。

    注記

    インスタンスのインスタンス ID を検索するには、Amazon Connect コンソールでインスタンスエイリアスを選択します。[概要Overview] ページに表示される [インスタンス ARN] の "/instance" に続く数字および文字一式がインスタンス ID です。たとえば、以下のインスタンス ARN では、178c75e4-b3de-4839-a6aa-e321ab3f3770 の部分がインスタンス ID です。

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

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

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

https://us-east-1.console.aws.amazon.com/connect/federate/instance-id?destination=%2Fconnect%2Fccp

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

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

ユーザーが ID プロバイダーにログインしたが、同じユーザー名を持つアカウントが Amazon Connect に存在しない場合は、次のように [アクセスが拒否されました] というメッセージが表示されます。


                ID プロバイダーを通じて Amazon Connect にログインしようとしたユーザーのユーザー名が Amazon Connect に存在しない場合に表示されるエラーメッセージ。

テンプレートを使ってユーザーを一括アップロードする

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

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

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

ベストプラクティスとして、Amazon Connect の使用を終了したユーザーがログアウトできるよう、Amazon Connect ユーザーに対してプロセスを定義することが大切です。ユーザーは、Amazon Connect と ID プロバイダーの両方からログアウトする必要があります。そうしないと、そのセッションのトークンがセッションの長さ (デフォルトでは 10 時間) にわたって有効であるため、同じコンピュータに次にログインした人物がパスワードなしで Amazon Connect にログインできることになります。

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

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


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