通过 Google Workspace 和 IAM Identity Center 配置 SAML 和 SCIM - AWS IAM Identity Center

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

通过 Google Workspace 和 IAM Identity Center 配置 SAML 和 SCIM

如果您的组织正在使用,Google Workspace则可以将您的用户和群组整合Google Workspace到 IAM Identity Center 中,让他们能够访问 AWS 资源。您可以通过将您的 IAM Identity Center 身份源从默认 IAM Identity Center 身份源更改为Google Workspace。

Google Workspace 的用户信息通过跨域身份管理系统 (SCIM) v2.0 协议同步到 IAM Identity Center。您可以在 Google Workspace 中使用 IAM Identity Center 的 SCIM 端点和 IAM Identity Center 持有者令牌来配置此连接。配置 SCIM 同步时,您将创建从 Google Workspace 中的用户属性到 IAM Identity Center 中的命名属性的映射。此映射在 IAM Identity Center 和 Google Workspace 之间匹配预期的用户属性。为此,您需要将 Google Workspace 设置为 IAM 身份提供商和 IAM Identity Center 身份提供商。

目标

本教程中的步骤有助于指导您在Google Workspace和 AWS之间建立 SAML 连接。稍后,您将使用 SCIM 从 Google Workspace 同步用户。要验证所有配置是否正确,完成配置步骤后,您将以Google Workspace用户身份登录并验证对 AWS 资源的访问权限。请注意,本教程基于一个小型 Google Workspace 目录测试环境。其中不包括组和组织单位等目录结构。完成本教程后,您的用户将能够使用您的Google Workspace凭据 AWS 访问门户。

注意

要注册 Google Workspace 的免费试用,请访问 Google's 网站上的 Google Workspace

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

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

  • SCIM 的自动同步Google Workspace目前仅限于用户配置。目前不支持自动群组配置。可以使用 Ident AWS CLI ity Store create-group 命令或 AWS Identity and Access Management (IAM) API 手动创建群组CreateGroup或者,您可以使用 ssosync 将Google Workspace用户和群组同步到 IAM 身份中心。

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

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

  • 如果用户在 IAM Identity Center 中被禁用,但在 Google Workspace 中仍然处于活动状态,属性仍然会同步。

  • 如果 Identity Center 目录中存在具有相同用户名和电子邮件地址的现有用户,则将使用来自的 SCIM 覆盖和同步该用户。Google Workspace

  • 更改身份来源时还有其他注意事项。有关更多信息,请参阅 从 IAM Identity Center 更改为外部 IdP

  1. 使用具有超级Google管理员权限的帐户登录您的管理控制台

  2. Google管理控制台的左侧导航面板中,选择应用程序,然后选择网络和移动应用程序

  3. 添加应用程序下拉列表中,选择搜索应用程序

  4. 在搜索框中输入 Amazon Web Servic es,然后从列表中选择亚马逊网络服务 (SAML) 应用程序。

  5. Google身份提供商详情-Amazon Web Services 页面上,您可以执行以下任一操作:

    1. 下载 IdP 元数据。

    2. 复制 SSO 网址、实体 ID 网址和证书信息。

    在步骤 2 中,您将需要 XML 文件或 URL 信息。

  6. 在进入Google管理控制台的下一步之前,请将此页面保持打开状态并移至 IAM Identity Center 控制台。

  1. 使用具有管理权限的角色登录 IAM 身份中心控制台

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

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

    • 如果您尚未启用 IAM Identity Center,请参阅了解启用 AWS IAM Identity Center更多信息。首次启用并访问 IAM Identity Center 后,您将进入控制面板,在那里您可以选择 “选择您的身份来源”。

  4. 选择身份源页面,选择外部身份提供商,然后选择下一步

  5. 将打开配置外部身份提供商页面。要完成本页和步骤 1 中的Google Workspace页面,您需要完成以下操作:

    1. IAM Identity Center 控制台的 “身份提供商元数据” 部分下,您需要执行以下任一操作:

      1. 在 IAM 身份中心控制台中将 GoogleSAML 元数据作为 I dP SAML 元数据上传。

      2. GoogleSSO 网址复制并粘贴到 IdP 登录网址字段Google,将颁者 URL 复制并粘贴到 IdP 颁发者 URL 字段,然后将证书作为 IdP Google 证书上传。

  6. IAM Identity Center 控制台的 “身份提供商元数据” 部分提供元数据后,复制AWS 访问门户登录 URLIAM 身份断言消费者服务 (ACS) URLIAM 身份中心颁发者 URL。Google下一步需要在Google管理员控制台中提供这些 URL。

  7. 使用 IAM Identity Center 控制台让页面保持打开状态,然后返回Google管理员控制台。您应该在 Amazon Web Services-服务提供商详情页面上。选择继续

  8. 服务提供商详细信息页面上,输入 ACS URL实体 ID起始 URL 值。您在上一步中复制了这些值,它们可以在 IAM Identity Center 控制台中找到。

    • IAM 身份中心断言消费者服务 (ACS) 网址粘贴到 ACS 网址字段

    • IAM 身份中心颁发者 URL 粘贴到实体 ID 字段中。

    • AWS 访问门户登录 URL 粘贴到 “起始 UR L” 字段。

  9. 服务提供商详细信息页面上,按如下方式填写 “名称 ID” 下的字段:

    • 对于名称 ID 格式,请选择电子邮件

    • 对于名称 ID,请选择基本信息 > 主电子邮件

  10. 选择继续

  11. “属性映射” 页面的 “属性” 下,选择 “添加映射”,然后在 “Google目录” 属性下配置以下字段:

    • 对于https://aws.amazon.com/SAML/Attributes/RoleSessionName应用程序属性,从Google Directory属性中选择基本信息、主电子邮件字段。

    • https://aws.amazon.com/SAML/Attributes/Role应用程序属性中,选择任意Google Directory属性。“Google目录” 属性可以是 “部门”。

  12. 选择完成

  13. 返回 IAM 身份中心控制台并选择下一步。在 “查看并确认” 页面上,查看信息,然后在提供的空白处输入 “接受”。选择更改身份源

