PingFederate - AWS IAM Identity Center

PingFederate

IAM Identity Center 支持通过 Ping Identity(以下简称“Ping”)将 PingFederate 产品中的用户和组信息自动预置(同步)到 IAM Identity Center。此预置使用跨域身份管理系统 (SCIM) v2.0 协议。有关更多信息,请参阅 对外部身份提供者使用 SAML 和 SCIM 身份联合验证

您可以使用 IAM Identity Center SCIM 端点和访问令牌在 PingFederate 中配置此连接。配置 SCIM 同步时,您将在 PingFederate 中创建用户属性到 IAM Identity Center 中的命名属性的映射。这会导致 IAM Identity Center 和 PingFederate 之间的预期属性匹配。

本指南基于 PingFederate version 10.2。其他版本的步骤可能有所不同。请联系 Ping,了解有关如何为其他版本的 PingFederate 预置 IAM Identity Center 的更多信息。

以下步骤将引导您了解如何使用 SCIM 协议将用户和组从 PingFederate 自动预置到 IAM Identity Center。

注意

在开始部署 SCIM 之前,我们建议您首先查看 使用自动预置的注意事项。然后继续查看下一部分中的其他注意事项。

先决条件

在开始之前,您将需要以下内容:

  • 一台正在运行的 PingFederate 服务器。如果您没有现有 PingFederate 服务器,您可以从 Ping Identity 网站获取免费试用版或开发人员帐户。该试用版包括许可证和软件下载以及相关文档。

  • 安装在您的 PingFederate 服务器上的 PingFederate IAM Identity Center 连接器软件的副本。有关如何获取该软件的更多信息,请参阅 Ping Identity 网站上的 IAM Identity Center Connector

  • 支持 IAM Identity Center 的帐户(免费)。有关更多信息,请参阅启用 IAM Identity Center

  • 从 PingFederate 实例到 IAM Identity Center 的 SAML 连接。有关如何配置此连接的说明,请参阅 PingFederate 文档。综上所述,推荐的路径是使用 IAM Identity Center Connector 在 PingFederate 中配置“浏览器 SSO”,利用两端的“下载”和“导入”元数据功能在 PingFederate 和 IAM Identity 之间交换 SAML 元数据 中心。

额外注意事项

以下是关于 PingFederate 的重要注意事项,它们可能会影响您使用 IAM Identity Center 实施预置的方式。

  • 如果从 PingFederate 中配置的数据存储中的用户删除某个属性(例如电话号码),则不会从 IAM Identity Center 中的相应用户中删除该属性。这是 PingFederate’s 置备程序实现中的一个已知限制。如果用户的属性更改为不同的(非空)值,则该更改将同步到 IAM Identity Center。

步骤 1:在 IAM Identity Center 中启用预置

在第一步中,您使用 IAM Identity Center 控制台启用自动预置。

在 IAM Identity Center 中启用自动预置
  1. 完成先决条件后,打开 IAM Identity Center 控制台

  2. 在左侧导航窗格中选择设置

  3. 设置页面上,找到自动预置信息框,然后选择启用。这会立即在 IAM Identity Center 中启用自动预置,并显示必要的 SCIM 端点和访问令牌信息。

  4. 入站自动预置对话框中,复制以下选项的每个值。稍后在 IdP 中配置预置时,您需要粘贴这些内容。

    1. SCIM 端点:例如,https://scim.us-east-2.amazonaws.com/11111111111-2222-3333-4444-555555555555/scim/v2

    2. 访问令牌 - 选择显示令牌以复制该值。

    警告

    这是唯一可以获取 SCIM 端点与访问令牌的机会。在继续操作之前,务必复制这些值。本教程的后续步骤需要输入这些值,以便在 IdP 中配置自动预置。

  5. 选择关闭

现在您已在 IAM Identity Center 控制台中设置了预置,您必须使用 PingFederate 管理控制台完成剩余任务。以下过程中描述了这些步骤。

