排查 IAM Identity Center 问题 - Amazon IAM Identity Center
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

排查 IAM Identity Center 问题

以下内容可帮您排查在设置或使用 IAM Identity Center 控制台时可能会遇到的一些常见问题。

创建 IAM Identity Center 账户实例时出现的问题

创建 IAM Identity Center 账户实例时可能会遇到一些限制。如果您无法通过 IAM Identity Center 控制台创建账户实例,或者无法通过支持的 Amazon 托管应用程序的设置体验来创建账户实例,请验证以下用例:

  • Amazon Web Services 区域 Amazon Web Services 账户 在您尝试创建账户实例时查看其他。每个 Amazon Web Services 账户仅限创建一个 IAM Identity Center 实例。要启用该应用程序,请切换到 Amazon Web Services 区域 带有 IAM 身份中心实例的,或者切换到没有 IAM 身份中心实例的账户。

  • 如果您的组织在 2023 年 9 月 14 日之前启用了 IAM Identity Center,则您的管理员可能需要选择加入账户实例的创建。请与您的管理员合作,在管理账户中通过 IAM Identity Center 控制台启用账户实例创建功能。

  • 您的管理员可能创建了服务控制策略,以限制 IAM Identity Center 账户实例的创建。请与您的管理员合作,将您的账户添加到允许列表中。

尝试查看已预先配置为与 IAM Identity Center 结合使用的云应用程序列表时收到错误消息

如果您的策略允许 sso:ListApplications,但不允许其他 IAM Identity Center API,将发生以下错误。请更新策略,以解决此错误。

ListApplications 权限会为多个 API 授权:

  • ListApplications API。

  • 一个与 IAM Identity Center 控制台中使用的 ListApplicationProviders API 类似的内部 API。

为了帮助解决重复问题,此内部 API 现在也会授权使用 ListApplicationProviders 操作。要允许公共 ListApplications API,但拒绝内部 API,您的策略必须加入一条声明,用来拒绝 ListApplicationProviders 操作:

"Statement": [ { "Effect": "Deny", "Action": "sso:ListApplicationProviders", "Resource": "*" }, { "Effect": "Allow", "Action": "sso:ListApplications", "Resource": "<instanceArn>" // (or "*" for all instances) } ]

要允许内部 API,但拒绝 ListApplications,该策略需要仅允许 ListApplicationProviders。如果未明确允许,ListApplications API 将被拒绝。

"Statement": [ { "Effect": "Allow", "Action": "sso:ListApplicationProviders", "Resource": "*" } ]

当您的政策更新后,请联系 Amazon Web Services Support 以取消此主动措施。

与 IAM Identity Center 创建的 SAML 断言内容有关的问题

当从访问 Amazon Web Services 账户 门户访问 SAML 应用程序时,IAM Identity Center 为 IAM Identity Center 创建和发送的 SAML 断言(包括这些断言中的属性)提供基于 Web 的调试体验。 Amazon Web Services 要查看 IAM Identity Center 生成的 SAML 断言的详细信息,请使用以下步骤。

  1. 登录 Amazon Web Services 访问门户。

  2. 在您登录到门户后,按住 Shift 键,选择相应的应用程序磁贴,然后松开 Shift 键。

  3. 检查名为 You are now in administrator mode (您当前处于管理员模式) 的页面上的信息。要保留这些信息以备将来参考,请选择复制 XML,然后将内容粘贴到其他地方。

  4. 选择发送至 <应用程序>继续。此选项将断言发送给服务提供商。

注意

有些浏览器配置和操作系统可能不支持此步骤。已经在 Windows 10 上使用 Firefox、Chrome 和 Edge 浏览器对此步骤进行了测试。

特定用户无法从外部 SCIM 提供商同步到 IAM Identity Center

如果在您的 IdP 中配置为预调配到 IAM Identity Center 中的一部分用户的 SCIM 同步成功,但其他用户的 SCIM 同步失败,则您可能会看到类似于身份提供者 'Request is unparsable, syntactically incorrect, or violates schema' 的错误。您还可以在中看到详细的配置失败消息 Amazon CloudTrail。

此问题通常表明您的 IdP 中的用户的配置方式是 IAM Identity Center 所不支持的。有关 IAM Identity Center SCIM 实施的完整详细信息,包括用户对象的必需、可选和禁止参数和操作的规范,请参阅 IAM Identity Center SCIM 实施开发人员指南。有关 SCIM 要求的信息,SCIM 开发人员指南应被视为权威性指南。但是,以下是导致此错误的几个常见原因:

  1. IdP 中的用户对象缺少名字、姓氏和/或显示名称。

    1. 解决方案:为用户对象添加名字、姓氏和显示名称。此外,请确保将 IdP 中用户对象的 SCIM 预调配映射配置为发送所有这些属性的非空值。

  2. 正在向用户发送单个属性的多个值(也称为“多值属性”)。例如,用户可能在 IdP 中同时指定了工作电话号码和家庭电话号码,或者有多个电子邮件或实际地址,并且您的 IdP 配置为尝试同步该属性的多个或全部值。

    1. 解决方案选项:

      1. 更新 IdP 中用户对象的 SCIM 预调配映射,仅发送给定属性的单个值。例如,配置仅发送每个用户工作电话号码的映射。

      2. 如果可以安全地从 IdP 中的用户对象移除其他属性,则可以移除其他值,为用户的该属性保留一个或零个值。

      3. 如果中的任何操作都不需要该属性 Amazon,请从 IdP 用户对象的 SCIM 配置映射中移除该属性的映射。

  3. 您的 IdP 正在尝试根据多个属性匹配目标(在本例中为 IAM Identity Center)中的用户。由于保证用户名在给定的 IAM Identity Center 实例中是唯一的,因此您只需指定 username 作为用于匹配的属性即可。

    1. 解决方案:确保您的 IdP 中的 SCIM 配置仅使用单个属性与 IAM Identity Center 中的用户进行匹配。例如,将 IdP 中的 usernameuserPrincipalName 映射到 SCIM 中用于预调配到 IAM Identity Center 的 userName 属性将是正确的,并且足以满足大多数实施的需求。

当用户名采用 UPN 格式时,用户无法登录

根据用户在登录页面上输入用户名的格式,他们可能无法登录 Amazon Web Services 访问门户。在大多数情况下,用户可以使用其普通用户名、下级登录名 (DOMAIN\UserName) 或 UPN 登录名 () 登录用户门户。UserName@Corp.Example.com例外情况是,当 IAM Identity Center 使用已启用 MFA 且验证模式已设置为上下文感知始终开启的连接目录时。在这种情况下,用户必须使用其向下登录名 (DOMAIN\UserName) 登录。有关更多信息,请参阅 Identity Center 用户的多重身份验证。有关用于登录 Active Directory 的用户名格式的一般信息,请参阅 Microsoft 文档网站上的用户名格式

修改 IAM 角色时出现了“无法对受保护的角色执行操作”错误

在查看账户中的 IAM 角色时,您可能会注意到以 'AWSReservedSSO_' 开头的角色名称。这些角色是 IAM Identity Center 服务在帐户中创建的角色,它们来自向帐户分配权限集。尝试从 IAM 控制台中修改这些角色将导致以下错误:

'Cannot perform the operation on the protected role 'AWSReservedSSO_RoleName_Here' - this role is only modifiable by Amazon'

这些角色只能通过 IAM Identity Center 管理员控制台进行修改,该控制台位于的管理账户中 Amazon Organizations。修改完成后,您可以将更改推送到分配的 Amazon 帐户。

目录用户无法重置密码

当目录用户使用 “忘记密码?” 重置密码时 选项在登录 Amazon Web Services 访问门户期间,他们的新密码必须遵守默认密码策略,如中所在 IAM Identity Center 中管理身份时的密码要求述。

如果用户输入了符合策略的密码后收到错误We couldn't update your password,请检查是否 Amazon CloudTrail 记录了失败。这可以通过在 “事件历史记录” 控制台中搜索 CloudTrail 或使用以下过滤器来完成:

"UpdatePassword"

如果消息显示以下内容,则可能需要联系支持人员:

"errorCode": "InternalFailure", "errorMessage": "An unknown error occurred“

另一个可能造成此问题的原因是应用于用户名值的命名惯例。命名惯例必须遵循特定的模式,例如“surname.givenName”。但是,有些用户名可能很长,或者包含特殊字符,这可能会导致 API 调用中丢掉字符,从而导致错误。您可能需要尝试以同样的方式通过测试用户重置密码,以验证是否是这种情况。

如果问题依旧存在,请联系 Amazon 支持中心

我的用户在权限集中被引用,但无法访问分配的帐户或应用程序

如果您使用跨域身份管理系统 (SCIM) 通过外部身份提供者进行自动预调配,则可能会出现此问题。具体而言,当删除用户或该用户所属的组,然后在身份提供者中使用相同的用户名(对于用户)或名称(对于组)重新创建时,将在 IAM Identity Center 中为新用户或组创建一个新的唯一内部标识符。但是,IAM Identity Center 的权限数据库中仍有对旧标识符的引用,因此用户或组的名称仍显示在用户界面 (UI) 中,但访问失败。这是因为 UI 引用的底层用户或组 ID 已不存在。

在这种情况下,要恢复 Amazon Web Services 账户 访问权限,您可以从最初分配给旧用户或组的 Amazon Web Services 账户访问权限中移除访问权限,然后将访问权限重新分配给该用户或组。这会使用新用户或组的正确标识符更新权限集。同样,要恢复应用程序访问权限,您可以从该应用程序的已分配用户列表中删除该用户或组的访问权限,然后重新添加该用户或组。

您还可以通过在 CloudTrail 日志中搜索引用相关用户或组名称的 SCIM 同步事件来查看是否 Amazon CloudTrail 记录了故障。

我无法从正确配置的应用程序目录中获取我的应用程序

如果您通过 IAM Identity Center 的应用程序目录添加了应用程序,请注意,每一家服务提供商都提供了自己的详细文档。您可以在 IAM Identity Center 控制台中,通过该应用程序的配置选项卡访问这些信息。

如果问题与在服务提供商应用程序与 IAM Identity Center 之间设置信任有关,请务必参阅说明手册中的故障排除步骤。

当用户尝试使用外部身份提供者登录时显示错误信息“出现意外错误”

出现此错误的原因可能有多种,但其中一个常见原因是 SAML 请求中的用户信息与 IAM Identity Center 中的用户信息不匹配。

为了让 IAM Identity Center 用户在使用外部 IdP 作为身份源时成功登录,必须满足以下条件:

  • SAML NameID 格式(在您的身份提供者处配置)必须为“电子邮件”

  • nameID 值必须是格式正确 (RFC2822) 的字符串 (user@domain.com)

  • nameID 值必须与 IAM Identity Center 中现有用户的用户名完全匹配(IAM Identity Center 中的电子邮件地址是否匹配并不重要,因为入站匹配基于用户名)

  • SAML 2.0 联合身份验证的 IAM Identity Center 实施仅支持身份提供者与 IAM Identity Center 之间的 SAML 响应中的 1 个断言。它不支持加密的 SAML 断言。

  • 如果您的 IAM Identity Center 帐户中启用了 访问控制属性,则以下陈述适用:

    • SAML 请求中映射的属性数量必须不超过 50。

    • SAML 请求不得包含多值属性。

    • SAML 请求不得包含多个具有相同名称的属性。

    • 该属性不得包含结构化的 XML 作为值。

    • 名称格式必须是 SAML 指定的格式,而不是通用格式。

注意

IAM Identity Center 不会通过 SAML 联合身份验证为新用户或组“及时”创建用户或组。这意味着必须在 IAM Identity Center 中手动或通过自动预调配预先创建用户,才能登录 IAM Identity Center。

当您的身份提供者中配置的断言使用者服务 (ACS) 端点与您的 IAM Identity Center 实例提供的 ACS URL 不匹配时,也可能发生此错误。确保这两个值完全匹配。

此外,您可以通过转至事件名称 ExternalIdP Amazon CloudTrail DirectoryLogin 并对其进行筛选,进一步解决外部身份提供商登录失败的问题。

错误信息“无法启用访问控制的属性”

如果启用 ABAC 的用户没有启用 访问控制属性 所需的 iam:UpdateAssumeRolePolicy 权限,则可能会发生此错误。

当我尝试为 MFA 注册设备时,我收到“不支持浏览器”消息

WebAuthn 目前支持谷歌浏览器、Mozilla Firefox、Microsoft Edge 和苹果 Safari 网络浏览器以及 Windows 10 和安卓平台。 WebAuthn 支持的某些组成部分可能有所不同,例如跨macOS和iOS浏览器的平台身份验证器支持。如果用户尝试在不支持的浏览器或平台上注册 WebAuthn 设备,他们将看到某些不支持的选项显示为灰色,或者他们会收到一条错误消息,提示不支持所有支持的方法。在这些情况下,请参阅 FIDO2:Web 身份验证 (WebAuthn),了解有关浏览器/平台支持的更多信息。有关 WebAuthn IAM 身份中心的更多信息,请参阅FIDO2 身份验证器

Active Directory“域用户”组无法正确同步到 IAM Identity Center

Active Directory 域用户组是 AD 用户对象的默认“主组”。IAM Identity Cente 无法读取 Active Directory 主组及其成员资格。分配对 IAM Identity Center 资源或应用程序的访问权限时,使用域用户组以外的组(或分配为主组的其他组),以便组成员资格正确反映在 IAM Identity Center 身份存储中。

MFA 无效凭证错误

在用户使用 SCIM 协议将其帐户完全预调配到 IAM Identity Center 之前,如果用户尝试使用外部身份提供者提供的帐户(例如 Okta 或 Microsoft Entra ID)登录 IAM Identity Center,就会发生此错误。将用户帐户预调配到 IAM Identity Center 后,应解决此问题。确认该帐户已预调配到 IAM Identity Center。如果没有,请检查外部身份提供者中的预调配日志。

尝试使用身份验证器应用程序注册或登录时,收到“出现意外错误”消息

基于时间的一次性密码(TOTP)系统(例如,IAM Identity Center 与基于代码的身份验证器应用程序搭配使用的那些系统),依赖客户端和服务器之间的时间同步。确保安装身份验证器应用程序的设备已正确同步到可靠的时间源,或手动设置设备上的时间以匹配可靠来源,例如 NIST (https://www.time.gov/) 或其他本地/区域等效时间。

我在尝试登录 IAM Identity Center 时收到 “不是你,是我们” 错误

此错误表示您的 IAM 身份中心实例存在设置问题,或者外部身份提供商 (IdP) IAM Identity Center 用作其身份源。我们建议您验证以下内容:

  • 验证您用于登录的设备上的日期和时间设置。我们建议您将日期和时间设置为自动设置。如果不可用,我们建议将您的日期和时间同步到已知的网络时间协议 (NTP) 服务器。

  • 确认上传到 IAM 身份中心的 IdP 证书与您的 IdP 提供的证书相同。您可以通过导航到 “设置”,从 IAM 身份中心控制台查看证书。在 “身份源” 选项卡中,选择 “操作”,然后选择 “管理身份验证”。如果 IdP 和 IAM 身份中心证书不匹配,请将新证书导入 IAM 身份中心。

  • 确保您的身份提供商元数据文件中的 NameID 格式如下:

    • urn:oasis:name:tc:SAML:1.1:nameid-format:emailAddress

  • 如果您使用来自的 AD Connector Amazon Directory Service 作为身份提供商,请验证服务帐号的凭证是否正确且未过期。有关更多信息,请参阅中的更新您的 AD Connect Amazon Directory Service or 服务账号凭证

我的用户没有收到来自 IAM Identity Center 的电子邮件

IAM Identity Center 服务发送的所有电子邮件都将来自地址 no-reply@signin.awsno-reply@login.awsapps.com。必须对您的邮件系统进行配置,使其能够接受来自这些发件人电子邮件地址的电子邮件,并且不会将其作为垃圾邮件或垃圾邮件处理。

错误:您无法删除/修改/移除/分配对管理帐户中预调配的权限集的访问权限

此消息表示该委派管理功能已启用,并且只有在中拥有管理账户权限的人员才能成功执行您之前尝试的操作 Amazon Organizations。要解决此问题,请以具有这些权限的用户身份登录,然后尝试再次执行任务,或者将此任务分配给具有正确权限的人。有关更多信息,请参阅 注册成员账户

错误:未找到会话令牌或会话令牌无效

当客户端(例如 Web 浏览器)或尝试使用服务器端已撤消或 Amazon CLI失效的会话时,可能会发生此错误。 Amazon Toolkit要更正此问题,请返回客户端应用程序或网站并重试,包括在出现提示时再次登录。这有时可能还需要您取消待处理的请求,例如来自 IDE 的 Amazon Toolkit 待处理连接尝试。