通过 Okta 和 IAM Identity Center 配置 SAML 和 SCIM - Amazon IAM Identity Center
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

通过 Okta 和 IAM Identity Center 配置 SAML 和 SCIM

您可以使用跨域身份管理系统 (SCIM) v2.0 协议将用户和组信息从 Okta 自动预置(同步)到 IAM Identity Center。要在 Okta 中配置此连接,您可以使用 IAM Identity Center 的 SCIM 终端节点和 IAM Identity Center 自动创建的持有者令牌。配置 SCIM 同步时,您将在 Okta 中创建用户属性到 IAM Identity Center 中的命名属性的映射。此映射在 IAM Identity Center 和您的 Okta 之间匹配预期的用户属性。

Okta 通过 SCIM 连接到 IAM Identity Center 时支持以下预置功能:

  • 创建用户——在 Okta 中分配给 IAM Identity Center 应用程序的用户是在 IAM Identity Center 中预置的。

  • 更新用户属性——在 Okta 中分配给 IAM Identity Center 应用程序的用户的属性更改将在 IAM Identity Center 中更新。

  • 停用用户——在 Okta 中从 IAM Identity Center 应用程序取消分配的用户将在 IAM Identity Center 被禁用。

  • 组推送——Okta 中的组(及其成员)同步到 IAM Identity Center。

    注意

    为了最大限度地减少 Okta 和 IAM Identity Center 的管理开销,我们建议您分配和推送组而不是单个用户。

如果您尚未启用 IAM Identity Center,请参阅 启用 Amazon IAM Identity Center

目标

在本教程中,您将逐步设置与 Okta IAM Identity Center 的 SAML 连接。稍后,您将使用 SCIM 从 Okta 同步用户。在该方案中,您可以管理 Okta 中的所有用户和组。用户通过 Okta 门户登录。要验证所有配置是否正确,完成配置步骤后,您将以Okta用户身份登录并验证对 Amazon 资源的访问权限。

注意

您可以注册安装了 Okta's IAM Identity Center 应用程序的 Okta 账户(免费试用)。对于付费 Okta 产品,您可能需要确认您的 Okta 许可证支持生命周期管理或类似的功能,以实现出站预置。将 SCIM 从 Okta 配置到 IAM Identity Center 可能需要这些功能。

在Okta和 IAM Identity Center 之间配置 SCIM 配置之前,我们建议您先进行审查使用自动预置的注意事项

在开始之前,确认以下事项:

  • 必须已为每位 Okta 用户指定名字姓氏用户名显示名称值。

  • 每位 Okta 用户的每个数据属性(如电子邮件地址或电话号码)只有一个值。任何具有多个值的用户都将无法同步。如果用户的属性中有多个值,请先删除重复的属性,然后再尝试在 IAM Identity Center 中预置用户。例如,只能同步一个电话号码属性,因为默认的电话号码属性是“工作电话”,所以即使用户的电话号码是家庭电话号码或移动电话号码,也将使用“工作电话”属性存储其电话号码。

  • 如果您更新用户的地址,则必须指定街道地址城市邮政编码国家/地区代码值。如果同步时未为 Okta 用户指定这些值中的任何一个,则不会预置该用户(或对用户的更改)。

注意

不支持权限和角色属性,也无法将其同步到 IAM Identity Center。

目前不支持使用相同的 Okta 组进行分配和组推送。要在 Okta 和 IAM Identity Center 之间保持一致的组成员资格,请创建一个单独的组并将其配置为将组推送到 IAM Identity Center。

  1. 登录 Okta admin dashboard,展开应用程序,然后选择应用程序

  2. 应用程序页面,选择浏览应用程序目录

  3. 在搜索框中键入 Amazon IAM Identity Center,选择要添加 IAM Identity Center 应用程序的应用程序。

  4. 选择登录选项卡。

  5. SAML 签名证书下,选择操作,然后选择查看 IdP 元数据。将打开一个新的浏览器选项卡,显示 XML 文件的文档树。选择从 <md:EntityDescriptor></md:EntityDescriptor> 的所有 XML,将其复制到文本文件。

  6. 将文本文件保存为 metadata.xml