步骤2:在 PingFederate 中配置预置

在 PingFederate 管理控制台中使用以下过程启用 IAM Identity Center 和 IAM Identity Center 连接器之间的集成。此过程假设您已安装 IAM Identity Center Connector 软件。如果您尚未执行此操作,请参阅 先决条件,然后完成此过程来配置 SCIM 预置。

重要

如果您的 PingFederate 服务器之前尚未针对出站 SCIM 配置进行配置,您可能需要更改配置文件才能启用预置。有关更多信息,请参阅 Ping 文档。总之,您必须将 pingfederate-<version>/pingfederate/bin/run.properties 文件中的 pf.provisioner.mode 设置修改为 OFF(默认值)以外的值,并重新启动服务器(如果当前正在运行)。例如,如果您当前没有 PingFederate 的高可用性配置,您可以选择使用 STANDALONE

要在 PingFederate 中配置预置
  1. 登录到 PingFederate 管理控制台。

  2. 从页面顶部选择应用程序,然后单击 SP 连接

  3. 找到您之前创建的用于与 IAM Identity Center 形成 SAML 连接的应用程序,然后单击连接名称。

  4. 从页面顶部附近的黑色导航标题中选择连接类型。您应该看到已从之前的 SAML 配置中选择了浏览器 SSO。如果没有,您必须先完成这些步骤才能继续。

  5. 选中出站预置复选框,选择 IAM Identity Center Cloud Connector 作为类型,然后单击保存。如果 IAM Identity Center Cloud Connector 未显示为选项,请确保您已安装 IAM Identity Center Connector 并已重新启动 PingFederate 服务器。

  6. 重复单击下一步,直到到达出站预置页面,然后单击配置预置按钮。

  7. 在上一过程中,您复制了 IAM Identity Center 中的 SCIM 端点值。将该值粘贴到 PingFederate 控制台中的 SCIM URL 字段中。此外,在之前的过程中,您复制了 IAM Identity Center 中的访问令牌值。将该值粘贴到 PingFederate 控制台中的访问令牌字段中。单击保存

  8. 频道配置(配置频道)页面上,单击创建

  9. 输入此新预置频道的频道名称(例如 AWSIAMIdentityCenterchannel),然后单击下一步

  10. 页面上,选择要用于连接到 IAM Identity Center 的活动数据存储,然后单击下一步。动数据存储,然后单击下一步

    注意

    如果您尚未配置数据来源,则必须立即配置。有关如何在 PingFederate 中选择和配置数据来源的信息,请参阅 Ping 产品文档。

  11. 源设置页面上,确认安装的所有值均正确,然后单击下一步

  12. 源位置页面上,输入适合您的数据来源的设置,然后单击下一步。例如,如果使用 Active Directory 作为 LDAP 目录:

    1. 输入 AD 林的基本 DN(例如 DC=myforest,DC=mydomain,DC=com)。

    2. 用户 > 组 DN 中,指定一个包含您要配置到 IAM Identity Center 的所有用户的组。如果不存在这样的单个组,请在 AD 中创建该组,返回到此设置,然后输入相应的 DN。

    3. 指定是否搜索子组(嵌套搜索)以及任何所需的 LDAP 筛选条件

    4. 组 > 组 DN 中,指定一个组,其中包含您要配置到 IAM Identity Center 的所有组。在许多情况下,这可能与您在用户部分中指定的 DN 相同。根据需要输入嵌套搜索筛选条件值。

  13. 属性映射页面上,确保满足以下条件,然后单击下一步

    1. userName 字段必须映射到格式为电子邮件 (user@domain.com) 的属性。它还必须与用户用于登录 Ping 的值匹配。该值会在联合身份验证期间填充到 SAML nameId 声明中,并用于匹配 IAM Identity Center 中的用户。例如,当使用 Active Directory 时,您可以选择指定 UserPrincipalName 作为用户名

    2. 其他以 * 为后缀的字段必须映射到对您的用户来说非空的属性。

  14. 激活和摘要页面上,将频道状态设置为活动,以便在保存配置后立即开始同步。

  15. 确认页面上的所有配置值均正确,然后单击完成

  16. 管理频道页面上,单击保存

  17. 此时,预置开始了。要确认活动,您可以查看 Provisioner.log 文件,该文件默认位于 PingFederate 服务器上的 pingfederate-<version>/pingfederate/log 目录中。

  18. 要验证用户和组是否已成功同步到 IAM Identity Center,请返回 IAM Identity Center 控制台并选择用户。来自 PingFederate 的同步用户出现在用户页面上。您还可以在页面查看同步的组。

