

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

# 外部身份提供者
<a name="manage-your-identity-source-idp"></a>

借助 IAM Identity Center，您可以通过安全断言标记语言 (SAMLIdPs) 2.0 和跨域身份管理系统 (SCIM) 协议，连接来自外部身份提供商 () 的现有员工身份。这使您的用户能够使用其公司凭证登录 AWS 访问门户。然后，他们可以导航到为其分配的帐户、角色和托管在外部的应用程序 IdPs。

例如，您可以将 Okta 或 Microsoft Entra ID 等外部 IdP 连接到 IAM Identity Center。然后，您的用户可以使用其现有Okta或Microsoft Entra ID凭据登录 AWS 访问门户。要控制用户登录后可以执行的操作，您可以集中为他们分配 AWS 组织中所有账户和应用程序的访问权限。此外，开发人员只需使用其现有凭证登录 AWS Command Line Interface (AWS CLI)，即可从自动生成和轮换短期凭证中受益。

如果您使用的是 Active Directory 或中的自管理目录 AWS Managed Microsoft AD，请参阅[Microsoft AD 目录](manage-your-identity-source-ad.md)。

**注意**  
SAML 协议不提供查询 IdP 以了解用户和组的方法。因此，您必须通过将这些用户和组预置到 IAM Identity Center 来使 IAM Identity Center 了解这些用户和组。

## 当用户来自外部 IdP 时进行预置
<a name="provisioning-when-external-idp"></a>

