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

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

for Amazon Connect IAM SAMLで を設定する

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

重要な注意事項

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

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

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

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

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

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

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

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

Amazon Connect SAML での の使用の概要

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

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

SAML リクエストは次のステップを実行します。

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

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

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

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

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

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

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

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

  1. Amazon Connect インスタンスを作成し、アイデンティティ管理に SAML 2.0 ベースの認証を選択します。

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

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

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

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

      rolesessionname と Amazon Connect ユーザーのベン図。
  4. SAML アサーション、認証レスポンス、リレー状態に対して ID プロバイダーを設定します。ユーザーが ID プロバイダーにログインします。ログインできたら、Amazon Connect インスタンスにリダイレクトされます。IAM ロールは AWS、Amazon Connect へのアクセスを許可する とフェデレーションするために使用されます。

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

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

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

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

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

の ID プロバイダーを作成するプロセスは、Amazon Connect の場合と同じ AWS です。上記のフロー図のステップ 6 で、クライアントは、 AWS Management Consoleではなく Amazon Connect インスタンスに送信されます。

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

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

  2. を使用して SAML 2.0 フェデレーションのIAMロールを作成します AWS Management Console。フェデレーション用に 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ベースの認証では、 の値を、作成したインスタンスARNの Resourceに置き換えます。

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

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

      { "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] を選択します。次に、「Creating a Role for 2.0 Federation (コンソール)」トピックのSAML「 ベースのフェデレーションプロシージャのロールを作成するには」の「ステップ 10 に戻ります。 SAML

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

  4. Authentication Response SAML のアサーションを設定します。詳細については、Authentication Response のSAMLアサーションの設定 を参照してください。

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

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

  7. ID プロバイダーのリレーステートを、Amazon Connect インスタンスをポイントするように設定します。リレー状態URLに使用する は、次のように構成されます。

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

    を置き換える region-id us-east-1 for US East (バージニア北部) など、Amazon Connect インスタンスを作成したリージョン名。を置き換える instance-id インスタンスのインスタンス ID を使用します。

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

    • https://console.amazonaws-us-gov.com/connect/フェデレーション/インスタンス ID

    注記

    インスタンスのインスタンス ID を検索するには、Amazon Connect コンソールでインスタンスエイリアスを選択します。インスタンス ID は、概要ページに表示されるインスタンスARNの「/instance」の後の数字と文字のセットです。例えば、次のインスタンスのインスタンス ID ARNは 178c75e4-b3de-4839-a6aa-e321ab3f3770 です。

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

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

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

次の手順は IdP に依存しません。これらは任意の SAML IdP (Okta、Ping、Shibboleth OneLogin、ADFS、AzureAD など) で機能します。

  1. Assertion Consumer Service () を更新 (または上書きACS) しますURL。これを行うには 2 つの方法があります。

    • オプション 1: メタデータをダウンロード AWS SAMLし、選択したリージョンに 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 URLの AssertionConsumerService (ACS) を上書きします。事前ベイクされた AWS 統合を提供する Okta IdPs と同様に、 AWS 管理コンソールACSURLで を上書きできます。同じ形式を使用して、選択したリージョン (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 プロバイダーごとに最も異なりますが、ディープリンクを実現するためにリレー状態の使用を示すブログ (たとえば、フェデレーティッドユーザーSAMLを特定のAWSマネジメントコンソールページに自動的に誘導する方法) があります。

    2. IdP に適した手法/パラメータを使用して、リレー状態を一致するコンソールエンドポイント (https://region-id.console.aws.amazon.com/connect/federate/instance-id).

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

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

リレー状態で送信先を使用する URL

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

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

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

  • 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

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

  1. Amazon Connect コンソールで https://your-custom-website.com から承認済みのオリジンへ。手順については、Amazon Connect の統合アプリケーションの許可リストを使用する を参照してください。

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

  3. エージェントがログインすると、エージェントは https://your-custom-website.com。

Amazon Connect インスタンスにユーザーを追加します。

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

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

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 プロバイダーの両方からログアウトする必要があります。そうしないと、そのセッションのトークンがセッションの長さにわたって有効であるため、同じコンピュータに次にログインした人物がパスワードなしで Amazon Connect にログインできることになります。12 時間有効です。

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

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

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

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