(可选)步骤 3:在 PingFederate 中配置用户属性以在 IAM Identity Center 中进行访问控制

如果您选择配置将在 IAM Identity Center 中使用的属性来管理对 AWS 资源的访问,那么这是 PingFederate 的可选过程。您在 PingFederate 中定义的属性将在 SAML 断言中传递到 IAM Identity Center。然后,您将在 IAM Identity Center 中创建一个权限集,以根据您从 PingFederate 传递的属性来管理访问。

在开始此过程之前,您必须首先启用 访问控制属性 功能。有关此操作的详细信息,请参阅 启用并配置访问控制属性

要在 PingFederate 中配置用户属性,用于 IAM Identity Center 的访问控制
  1. 登录到 PingFederate 管理控制台。

  2. 从页面顶部选择应用程序,然后单击SP 连接

  3. 找到您之前创建的用于与 IAM Identity Center 形成 SAML 连接的应用程序,然后单击连接名称。

  4. 从页面顶部附近的深色导航标题中选择浏览器 SSO。然后单击配置浏览器 SSO

  5. 配置浏览器 SSO页上,选择断言创建,然后单击配置断言创建

  6. 配置断言创建页上,选择属性合同

  7. 属性合同页面的延长合同部分下,通过执行以下步骤添加新属性:

    1. 在文本框中,输入 https://aws.amazon.com/SAML/Attributes/AccessControl:AttributeName,将 AttributeName 替换为您在 IAM Identity Center 中期望的属性名称。例如,https://aws.amazon.com/SAML/Attributes/AccessControl:Department

    2. 对于属性名称格式,选择 urn:oasis:names:tc:SAML:2.0:attrname-format:uri

    3. 选择添加,然后选择下一步

  8. 身份验证源映射页面上,选择使用您的应用程序配置的适配器实例。

  9. 属性合同履行页面上,选择属性合同 https://aws.amazon.com/SAML/Attributes/AccessControl:Department数据存储)和数据存储属性)。

    注意

    如果您尚未配置数据源,则需要立即进行配置。有关如何在 PingFederate 中选择和配置数据来源的信息,请参阅 Ping 产品文档。

  10. 重复单击下一步,直到进入激活和摘要页面,然后单击保存

(可选)传递访问控制属性

您可以选择使用 IAM Identity Center 中的 访问控制属性 功能来传递 Name 属性设置为 https://aws.amazon.com/SAML/Attributes/AccessControl:{TagKey}Attribute 元素。此元素允许您将属性作为 SAML 断言中的会话标签传递。有关会话标签的更多信息,请参阅 IAM 用户指南在 AWS STS 中的传递会话标签

要将属性作为会话标签传递,请包含指定标签值的 AttributeValue 元素。例如,要传递标签键值对CostCenter = blue,请使用以下属性。

<saml:AttributeStatement> <saml:Attribute Name="https://aws.amazon.com/SAML/Attributes/AccessControl:CostCenter"> <saml:AttributeValue>blue </saml:AttributeValue> </saml:Attribute> </saml:AttributeStatement>

如果您需要添加多个属性,请为每个标签包含一个单独的 Attribute 元素。