将 Okta admin dashboard 保持为打开状态,您将在后续步骤中继续使用该控制台。

  1. 以具有管理权限的用户身份打开 IAM Identity Center 控制台

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

  3. 设置页面,选择操作,然后选择更改身份源

  4. 选择身份来源 下,选择外部身份提供程序,然后选择下一步

  5. 配置外部身份提供商下,执行以下操作:

    1. 服务提供商元数据下,选择下载元数据文件,以下载 IAM Identity Center 元数据文件,并将其保存在您的系统中。在本教程中,您稍后将向 Okta 提供 IAM Identity Center SAML 元数据文件。

      将以下项目复制到文本文件,以便于访问:

      • IAM Identity Center 断言使用者服务 (ACS) URL

      • IAM Identity Center 发布者 URL

      本教程稍后会用到这些值。

    2. 在 “身份提供者元数据” 下,在 IdP SAML 元数据下,选择 “选择文件”,然后选择您在上一步中创建的metadata.xml文件。

    3. 选择下一步

  6. 阅读免责声明并准备继续操作后,输入 ACCEPT

  7. 选择更改身份源

    保持 Amazon 控制台处于打开状态,下一步中您将继续使用该控制台。

  8. 返回 Okta admin dashboard,选择 Amazon IAM Identity Center 应用程序的登录选项卡,然后单击编辑

  9. 高级登录设置下,输入以下内容:

    • ACS URL 中,输入您复制的 IAM Identity Center 断言使用者服务 (ACS) URL

    • 发布者 URL 中,输入您复制的 IAM Identity Center 发布者 URL

    • 应用程序用户名格式中,选择下拉菜单中的一个选项。

      确保您选择的值对每个用户来说都是唯一的。在本教程中,选择 Okta 用户名

  10. 选择保存

现在,您可以在 IAM Identity Center 预置 Okta 的用户了。保持Okta admin dashboard打开状态,然后返回 IAM Identity Center 控制台进行下一步。

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

  2. 入站自动预置对话框中,复制以下选项的各个值:

    • SCIM 端点

    • 访问令牌

    在本教程的后面部分,您将输入这些值来配置配置Okta。

  3. 选择关闭

  4. 返回 Okta admin dashboard,移到 IAM Identity Center 应用程序。

  5. IAM Identity Center 应用程序页面上,选择配置选项卡,然后在左侧导航栏的 “设置” 下选择集成

  6. 选择 “编辑”,然后选中 “启用 API 集成” 旁边的复选框以启用配置。

  7. 使用您在本教程之前步骤中从 IAM Identity Center 复制的 SCIM 预置值,配置 Okta:

    1. 基本 URL 字段,输入 SCIM 端点值。确保删除 URL 末尾的尾部正斜杠。

    2. API 令牌字段,输入访问令牌值。

  8. 选择测试 API 凭证以验证输入的凭证是否有效。

    将显示 Amazon IAM Identity Center 验证成功!消息。

  9. 选择保存。您将导航到 “设置” 区域,并选择 “集成”。

  10. “设置” 下,选择 “至应用程序”,然后选中要用的每项 “向应用程序预配” 功能对应的 “启用” 复选框。在本教程中,请选择所有选项。

  11. 选择保存

现在,您可以将来自 Okta 的用户与 IAM Identity Center 同步了。

默认情况下,未将任何组或用户分配给您的 Okta IAM Identity Center 应用程序。通过预置组,该组的成员用户也会被预置。完成以下步骤,与 IAM Identity Center 同步组和用户。

  1. OktaIAM Identity Center 应用程序页面中,选择任务选项卡。您可以将人员和组分配至 IAM Identity Center 应用程序。

    1. 要分配人员:

      • 分配页面,选择分配,然后选择分配给人员

      • 选择您想要为其分配 IAM Identity Center 应用程序访问权限的 Okta 用户。选择分配,选择保存并返回,然后选择完成

      这将启动将用户预置到 IAM Identity Center 的过程。

    2. 要分配组:

      • 分配页面,选择分配,然后选择分配给组

      • 选择您想要为其分配 IAM Identity Center 应用程序访问权限的 Okta 组。选择分配,选择保存并返回,然后选择完成

      这将启动将组中的用户预置到 IAM Identity Center 的过程。

      注意

      如果所有用户记录中都没有该组的属性,您可能需要为该组指定其他属性。为组指定的属性将覆盖任何单独属性的值。

  2. 选择推送组选项卡。选择包含您分配给 IAM Identity Center 应用程序的所有组的 Okta 组。选择保存

    将组及其成员推送到 IAM Identity Center 后,组状态将更改为活动

  3. 返回分配选项卡。

  4. 如果有用户不属于您推送到 IAM Identity Center 的组,请使用以下步骤单独添加他们:

    分配页面,选择分配,然后选择分配给人员

  5. 选择您想要为其分配 IAM Identity Center 应用程序访问权限的 Okta 用户。选择分配,选择保存并返回,然后选择完成

    这将启动将单个用户预置到 IAM Identity Center 的过程。

    注意

    您也可以从的应用程序页面为 Amazon IAM Identity Center 应用程序分配用户和群组Okta admin dashboard。要这样做,请选择设置图标,然后选择分配给用户分配给组,然后指定用户或组。

  6. 返回 IAM Identity Center 控制台。在左侧导航栏中,选择用户,您应该会看到用户列表填入了您的 Okta 用户。

