将您的身份提供商(IdP)与 Amazon Connect Global Resiliency SAML 登录端点集成 - Amazon Connect

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

将您的身份提供商(IdP)与 Amazon Connect Global Resiliency SAML 登录端点集成

要使您的代理能够登录一次并登录到两个 AWS 区域以处理来自当前活动区域的联系人,您需要将 IAM 设置配置为使用全局登录 SAML 终端节点。

开始前的准备工作

您必须为 Amazon Connect 实例启用 SAML,才能使用 Amazon Connect Global Resiliency。有关 IAM 联合身份验证入门的信息,请参阅使 SAML 2.0 联合身份用户能够访问 AWS 管理控制台

需要了解的重要事项

  • 要执行本主题中的步骤,您需要使用您的实例 ID。有关其查找方法的说明,请参阅找到您的 Amazon Connect 实例 ID/ARN

  • 此外,还需要知道您的 Amazon Connect 实例的源区域。有关其查找方法的说明,请参阅如何查找您的 Amazon Connect 实例的源区域

  • 如果您要将 Connect 应用程序嵌入到 iframe 中,则必须确保您的域名出现在源实例和副本实例的已批准来源列表中,才能使全局登录生效。

    要在实例级别配置已批准的来源,请按照中的步骤操作为集成应用程序使用允许列表

  • 座席必须已同时 在您的源和副本 Amazon Connect 实例中创建,并且其用户名必须与身份提供商(IdP)中的角色会话名称相同。否则,您将收到 UserNotOnboardedException 异常,并有失去实例之间的座席冗余功能的风险。

  • 在座席尝试登录之前,您必须将座席与流量分配组相关联。否则,座席登录将失败,并显示 ResourceNotFoundException。有关如何设置您的流量分配组以及如何将座席与其关联的信息,请参阅将代理与跨多个 AWS 区域的实例关联

  • 当您的座席使用新的 SAML 登录 URL 向 Amazon Connect 进行联合身份验证时,无论在流量分配组中如何配置 SignInConfig,Amazon Connect Global Resiliency 都会尝试将座席记录到您的源和副本区域/实例中。您可以通过检查 CloudTrail 日志来验证这一点。

  • 默认流量通讯组中的SignInConfig分布仅决定 AWS 区域 哪个用于简化登录。无论您的 SignInConfig 分配是如何配置的,Amazon Connect 都会始终尝试将座席登录到您的 Amazon Connect 实例所在的两个区域。

  • 复制 Amazon Connect 实例后,只会为您的实例生成一个 SAML 登录端点。此端点的 URL AWS 区域 中始终包含来源。

  • 在将个性化 SAML 登录 URL 与 Amazon Connect Global Resiliency 结合使用时,您无需配置中继状态。

如何集成身份提供者

  1. 当您使用 ReplicateInstanceAPI 创建 Amazon Connect 实例的副本时,系统会为您的 Amazon Connect 实例生成一个个性化的 SAML 登录网址。生成的 URL 采用以下格式:

    https://instance-id.source-region.sign-in.connect.aws/saml

    1. instance-id 是您的实例组中任一实例的实例 ID。源区域和副本区域中的实例 ID 相同。

    2. 源区域对应于ReplicateInstance调用 API 的源 AWS 区域。

  2. 将以下信任策略添加到您的 IAM 联合身份验证角色中。使用全局登录 SAML 端点的 URL,如以下示例中所示。

    { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Federated":[ "saml-provider-arn" ] }, "Action":"sts:AssumeRoleWithSAML", "Condition":{ "StringLike":{ "SAML:aud":[ "https://instance-id.source-region.sign-in.connect.aws/saml*" ] } } } ] }
    注意

    saml-provider-arn 是在 IAM 中创建的身份提供者资源。

  3. 为您的 IAM 联合身份验证角色上的 InstanceId 授予对 connect:GetFederationToken 的访问权限。例如:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "GetFederationTokenAccess", "Effect": "Allow", "Action": "connect:GetFederationToken", "Resource": "*", "Condition": { "StringEquals": { "connect:InstanceId": "your-instance-id" } } } ] }
  4. 使用以下属性和值字符串向您的身份提供者应用程序添加属性映射。

    属性

    https://aws.amazon.com/SAML/Attributes/Role

    saml-role-arn,identity-provider-arn

  5. 将身份提供者的断言消费者服务 (ACS) URL 配置为指向您的个性化 SAML 登录 URL。对 ACS URL 使用以下示例:

    https://instance-id.source-region.sign-in.connect.aws/saml?&instanceId=instance-id&accountId=your AWS account ID&role=saml-federation-role&idp=your SAML IDP&destination=optional-destination
  6. 在 URL 参数中设置以下字段:

    • instanceId:Amazon Connect 实例的标识符。有关如何查找实例 ID 的说明,请参阅找到您的 Amazon Connect 实例 ID/ARN

    • accountId:Amazon Connect 实例所在的 AWS 账户 ID。

    • role:设置为用于 Amazon Connect 联合身份验证的 SAML 角色的名称或 Amazon 资源名称 (ARN)。

    • idp:设置为 IAM 中 SAML 身份提供商的名称或 Amazon 资源名称 (ARN)。

    • destination:设置为座席在登录后将在其中登录实例的可选路径(例如:/agent-app-v2)。