使用外部 IdP 时，必须先将所有适用的用户和群组配置到 IAM Identity Center 中，然后才能对 AWS 账户 或应用程序进行任何分配。为此，您可以为用户和组配置 [使用 SCIM 从外部身份提供者预置用户和组](provision-automatically.md)，也可以使用 [手动预置](provision-automatically.md#provision-manually)。无论您如何配置用户，IAM Identity Center 都会将命令行界面和应用程序身份验证重定向到您的外部 IdP。 AWS 管理控制台然后，IAM Identity Center 根据您在 IAM Identity Center 中创建的策略授予对这些资源的访问权限。有关预置的更多信息，请参阅 [用户和组预调配](users-groups-provisioning.md#user-group-provision)。

**Topics**
+ [当用户来自外部 IdP 时进行预置](#provisioning-when-external-idp)
+ [如何连接到外部身份提供商](how-to-connect-idp.md)
+ [如何在 IAM Identity Center 中更改外部身份提供者元数据](how-to-change-idp-metadata.md)
+ [对外部身份提供者使用 SAML 和 SCIM 身份联合验证](other-idps.md)
+ [SCIM 配置文件和 SAML 2.0 实施](scim-profile-saml.md)

# 如何连接到外部身份提供商
<a name="how-to-connect-idp"></a>

对于支持的外部设备，有不同的先决条件、注意事项和配置程序 IdPs。有一些 step-by-step教程可供选择 IdPs：
+ [CyberArk](cyberark-idp.md)
+ [Google Workspace](gs-gwp.md)
+ [JumpCloud](jumpcloud-idp.md)
+ [Microsoft Entra ID](idp-microsoft-entra.md)
+ [Okta](gs-okta.md)
+ [OneLogin](onelogin-idp.md)
+ [Ping Identity](pingidentity.md)

有关 IAM Identity Center 支持的外部 IdPs 注意事项的更多信息，请参阅[对外部身份提供者使用 SAML 和 SCIM 身份联合验证](other-idps.md)。

 下方概述了所有外部身份提供者使用的过程。

**要连接到外部身份提供商**

1. 打开 [IAM Identity Center 控制台](https://console.aws.amazon.com/singlesignon)。

1. 选择**设置**。

1. 在**设置**页面上，选择**身份源**选项卡，然后选择**操作>更改身份源**。

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

1. 在**配置外部身份提供商**下，执行以下操作：

   1. 在**服务提供商元数据**下，选择**下载元数据文件**以下载元数据文件并将其保存在您的系统上。您的外部身份提供商需要 IAM Identity Center SAML 元数据文件。
**注意**  
您下载的 SAML 元数据文件包含 IPv4仅限和双栈断言消费者服务 (ACS)。 URLs此外，如果您的 IAM 身份中心被复制到其他区域，则元数据文件将包含每个额外区域 URLs 的 ACS。如果您的外部 IdP 对 ACS 的数量有限制 URLs，则需要删除不必要的 ACS。 URLs例如，如果您的组织已完全采用双堆栈终端节点，并且不再使用 IP4v仅限双堆栈的终端节点，则可以移除后者。另一种方法是不使用元数据文件，而是将 ACS 复制并粘贴 URLs 到外部 IdP 中。

   1. 在**身份提供者元数据**下选择**选择文件**，然后找到从外部身份提供者下载的元数据文件。然后上传该文件。此元数据文件包含用于信任从 IdP 发送的消息所需的公共 x509 证书。

   1. 选择**下一步**。
**重要**  
将源更改为 Active Directory 或从 Active Directory 更改源会删除所有现有的用户和组分配。成功更改来源后，您必须手动重新应用分配。

1. 阅读免责声明并准备继续操作后，输入**接受**。

1. 选择**更改身份源**。状态消息将通知您，您已成功更改身份源。

# 如何在 IAM Identity Center 中更改外部身份提供者元数据
<a name="how-to-change-idp-metadata"></a>

您可以更改之前提供给 IAM Identity Center 的外部身份提供者的元数据。这些更改会影响您的用户通过 IAM Identity Center 登录和访问 AWS 资源的能力。下列过程介绍了如何更新存储在 IAM Identity Center 中的外部 IdP 的元数据。要完成此过程，您需要拥有 IAM Identity Center 的组织实例。有关更多信息，请参阅 [IAM Identity Center 的组织和账户实例](identity-center-instances.md)。

**更改外部身份提供者的元数据**

1. 打开 [IAM Identity Center 控制台](https://console.aws.amazon.com/singlesignon)。

1. 选择**设置**。

1. 在**设置**页面上，选择**身份源**选项卡。选择**操作**，然后选择**管理身份验证**。

1. 在**身份提供者元数据**部分，选择**编辑 IdP 元数据**。您可以在此页面上更改外部 IdP 的 IdP 登录 URL 和/或 IdP 发布者 URL。完成所有必要的更改后，选择**保存更改**。

# 对外部身份提供者使用 SAML 和 SCIM 身份联合验证
<a name="other-idps"></a>

IAM Identity Center 实施以下基于标准的身份联合验证协议：
+ 用于用户身份验证的 SAML 2.0
+ 用于预置的 SCIM

任何实施这些标准协议的身份提供商 (IdP) 都有望与 IAM Identity Center 成功互操作，但需要注意以下特殊事项：
+ **SAML**
  + IAM Identity Center 要求电子邮件地址采用 SAML NameID 格式（即 `urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress`）。
  + [断言中 nameID 字段的值必须是符合 RFC 2822 ([https://tools.ietf.org/html/rfc2822) addr-spec (“”) 字符串 (/rfc2822](https://tools.ietf.org/html/rfc2822) \$1section -3.4.1)。`name@domain.com` https://tools.ietf.org/html](https://tools.ietf.org/html/rfc2822#section-3.4.1)
  + 元数据文件不能超过 75000 个字符。
  + 元数据必须包含 EntityID、X509 证书，并 SingleSignOnService作为登录网址的一部分。
  + 不支持加密密钥。
  + IAM Identity Center 不支持对发送给外部 IdPs的 SAML 身份验证请求进行签名。
  +  URLs 如果您计划将 IAM Identity Center 复制到其他区域，并充分利用多区域 IAM 身份中心的优势，IdP 必须支持多断言消费者服务 (ACS)。有关更多信息，请参阅 [跨多个 IAM 身份中心使用 AWS 区域](multi-region-iam-identity-center.md)。使用单个 ACS URL 可能会影响其他区域的用户体验。您的主要区域将继续正常运行。有关使用单个 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)。
+ **SCIM**
  + [IAM Identity Center SCIM 的实施基于 SCIM RFCs 7642 ([https://tools.ietf.org/html/rfc7642)、764](https://tools.ietf.org/html/rfc7642) 3 (/rfc7643) 和 7644 ([https://tools.ietf.org/html/rfc764](https://tools.ietf.org/html/rfc7643) 4)，以及 2020 年 3 月基本 [https://tools.ietf.org/htmlSCIM Profile 1.0 草案 (\$1rfc .section.4](https://tools.ietf.org/html/rfc7644)) 中规定的互操作性要求。 FastFed https://openid.net/specs/fastfed-scim-1\$10-02.html](https://openid.net/specs/fastfed-scim-1_0-02.html#rfc.section.4)这些文档与 IAM Identity Center 中当前实施之间的任何差异均在* IAM Identity Center SCIM 实施开发人员指南*的[支持的 API 操作](https://docs.aws.amazon.com/singlesignon/latest/developerguide/supported-apis.html)部分中进行了描述。

IdPs 不支持不符合上述标准和注意事项的内容。请联系您的 IdP，了解有关其产品是否符合这些标准和注意事项的问题或澄清。

如果您在将 IdP 连接到 IAM Identity Center 时遇到任何问题，我们建议您检查：
+ AWS CloudTrail 通过筛选事件名称来记录日志 L **ExternalIdPDirectoryogin**
+ 特定于 IDP 的日志调试日志 and/or 
+ [排查 IAM Identity Center 问题](troubleshooting.md)

**注意**  
有些 IdPs产品（例如中的那些）以专为 IAM Identity Center 构建的 “应用程序” 或 “连接器” 的形式为 IAM Identity Center 提供了简化的配置体验。[IAM Identity Center 身份源教程](tutorials.md)如果您的 IdP 提供此选项，我们建议您使用它，并小心选择专为 IAM Identity Center 构建的项目。其他名为 “AWS”、“AWS 联合” 或类似的通用 “AWS” 名称的项目可能使用其他联合方法 and/or 终端节点，并且可能无法按预期与 IAM Identity Center 配合使用。

# SCIM 配置文件和 SAML 2.0 实施
<a name="scim-profile-saml"></a>

SCIM 和 SAML 都是配置 IAM Identity Center 时的重要考虑因素。

## SAML 2.0 实施
<a name="samlfederationconcept"></a>

IAM Identity Center 支持使用 [SAML（安全断言标记语言）](https://wiki.oasis-open.org/security)2.0 进行身份联合验证。这允许 IAM Identity Center 对来自外部身份提供商的身份进行身份验证 (IdPs)。SAML 2.0 是一种用于安全交换 SAML 断言的开放标准。SAML 2.0 在 SAML 授权机构（称为身份提供商或 IdP）和 SAML 使用者（称为服务提供商或 SP）之间传递有关用户的信息。IAM Identity Center 服务使用此信息来提供联合身份验证单点登录。单点登录允许用户根据其现有的身份提供商凭据访问 AWS 账户 和配置应用程序。

IAM Identity Center 为您的 IAM 身份中心存储 AWS Managed Microsoft AD或外部身份提供商添加 SAML IdP 功能。然后，用户可以单点登录支持 SAML 的服务，包括 AWS 管理控制台 和第三方应用程序Microsoft 365，例如Concur、和。Salesforce

但是，SAML 协议不提供查询 IdP 以了解用户和组的方法。因此，您必须通过将这些用户和组预置到 IAM Identity Center 来使 IAM Identity Center 了解这些用户和组。

## SCIM 配置文件
<a name="scim-profile"></a>

IAM Identity Center 为跨域身份管理系统 (SCIM) v2.0 标准提供支持。SCIM 使您的 IAM Identity Center 身份与 IdP 的身份保持同步。这包括 IdP 和 IAM Identity Center 之间的任何用户预置、更新和取消预置。

有关如何实施 SCIM 的更多信息，请参阅 [使用 SCIM 从外部身份提供者预置用户和组](provision-automatically.md)。有关 IAM Identity Center SCIM 实施的更多详细信息，请参阅 [IAM Identity Center SCIM 实施开发人员指南](https://docs.aws.amazon.com/singlesignon/latest/developerguide/what-is-scim.html)。

**Topics**
+ [SAML 2.0 实施](#samlfederationconcept)
+ [SCIM 配置文件](#scim-profile)
+ [使用 SCIM 从外部身份提供者预置用户和组](provision-automatically.md)
+ [轮换 SAML 2.0 证书](managesamlcerts.md)

# 使用 SCIM 从外部身份提供者预置用户和组
<a name="provision-automatically"></a>

IAM Identity Center 支持使用跨域身份管理系统 (SCIM) v2.0 协议将用户和组信息从身份提供商 (IdP) 自动预置（同步）到 IAM Identity Center。配置 SCIM 同步时，您可以创建身份提供商 (IdP) 用户属性到 IAM Identity Center 中的命名属性的映射。这会导致 IAM Identity Center 和您的 IdP 之间的预期属性匹配。您可以使用 IAM Identity Center 的 SCIM 端点和您在 IAM Identity Center 中创建的持有者令牌，在 IdP 中配置此连接。

**Topics**
+ [使用自动预置的注意事项](#auto-provisioning-considerations)
+ [如何监控访问令牌过期](#access-token-expiry)
+ [生成访问令牌](generate-token.md)
+ [启用自动预置](how-to-with-scim.md)
+ [删除访问令牌](delete-token.md)
+ [禁用自动预置](disable-provisioning.md)
+ [轮换访问令牌](rotate-token.md)
+ [审计和协调自动预置的资源](reconcile-auto-provisioning.md)
+ [手动预置](#provision-manually)

## 使用自动预置的注意事项
<a name="auto-provisioning-considerations"></a>

在开始部署 SCIM 之前，我们建议您首先查看以下有关其如何与 IAM Identity Center 配合使用的重要注意事项。有关其他预置注意事项，请参阅相应 IdP 适用的 [IAM Identity Center 身份源教程](tutorials.md)。
+ 如果您要预置主电子邮件地址，则此属性值对于每个用户必须是唯一的。在某些 IdPs情况下，主电子邮件地址可能不是真实的电子邮件地址。例如，它可能是看起来像电子邮件的通用主体名称 (UPN)。它们 IdPs 可能有一个包含用户真实电子邮件地址的辅助或 “其他” 电子邮件地址。您必须在 IdP 中配置 SCIM，以将非空唯一电子邮件地址映射到 IAM Identity Center 主电子邮件地址属性。并且您必须将用户的非空唯一登录标识符映射到 IAM Identity Center 用户名属性。检查您的 IdP 是否具有既是登录标识符又是用户电子邮件名称的单一值。如果是这样，您可以将该 IdP 字段映射到 IAM Identity Center 主电子邮件和 IAM Identity Center 用户名。
+ 要使 SCIM 同步起作用，必须为每个用户指定**名字**、**姓氏**、**用户名**和**显示名称**值。如果用户缺少这些值中的任何一个，则不会配置该用户。
+ 如果您需要使用第三方应用程序，则首先需要将出站 SAML 主题属性映射到用户名属性。如果第三方应用程序需要可路由的电子邮件地址，您必须向您的 IdP 提供电子邮件属性。
+ SCIM 预置和更新间隔由您的身份提供商控制。仅当您的身份提供商将这些更改发送到 IAM Identity Center 后，对身份提供商中的用户和组的更改才会反映在 IAM Identity Center 中。请咨询您的身份提供商，了解有关用户和组更新频率的详细信息。
+ 目前，SCIM 未配置多值属性（例如给定用户的多个电子邮件或电话号码）。尝试使用 SCIM 将多值属性同步到 IAM Identity Center 将失败。为了避免失败，请确保为每个属性仅传递一个值。如果您的用户具有多值属性，请删除或修改 IdP 处 SCIM 中的重复属性映射，以连接到 IAM Identity Center。
+ 验证 IdP 处的 `externalId` SCIM 映射是否对应于对您的用户而言唯一、始终存在且最不可能更改的值。例如，您的 IdP 可能会提供有保证的 `objectId` 或其他标识符，这些标识符不会受到姓名和电子邮件等用户属性更改的影响。如果是这样，您可以将该值映射到 SCIM `externalId` 字段。这样可以确保您的用户在需要更改姓名或电子邮件时不会丢失 AWS 授权、分配或权限。
+ 尚未分配到应用程序或 AWS 账户 无法配置到 IAM Identity Center 的用户。要同步用户和组，请确保将它们分配给代表您的 IdP 与 IAM Identity Center 连接的应用程序或其他设置。
+ 用户取消预置行为由身份提供者管理，可能因实现情况而异。请咨询相关身份提供者，了解有关用户取消预置的详细信息。
+ 为您的 IdP 设置 SCIM 自动预置后，您将无法再在 IAM Identity Center 控制台中添加或编辑用户。如果您需要添加或修改用户，必须从您的外部 IdP 或身份源执行此操作。

有关 IAM Identity Center SCIM 实施的更多信息，请参阅 [IAM Identity Center SCIM 实施开发人员指南](https://docs.aws.amazon.com/singlesignon/latest/developerguide/what-is-scim.html)。

## 如何监控访问令牌过期
<a name="access-token-expiry"></a>

SCIM 访问令牌的生成有效期为一年。当您的 SCIM 访问令牌设置为 90 天或更短时间后到期时， AWS 会在 IAM Identity Center 控制台和控制 AWS Health 面板中向您发送提醒，以帮助您轮换令牌。通过在 SCIM 访问令牌过期之前进行轮换，您可以持续保护用户和组信息的自动预置。如果 SCIM 访问令牌过期，用户和组信息从身份提供商到 IAM Identity Center 的同步将停止，因此自动预置无法再进行更新或创建和删除信息。自动预置中断可能会增加安全风险并影响对服务的访问。

Identity Center 控制台提醒将持续存在，直到您轮换 SCIM 访问令牌并删除任何未使用或过期的访问令牌。 AWS Health 控制面板事件每周续订 90 到 60 天，每周更新两次，从 60 到 30 天，每周续订三次，从 30 到 15 天，每天续订 15 天，直到 SCIM 访问令牌到期。

# 生成访问令牌
<a name="generate-token"></a>

使用以下过程在 IAM Identity Center 控制台中生成新的访问令牌。

**注意**  
此过程要求您之前已启用自动预置。有关更多信息，请参阅 [启用自动预置](how-to-with-scim.md)。

**生成新的访问令牌**

1. 在 [IAM Identity Center 控制台](https://console.aws.amazon.com/singlesignon)中，选择左侧导航窗格中的**设置**。

1. 在**设置**页面上，选择**身份源**选项卡，然后选择**操作>管理预置**。

1. 在**自动预置**页面的**访问令牌**下，选择**生成令牌**。

1. 在**生成新的访问令牌**对话框中，复制新的访问令牌并将其保存在安全的地方。

1. 选择**关闭**。

# 启用自动预置
<a name="how-to-with-scim"></a>

使用以下过程可使用 SCIM 协议将用户和组从 IdP 自动预置到 IAM Identity Center。

**注意**  
在开始此过程之前，我们建议您首先查看适用于您的 IdP 的预置注意事项。有关更多信息，请参阅相应 IdP 的 [IAM Identity Center 身份源教程](tutorials.md)。

**在 IAM Identity Center 中启用自动预置**

1. 完成先决条件后，打开 [IAM Identity Center 控制台](https://console.aws.amazon.com/singlesignon)。

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

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

1. 在**入站自动预置**对话框中，复制 SCIM 端点和访问令牌。稍后在 IdP 中配置预置时，您需要粘贴这些内容。

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

   1. **访问令牌** - 选择**显示令牌**以复制该值。
**警告**  
这是唯一可以获取 SCIM 端点与访问令牌的机会。在继续操作之前，务必复制这些值。本教程的后续步骤需要输入这些值，以便在 IdP 中配置自动预置。

1. 选择**关闭**。

完成此过程后，您必须在 IdP 中配置自动预置。有关更多信息，请参阅相应 IdP 的 [IAM Identity Center 身份源教程](tutorials.md)。

# 删除访问令牌
<a name="delete-token"></a>

使用以下过程删除 IAM Identity Center 控制台中的现有访问令牌。

**删除现有的访问令牌**

1. 在 [IAM Identity Center 控制台](https://console.aws.amazon.com/singlesignon)中，选择左侧导航窗格中的**设置**。

1. 在**设置**页面上，选择**身份源**选项卡，然后选择**操作>管理预置**。

1. 在**自动预置**页面的**访问令牌**下，选择要删除的访问令牌，然后选择**删除**。

1. 在**删除访问令牌**对话框中，查看信息，键入 **DELETE**，然后选择**删除访问令牌**。

# 禁用自动预置
<a name="disable-provisioning"></a>

使用以下过程在 IAM Identity Center 控制台中禁用自动预置。

**重要**  
在开始此过程之前，您必须删除访问令牌。有关更多信息，请参阅 [删除访问令牌](delete-token.md)。

**在 IAM Identity Center 控制台中禁用自动预置**

1. 在 [IAM Identity Center 控制台](https://console.aws.amazon.com/singlesignon)中，选择左侧导航窗格中的**设置**。

1. 在**设置**页面上，选择**身份源**选项卡，然后选择**操作>管理预置**。

1. 在**自动预置**页面上，选择**禁用**。

1. 在**禁用自动预置**对话框中，查看信息，键入**禁用**，然后选择**禁用自动预置**。

# 轮换访问令牌
<a name="rotate-token"></a>

IAM Identity Center 目录一次最多支持两个访问令牌。要在任何轮换之前生成额外的访问令牌，请删除所有过期或未使用的访问令牌。

如果您的 SCIM 访问令牌即将过期，您可以使用以下过程在 IAM Identity Center 控制台中轮换现有访问令牌。

**要轮换访问令牌**

1. 在 [IAM Identity Center 控制台](https://console.aws.amazon.com/singlesignon)中，选择左侧导航窗格中的**设置**。

1. 在**设置**页面上，选择**身份源**选项卡，然后选择**操作>管理预置**。

1. 在**自动预置**页面的**访问令牌**下，记下要轮换的令牌的令牌 ID。

1. 按照 [生成访问令牌](generate-token.md) 的步骤创建一个新的令牌。如果您已创建最大数量的 SCIM 访问令牌，则首先需要删除现有令牌之一。

1. 转至身份提供商的网站并为 SCIM 预置预置新的访问令牌，然后使用新的 SCIM 访问令牌测试与 IAM Identity Center 的连接。确认使用新令牌预置成功后，请继续执行此过程中的下一步。

1. 按照 [删除访问令牌](delete-token.md) 中的步骤删除您之前记下的旧访问令牌。您还可以使用令牌的创建日期作为要删除哪个令牌的提示。

# 审计和协调自动预置的资源
<a name="reconcile-auto-provisioning"></a>

SCIM 使您能够将用户、组和组成员资格从身份源自动预置到 IAM Identity Center。本指南帮助您验证和协调这些资源，以维持准确的同步。

## 为何要审计您的资源？
<a name="reconcile-auto-provisioning-why-audit"></a>

定期审计有助于确保您的访问控制保持准确，并且您的身份提供者（IdP）与 IAM Identity Center 保持正确同步。这对于安全合规性和访问管理尤为重要。

您可以审计的资源：
+ Users
+ 组
+ 组成员资格

 您可以使用 Ident AWS ity Store [APIs](https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/welcome.html)或 [CLI 命令](https://docs.aws.amazon.com/cli/latest/reference/identitystore/)进行审计和对账。以下示例使用 AWS CLI 命令。有关 API 替代方案，请参阅《*Identity Store API 参考*》中的[相应操作](https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Operations.html)。

## 如何审计资源
<a name="how-to-audit-resources"></a>

以下是如何使用 AWS CLI 命令审核这些资源的示例。

在开始之前，请确保您满足以下条件：
+ 对 IAM Identity Center 的管理员访问权限。
+ AWS CLI 已安装并配置。有关信息，请参阅 [https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)。
+ 执行 Identity Store 命令所需的 IAM 权限。

### 步骤 1：列出当前资源
<a name="list-current-resources"></a>

您可以使用查看您当前的资源 AWS CLI。

**注意**  
 使用时 AWS CLI，除非您指定`--no-paginate`，否则会自动处理分页。如果您直接调用 API（例如，使用 SDK 或自定义脚本），请处理响应中的 `NextToken`。这确保您能检索跨多个页面的所有结果。

**Example 适用于用户**  

```
aws identitystore list-users \
  --region REGION \
  --identity-store-id IDENTITY_STORE_ID
```

**Example 适用于组**  

```
aws identitystore list-groups \
  --region REGION \
  --identity-store-id IDENTITY_STORE_ID
```

**Example 适用于组成员资格**  

```
aws identitystore list-group-memberships \
  --region REGION \
  --identity-store-id IDENTITY_STORE_ID
  --group-id GROUP_ID
```

### 步骤 2：与您的身份源进行比较
<a name="compare-idenity-source"></a>

将列出的资源与您的身份源进行比较，以识别任何差异，例如：
+ 缺失了本应在 IAM Identity Center 中预置的资源。
+ 应从 IAM Identity Center 中移除的额外资源。

**Example 适用于用户**  

```
# Create missing users
aws identitystore create-user \
  --identity-store-id IDENTITY_STORE_ID \
  --user-name USERNAME \
  --display-name DISPLAY_NAME \
  --name GivenName=FIRST_NAME,FamilyName=LAST_NAME \
  --emails Value=EMAIL,Primary=true

# Delete extra users
aws identitystore delete-user \
  --identity-store-id IDENTITY_STORE_ID \
  --user-id USER_ID
```

**Example 适用于组**  

```
# Create missing groups
aws identitystore create-group \
  --identity-store-id IDENTITY_STORE_ID \
  [group attributes]
  
# Delete extra groups
aws identitystore delete-group \
  --identity-store-id IDENTITY_STORE_ID \
  --group-id GROUP_ID
```

**Example 适用于组成员资格**  

```
# Add missing members
aws identitystore create-group-membership \
  --identity-store-id IDENTITY_STORE_ID \
  --group-id GROUP_ID \
  --member-id '{"UserId": "USER_ID"}'
  
# Remove extra members
aws identitystore delete-group-membership \
  --identity-store-id IDENTITY_STORE_ID \
  --membership-id MEMBERSHIP_ID
```

## 注意事项
<a name="audit-resources-consideratons"></a>
+ 命令受[服务配额和 API 节流](limits.md#ssothrottlelimits)的约束。
+ 当您在协调过程中发现许多差异时，请逐步对 Ident AWS ity Store 进行细微的更改。这有助于您避免影响多个用户的错误。
+ SCIM 同步可能会覆盖您的手动更改。检查您的 IdP 设置以了解此行为。

## 手动预置
<a name="provision-manually"></a>

有些 IdPs 不支持跨域身份管理系统 (SCIM)，或者有不兼容的 SCIM 实现。在这些情况下，您可以通过 IAM Identity Center 控制台手动配置用户。当您将用户添加到 IAM Identity Center 时，请确保将用户名设置为与 IdP 中的用户名相同。您至少必须拥有唯一的电子邮件地址和用户名。有关更多信息，请参阅 [用户名和电子邮件地址的唯一性](users-groups-provisioning.md#username-email-unique)。

您还必须在 IAM Identity Center 中手动管理所有组。为此，您需要创建组并使用 IAM Identity Center 控制台添加它们。这些组不需要与您的 IdP 中存在的组匹配。有关更多信息，请参阅 [组](users-groups-provisioning.md#groups-concept)。

# 轮换 SAML 2.0 证书
<a name="managesamlcerts"></a>

IAM Identity Center 使用证书在 IAM Identity Center 和您的外部身份提供商 (IdP) 之间建立 SAML 信任关系。当您在 IAM Identity Center 中添加外部 IdP 时，您还必须从外部 IdP 获取至少一个公共 SAML 2.0 X.509 证书。该证书通常在信任创建期间的 IdP SAML 元数据交换期间自动安装。

作为 IAM Identity Center 管理员，您有时需要将旧的 IdP 证书替换为新的 IdP 证书。例如，当证书到期日期临近时，您可能需要更换 IdP 证书。用新证书替换旧证书的过程称为证书轮换。

**Topics**
+ [轮换 SAML 2.0 证书](rotatesamlcert.md)
+ [证书过期状态指示器](samlcertexpirationindicators.md)

# 轮换 SAML 2.0 证书
<a name="rotatesamlcert"></a>

您可能需要定期导入证书，以便轮换身份提供商颁发的无效或过期的证书。这有助于防止身份验证中断或停机。所有导入的证书都将自动激活。仅应在确保相关身份提供商不再使用证书后才将其删除。

您还应该考虑有些证书 IdPs 可能不支持多个证书。在这种情况下，使用这些证书轮换证书的行为 IdPs 可能意味着您的用户服务会暂时中断。当成功重新建立与该 IdP 的信任时，服务就会恢复。如果可能的话，请在非高峰时段仔细计划此操作。

**注意**  
作为安全最佳实践，一旦现有 SAML 证书出现任何泄露或处理不当的迹象，您应立即删除并轮换该证书。

轮换 IAM Identity Center 证书是一个多步骤过程，涉及以下内容：
+ 从 IdP 获取新证书
+ 将新证书导入 IAM Identity Center
+ 在 IdP 中激活新证书
+ 删除旧证书

使用以下所有过程来完成证书轮换过程，同时避免任何身份验证停机。

**步骤 1：从 IdP 获取新证书**

访问 IdP 网站并下载其 SAML 2.0 证书。确保以 PEM 编码格式下载证书文件。大多数提供商都允许您在 IdP 中创建多个 SAML 2.0 证书。这些很可能会被标记为禁用或不活动。

**步骤 2：将新证书导入 IAM Identity Center**

按照以下过程使用 IAM Identity Center 控制台导入新证书。

1. 在 [IAM Identity Center 控制台](https://console.aws.amazon.com/singlesignon)中，选择**设置**。

1. 在**设置**页面上，选择**身份源**选项卡，然后选择**操作>管理身份验证**。

1. 在**管理 SAML 2.0 证书**页面上，选择**导入证书**。

1. 在**导入 SAML 2.0 证书**对话框中，选择**选择文件**，导航到您的证书文件并将其选中，然后选择**导入证书**。

此时，IAM Identity Center 将信任从您导入的两个证书签名的所有传入 SAML 消息。

**步骤 3：在 IdP 中激活新证书**

返回 IdP 网站，将您之前创建的新证书标记为主证书或有效证书。此时，由 IdP 签名的所有 SAML 消息都应使用新证书。

**步骤 4：删除旧证书**

使用以下过程完成 IdP 的证书轮换过程。必须始终列出至少一个有效的证书，并且无法将其删除。

**注意**  
在删除该证书之前，请确保您的身份提供商不再使用此证书对 SAML 响应进行签名。

1. 在**管理 SAML 2.0 证书**页面上，选择要删除的证书。选择**删除**。

1. 在**删除 SAML 2.0 证书**对话框中，键入 **DELETE** 进行确认，然后选择**删除**。

1. 返回 IdP 的网站并执行必要的步骤来删除旧的非活动状态证书。

# 证书过期状态指示器
<a name="samlcertexpirationindicators"></a>

**管理 SAML 2.0 证书**页面在列表中每个证书旁边的**到期时间**列中显示彩色状态指示器图标。下面介绍了 IAM Identity Center 用来确定每个证书显示哪个图标的标准。
+ **红色** – 表示证书已到期。
+ **黄色** – 表示证书将在 90 天或更短时间内到期。
+ **绿色** – 表示证书目前有效，并且将至少再保持 90 天的有效期。

**要检查证书的当前状态**

1. 在 [IAM Identity Center 控制台](https://console.aws.amazon.com/singlesignon)中，选择**设置**。

1. 在**设置**页面上，选择**身份源**选项卡，然后选择**操作>管理身份验证**。

1. 在**管理 SAML 2.0 身份验证**页面的**管理 SAML 2.0 证书**下，查看列表中证书的状态，如**过期时间**列中所示。