现在,您已准备好在中启用 Amazon Web Services 应用程序,Google Workspace以便可以将您的用户配置到 IAM 身份中心。

  1. 返回Google管理控制台和您的 AWS IAM Identity Center 应用程序,可在 “应用程序” 和 “Web 和移动应用程序” 下找到。

  2. 用户访问权限旁边的用户访问面板中,选择向下箭头展开用户访问权限以显示服务状态面板。

  3. 在 “服务状态” 面板中,为所有人选择 “开”,然后选择 “保存”。

注意

为了帮助维护最低权限原则,我们建议您在完成本教程后将所有人的服务状态更改为 “关闭”。只有需要访问权限的用户才 AWS 应启用该服务。您可以使用 Google Workspace 组或组织单位,将用户访问权限授予特定的用户子集。

  1. 返回 IAM Identity Center 控制台。

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

  3. 入站自动预置对话框中,复制以下选项的每个值。在本教程的第 5 步中,您将输入这些值以配置自动配置Google Workspace。

    • SCIM 端点

    • 访问令牌

    警告

    这是您唯一一次可以获取 SCIM 端点和访问令牌。在继续操作之前,请务必复制这些值。

  4. 选择关闭

    现在,您已经在 IAM Identity Center 控制台中设置了配置,下一步将在中配置自动配置Google Workspace。

  1. 返回Google管理控制台和您的 AWS IAM Identity Center 应用程序,可在 “应用程序” 和 “Web 和移动应用程序” 下找到。在自动预置部分,选择配置自动预置

  2. 在前面的步骤中,您在 IAM Identity Center 控制台中复制了访问令牌值。将该值粘贴到访问令牌字段中,然后选择继续。此外,在前面的步骤中,您复制了 IAM Identity Center 控制台中的 SCIM 终端节点值。将该值粘贴到端点 URL 字段中。确保删除 URL 末尾的尾部正斜杠并选择继续

  3. 验证所有必需的 IAM Identity Center 属性(即标有 * 的属性)是否已映射到 Google Cloud Directory 属性。如果没有,请选择向下箭头并映射到适当的属性。选择继续

  4. 配置范围部分,您可以选择一个包含您的Google Workspace目录的群组,以提供对 Amazon Web Services 应用程序的访问权限。跳过此步骤并选择继续

  5. 在 “取消配置” 部分,您可以选择如何响应移除用户访问权限的不同事件。对于每种情况,您都可以指定在多久之后开始取消预置:

    • 24 小时内

    • 一天后

    • 七天后

    • 30 天后

    对于每种情况,都有一个时间设置,用来确定何时暂停账户的访问权限,以及何时删除账户。

    提示

    设置删除用户账户前的等待时间时,其长度应始终长于暂停用户账户前的等待时间。

  6. 选择完成。您将返回到 Amazon Web Services 应用程序页面。

  7. 在 “自动配置” 部分,打开切换开关,将其从 “非活动” 更改为 “活动”。

    注意

    如果未为用户打开 IAM Identity Center,激活滑块将被禁用。选择用户访问权限并打开应用程序以启用滑块。

  8. 在确认对话框中,选择打开

  9. 要验证用户是否已成功同步到 IAM Identity Center,请返回 IAM Identity Center 控制台并选择用户用户页面列出了您的 Google Workspace 目录中通过 SCIM 创建的用户。如果尚未列出用户,可能是由于预置仍在进行中。尽管在大多数情况下,预置可以在几分钟内完成,但最多可能需要 24 小时。确保每隔几分钟刷新一次浏览器窗口。

    选择一名用户并查看其详细信息。信息应与Google Workspace目录中的信息相匹配。