恭喜您!

您已成功在Okta和之间建立 SAML 连接, Amazon 并已验证自动配置正在运行。您现在可以在 IAM Identity Center 中将这些用户分配给账户和应用程序。在本教程的下一步,我们将指定一名用户,通过赋予其对管理账户的管理权限,使其成为 IAM Identity Center 管理员。

  1. 在 IAM Identity Center 导航窗格的多账户权限下,选择 Amazon Web Services 账户

  2. Amazon Web Services 账户 页面,组织结构将显示您的组织根目录,您的账户将以分层结构列于其下方。选中管理账户对应的复选框,然后选择分配用户或组

  3. 此时将显示分配用户和组工作流程。它包括三个步骤:

    1. 对于步骤 1:选择用户和组,选择将要执行管理员工作职能的用户。然后选择下一步

    2. 对于步骤 2:选择权限集,选择创建权限集,以打开新的标签页,它将引导您完成创建权限集所涉及的三个子步骤。

      1. 对于步骤 1:选择权限集类型,请完成以下操作:

        • 权限集类型中,选择预定义权限集

        • 预定义权限集的策略中,选择AdministratorAccess

        选择下一步

      2. 对于步骤 2:指定权限集详细信息,保留默认设置,并选择下一步

        默认设置会创建名为AdministratorAccess、会话持续时间设置为一小时的权限集。

      3. 对于步骤 3:查看并创建,请验证权限集类型是否使用 Amazon 托管策略AdministratorAccess。选择 创建权限集页面会显示通知,告知您权限集已创建。您可以在网络浏览器中关闭此标签页。

      分配用户和组浏览器标签页,您仍处于步骤 2:选择权限集,您将在这里启动创建权限集工作流程。

      权限集区域,选择刷新按钮。您创建的AdministratorAccess权限集将出现在列表中。选择该权限集的复选框,然后选择下一步

    3. 对于步骤 3:查看并提交,请查看选定的用户和权限集,然后选择提交

      页面更新时会显示一条消息,告知您 Amazon Web Services 账户 正在配置中。等待该过程完成。

      您将返回到该 Amazon Web Services 账户 页面。系统会显示一条通知消息,告知您 Amazon Web Services 账户 已重新配置并应用了更新的权限集。当用户登录时,他们可以选择角色。AdministratorAccess

      注意

      Okta 的 SCIM 的自动同步仅支持预置用户,无法自动预置组。您无法使用 Amazon Web Services Management Console为 Okta 用户创建组。预置用户后,您可以使用 CLI 或 API 操作创建组

  1. 使用测试用户账户登录 Okta dashboard。

  2. 我的应用程序下,选择 Amazon IAM Identity Center 图标。

  3. 您已登录门户并可以看到该 Amazon Web Services 账户 图标。展开该图标可查看用户可以访问的 Amazon Web Services 账户 列表。在本教程中,您只使用了一个账户,因此展开图标只显示一个账户。

  4. 选择账户,以显示用户可用的权限集。在本教程中,您创建了AdministratorAccess权限集。

  5. 权限集旁边是该权限集可用访问权限类型的链接。创建权限集时,您指定了同时启用管理控制台和编程访问权限,因此存在这两个选项。选择管理控制台,打开 Amazon Web Services Management Console。

  6. 用户已登录到控制台。

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

现在,您已在 IAM Identity Center 将 Okta 配置为身份提供商,并预置了用户,您可以: