

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

# 通过 Google Workspace 和 IAM Identity Center 配置 SAML 和 SCIM
<a name="gs-gwp"></a>

如果您的组织正在使用，Google Workspace则可以将您的用户集成Google Workspace到 IAM Identity Center 中，让他们访问 AWS 资源。将 IAM Identity Center 身份源从默认 IAM Identity Center 身份源改为 Google Workspace，可实现集成。

**注意**  
Google Workspace目前不支持应用程序 URLs中的 SAML 多重断言使用服务 (ACS)。 AWS IAM Identity Center 要充分利用 IAM Identity Center 中的[多区域支持](multi-region-iam-identity-center.md)，必须使用此 SAML 功能。如果您计划将 IAM Identity Center 复制到其他区域，请注意，使用单个 ACS URL 可能会影响这些其他区域的用户体验。您的主要区域将继续正常运行。我们建议您与 IdP 供应商合作以启用此功能。有关使用单个 ACS URL 在其他区域的用户体验的更多信息，请参阅[使用没有多个 ACS 的 AWS 托管应用程序 URLs](multi-region-workforce-access.md#aws-app-use-without-multiple-acs-urls)和[AWS 账户 无需多个 ACS 即可实现访问弹性 URLs](multi-region-failover.md#account-access-resiliency-without-multiple-acs-url)。

Google Workspace 的用户信息通过[跨域身份管理系统（SCIM）2.0 协议](scim-profile-saml.md#scim-profile)同步到 IAM Identity Center。有关更多信息，请参阅 [对外部身份提供者使用 SAML 和 SCIM 身份联合验证](other-idps.md)。

您可以在 Google Workspace 中使用 IAM Identity Center 的 SCIM 端点和 IAM Identity Center 持有者令牌来配置此连接。配置 SCIM 同步时，您将创建从 Google Workspace 中的用户属性到 IAM Identity Center 中的命名属性的映射。此映射在 IAM Identity Center 和 Google Workspace 之间匹配预期的用户属性。为此，您需要将 Google Workspace 设置为身份提供者并与您的 IAM Identity Center 连接。

**目标**

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

**注意**  
要注册 Google Workspace 的免费试用，请访问 Google's 网站上的 [https://workspace.google.com/](https://workspace.google.com/)。  
如果您尚未启用 IAM Identity Center，请参阅 [启用 IAM Identity Center](enable-identity-center.md)。

## 注意事项
<a name="gs-gwp-considerations"></a>
+ 在 Google Workspace 和 IAM Identity Center 之间配置 SCIM 预置之前，建议先查看 [使用自动预置的注意事项](provision-automatically.md#auto-provisioning-considerations)。
+ Google Workspace 中的 SCIM 自动同步当前仅限于用户预置。目前不支持自动组预置。可以使用 Ident AWS CLI ity Store [create-group 命令或 AWS Identity and Access Management (IAM) API 手动创建群组](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/identitystore/create-group.html)。[CreateGroup](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateGroup.html)也可使用 [ssosync](https://github.com/awslabs/ssosync) 将 Google Workspace 用户和组同步至 IAM Identity Center。
+ 必须已为每位 Google Workspace 用户指定**名字**、**姓氏**、**用户名**和**显示名称**值。
+ 每位 Google Workspace 用户的每个数据属性（如电子邮件地址或电话号码）只有一个值。若用户有多个值，则无法同步。如果用户的属性中有多个值，请先删除重复的属性，然后再尝试在 IAM Identity Center 中预置用户。例如，只能同步一个电话号码属性，因为默认的电话号码属性是“工作电话”，所以即使用户的电话号码是家庭电话号码或移动电话号码，也将使用“工作电话”属性存储其电话号码。
+ 如果用户在 IAM Identity Center 中被禁用，但在 Google Workspace 中仍然处于活动状态，属性仍然会同步。
+ 如果 Identity Center 目录中存在具有相同用户名和电子邮件的现有用户，则将从 Google Workspace 开始使用 SCIM 覆盖并同步该用户。
+  更改身份源还需注意其他事项。有关更多信息，请参阅 [从 IAM Identity Center 更改为外部 IdP](manage-your-identity-source-considerations.md#changing-from-idc-and-idp)。

## 步骤 1：Google Workspace：配置 SAML 应用程序
<a name="gs-gwp-step1"></a>

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

1. 在 **Google 管理控制台**左侧的导航面板中，依次选择**应用程序**、**Web 和移动应用程序**。

1. 在**添加应用程序**下拉列表中选择**搜索应用程序**。

1. 在搜索框中输入 **Amazon Web Services**，然后从列表中选择 **Amazon Web Services（SAML）**应用程序。

1. 在 **Google 身份提供者详细信息 – Amazon Web Services** 页面，可执行以下任一操作：

   1. 下载 IdP 元数据。

   1. 复制 SSO URL、实体 ID URL 和证书信息。

   步骤 2 需要 XML 文件或 URL 信息。

1. 在 Google 管理控制台中进入下一步之前，让此页面保持打开状态，再移至 IAM Identity Center 控制台。

## 步骤 2：IAM Identity Center 和 Google Workspace：更改 IAM Identity Center 身份源，并将 Google Workspace 设置为 SAML 身份提供者
<a name="gs-gwp-step2"></a>

1. 使用具有管理权限的角色登录 [IAM Identity Center 控制台](https://console.aws.amazon.com/singlesignon)。

1. 在左侧导航窗格中，选择**设置**。

1. 在**设置**页面，选择**操作**，然后选择**更改身份源**。
   + 若尚未启用 IAM Identity Center，请参阅[启用 IAM Identity Center](enable-identity-center.md) 了解更多信息。首次启用并访问 IAM Identity Center 后，您将进入**控制面板**，从中选择**选择身份源**。

1. 在**选择身份源**页面，选择**外部身份提供商**，然后选择**下一步**。

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

   1. 在 **IAM Identity Center** 控制台的**身份提供者元数据**部分，需要执行以下任一操作：

     1. 在 IAM Identity Center 控制台中将 **Google SAML 元数据**作为 **IdP SAML 元数据**上传。

     1. 将 **Google SSO URL** 复制并粘贴到 **IdP 登录 URL** 字段，将 **Google 发布者 URL** 复制并粘贴到 **IdP 发布者 URL** 字段，将 **Google 证书**作为 **IdP 证书**上传。

1. 在 **IAM Identity Center** 控制台的**身份提供者元数据**部分提供 Google 元数据后，复制 **IAM 身份断言使用者服务（ACS）URL** 和 **IAM Identity Center 发布者 URL**。在下一步中，您需要 URLs 在Google管理员控制台中提供这些信息。

1. 让 IAM Identity Center 控制台的页面保持打开状态，然后返回 Google 管理控制台。此时应位于 **Amazon Web Services – 服务提供商详细信息**页面。选择**继续**。

1. 在**服务提供商详细信息**页面，输入 **ACS URL** 和**实体 ID** 值。您在上一步复制了这些值，这些值可在 IAM Identity Center 控制台中找到。
   + **将 IAM Identity Center 断言使用者服务（ACS）URL** 粘贴到 **ACS URL** 字段
   + 将 **IAM Identity Center 发布者 URL** 粘贴到**实体 ID** 字段。

1. 在**服务提供商详细信息**页面，按如下所示在**名称 ID** 下填写字段：
   + 对于**名称 ID 格式**，请选择**电子邮件**
   + 对于**名称 ID**，请选择**基本信息 > 主电子邮件**

1. 选择**继续**。

1. 在**属性映射**页面的**属性**下，选择**添加映射**，然后在 **Google Directory 属性**下配置这些字段：
   + 对于 `https://aws.amazon.com/SAML/Attributes/RoleSessionName` **应用程序属性**，从 **Google Directory 属性** 中选择**基本信息，主要电子邮件**字段。
   + 在 `https://aws.amazon.com/SAML/Attributes/Role` **应用程序属性**中，选择任意 **Google Directory 属性**。Google Directory 属性可以是**部门**。

1. 选择**完成**。

1. 返回 **IAM Identity Center** 控制台并选择**下一步**。在**查看并确认**页面，查看信息，然后在提供的空白处输入**接受**。选择**更改身份源**。

现在，您已准备好在 Google Workspace 中启用 Amazon Web Services 应用程序，从而将用户预置到 IAM Identity Center。

## 第 3 步：Google Workspace：启用应用程序
<a name="gs-gwp-step3"></a>

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

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

1. 在**服务状态**面板中选择**为所有人开启**，然后选择**保存**。

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

## 步骤 4：IAM Identity Center：设置 IAM Identity Center 自动预置
<a name="gs-gwp-step4"></a>

1. 返回 IAM Identity Center 控制台。

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

1. 在**入站自动预置**对话框中，复制以下选项的每个值。本教程的步骤 5 需要输入这些值，以便在 Google Workspace 中配置自动预置。

   1. **SCIM 端点**-例如，
      + IPv4`https://scim.Region.amazonaws.com/11111111111-2222-3333-4444-555555555555/scim/v2`
      + 双栈 `https://scim.Region.api.aws/11111111111-2222-3333-4444-555555555555/scim/v2`

   1. **访问令牌** - 选择**显示令牌**以复制该值。
**警告**  
这是唯一可以获取 SCIM 端点与访问令牌的机会。在继续操作之前，务必复制这些值。

1. 选择**关闭**。

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

## 步骤 5：Google Workspace：配置自动预置
<a name="gs-gwp-step5"></a>

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

1. 在上一步中，您复制了 IAM Identity Center 控制台中的**访问令牌**值。将该值粘贴到**访问令牌**字段，然后选择**继续**。在上一步中，您还复制了 IAM Identity Center 控制台中的 **SCIM 端点**值。将该值粘贴到**端点 URL** 字段，然后选择**继续**。

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

1. 在**预置范围**部分，您可以选择 Google Workspace 目录的一个组，来提供对 Amazon Web Services 应用程序的访问权限。跳过此步骤并选择**继续**。

1. 在**取消预置**部分，您可以选择如何响应移除用户访问权限的不同事件。对于每种情况，您都可以指定在多久之后开始取消预置：
   + 24 小时内
   + 一天后
   + 七天后
   + 30 天后

   对于每种情况，都有一个时间设置，用来确定何时暂停账户的访问权限，以及何时删除账户。
**提示**  
设置删除用户账户前的等待时间时，其长度应始终长于暂停用户账户前的等待时间。

1. 选择**结束**。您将返回到 Amazon Web Services 应用程序页面。

1. 在**自动预置**部分，打开切换开关，将其从**非活跃**更改为**活跃**。
**注意**  
如果未为用户打开 IAM Identity Center，激活滑块将被禁用。选择**用户访问权限**并打开应用程序以启用滑块。

1. 在确认对话框中，选择**打开**。

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

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

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

## 传递访问控制属性 – *可选*
<a name="gwp-passing-abac"></a>

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

要将属性作为会话标签传递，请包含指定标签值的 `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` 元素。

## 将访问权限分配给 AWS 账户
<a name="gs-gwp-acct-access"></a>

仅授予访问权限时才需要执行以下步骤。 AWS 账户 授予 AWS 应用程序访问权限不需要这些步骤。

**注意**  
要完成此步骤，您需要拥有 IAM Identity Center 的 Organization 实例。有关更多信息，请参阅 [IAM Identity Center 的组织和账户实例](identity-center-instances.md)。

### 步骤 1：IAM Identity Center：向 Google Workspace 用户授予账户访问权限
<a name="gs-gwp-step6"></a>

1. 返回 **IAM Identity Center** 控制台。在 IAM Identity Center 导航窗格的**多账户权限**下，选择 **AWS 账户**。

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

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

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

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

      1. 对于**步骤 1：选择权限集类型**，请完成以下操作：
         + 在**权限集类型**中，选择**预定义权限集**。
         + 在**预定义权限集的策略**中，选择**AdministratorAccess**。

         选择**下一步**。

      1. 对于**步骤 2：指定权限集详细信息**，保留默认设置，并选择**下一步**。

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

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

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

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

   1. 对于**步骤 3：查看并提交**，请查看选定的用户和权限集，然后选择**提交**。

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

      您将返回到该 AWS 账户 页面。系统会显示一条通知消息，告知您 AWS 账户 已重新配置您的权限集，并且已应用更新的权限集。当用户登录时，他们可以选择*AdministratorAccess*角色。
**注意**  
Google Workspace 的 SCIM 自动同步仅支持预置用户。目前不支持自动组预置。您无法使用 AWS 管理控制台为 Google Workspace 用户创建组。配置用户后，您可以使用 Id AWS CLI entity Store [create-group 命令或 IAM API 创建群组](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/identitystore/create-group.html)。[CreateGroup](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateGroup.html)

### 步骤 2Google Workspace：确认Google Workspace用户对 AWS 资源的访问权限
<a name="gs-gwp-step7"></a>

1. 使用测试用户账户登录 Google。要了解如何向 Google Workspace 添加用户，请参阅 [Google Workspace 文档](https://knowledge.workspace.google.com/kb/how-to-create-a-new-user-000007668)。

1. 选择 Google apps 启动器（华夫饼）图标。

1. 滚动到应用程序列表底部，您的自定义 Google Workspace 应用程序就在这里。显示 **Amazon Web Services** 应用程序。

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

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

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

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

## 后续步骤
<a name="gs-gwp-next-steps"></a>

现在，您已在 IAM Identity Center 将 Google Workspace 配置为身份提供商，并预置了用户，您可以：
+  使用 Ident AWS CLI ity Stor [e create-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/identitystore/create-group.html) 命令或 IAM API [CreateGroup](https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_CreateGroup.html)为您的用户创建群组。

  在为 AWS 账户 和应用程序分配访问权限时，组非常有用。与其向每个用户单独分配访问权限，不如向组授予权限。稍后，当您在组中添加或移除用户时，该用户会自动获得或失去对您分配给该组的帐户和应用程序的访问权限。
+ 根据工作职能配置权限，请参阅[创建权限集](howtocreatepermissionset.md)。

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

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

## 问题排查
<a name="gs-gwp-troubleshooting"></a>

有关使用 Google Workspace 对 SCIM 和 SAML 进行一般性问题排查，请参阅以下各部分：
+ [特定用户无法从外部 SCIM 提供商同步到 IAM Identity Center](troubleshooting.md#issue2)
+ [与 IAM Identity Center 创建的 SAML 断言内容有关的问题](troubleshooting.md#issue1)
+ [使用外部身份提供者预置用户或组时出现重复用户或组错误](troubleshooting.md#duplicate-user-group-idp)
+ 有关 Google Workspace 问题排查，请参阅 [Google Workspace 文档](https://support.google.com/a/topic/7579248?sjid=11091727091254312767-NA)。

以下资源可以帮助您在使用时进行故障排除 AWS：
+ [AWS re:Post](https://repost.aws/)-查找 FAQs 并链接到其他资源以帮助您解决问题。
+ [AWS 支持](https://aws.amazon.com/premiumsupport/) – 获得技术支持