恭喜您!

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

  1. 返回 IAM 身份中心控制台。在 IAM Identity Center 导航窗格的多账户权限下,选择 AWS 账户

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

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

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

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

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

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

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

        选择下一步

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

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

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

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

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

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

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

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

      注意

      SCIM 的自动同步Google Workspace仅支持配置用户。目前不支持自动群组配置。您无法使用 AWS Management Console为 Google Workspace 用户创建组。配置用户后,您可以使用 Id AWS CLI entity Store create-group 命令或 IAM API 创建群组CreateGroup

  1. Google使用测试用户帐户登录。要了解如何向中添加用户Google Workspace,请参阅Google Workspace文档

  2. 选择 Google apps 启动器(华夫饼)图标。

  3. 滚动到应用程序列表底部,您的自定义 Google Workspace 应用程序就在这里。显示了两个应用程序:Amazon Web ServicesAWS 访问门户

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

    注意

    如果您选择 Amazon Web Services 应用程序,会收到 SAML 错误。该应用程序适用于已预置为 IAM 用户的 Google Workspace 用户,而本教程是将您的 Google Workspace 用户预置为 IAM Identity Center 中的用户。

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

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

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

您可以选择使用 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 元素。

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

  • 使用 Ident AWS CLI ity Stor e create-group 命令或 IAM API CreateGroup为您的用户创建群组。

    在为 AWS 账户 和应用程序分配访问权限时,组非常有用。与其向每个用户单独分配访问权限,不如向组授予权限。稍后,当您在组中添加或移除用户时,该用户会自动获得或失去对您分配给该组的账户和应用程序的访问权限。

  • 根据工作职能配置权限,请参阅创建权限集

    权限集定义用户和组对某一 AWS 账户账户的访问级别。权限集存储在 IAM Identity Center 中,可以配置给一个或多个 AWS 账户。您可以为用户分配多个权限集。

注意

作为 IAM Identity Center 管理员,您有时需要将旧的 IdP 证书替换为新的 IdP 证书。例如,当证书到期日期临近时,您可能需要更换 IdP 证书。用新证书替换旧证书的过程称为证书轮换。请务必查看如何为 Google Workspace 管理 SAML 证书