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

排查 IAM 问题

使用此处的信息可帮助您诊断和修复在使用 Amazon Identity and Access Management(IAM)时出现的常见问题。

我无法登录我的 Amazon 账户

确认您具有正确的凭证,并且使用正确的方法进行登录。有关更多信息,请参阅《Amazon 登录 用户指南》中的登录问题排查

我丢失了访问密钥

访问密钥由两个部分组成:

  • 访问密钥标识符。标识符是公开的,您可以在列出访问密钥的任意 IAM 控制台中进行查看,例如用户摘要页面。

  • 秘密访问密钥。该密钥会在您最初创建访问密钥对时提供。它与密码一样,之后无法检索。如果您丢失了私有访问密钥,则必须创建新的访问密钥对。如果您已达到访问密钥的数量上限,必须删除一个现有的密钥对,然后才可以创建另一个。

如果您丢失了秘密访问密钥,则必须删除访问密钥并创建新的访问密钥。有关更多说明,请参阅 更新访问密钥

策略变量不起作用

如果您的策略变量不起作用,则已发生下列错误之一:

版本策略元素中的日期错误。

验证包含变量的所有策略(包括以下策略版本编号):"Version": "2012-10-17"。如果没有正确的版本编号,则在评估过程中不会更换变量。只会从字面上评估这些变量。当您包含最新的版本号时,不包含变量的任何策略仍然有效。

Version 策略元素与策略版本不同。Version 策略元素用在策略之中,用于定义策略语言的版本。当您修改 IAM 中的客户管理型策略时,将创建一个策略版本。已更改的策略不会覆盖现有策略。而是由 IAM 创建新的托管策略版本。要了解 Version 策略元素的更多信息,请参阅IAM JSON 策略元素:Version。要了解策略版本的更多信息,请参阅IAM policy 版本控制

变量字符的字母大小写错误。

验证您的策略变量为正确的大小写。有关详细信息,请参阅IAM policy 元素:变量和标签

我所做的更改可能不会立即可见

作为全球数据中心的计算机要访问的服务,IAM 使用称为最终一致性的分布式计算模型。您在 IAM(或其他 Amazon 服务)中所做的任何更改,包括基于属性的访问权限控制(ABAC)标签,都需要一段时间才能在所有可能的端点中可见。它在服务器与服务器之间、复制区域与复制区域之间,以及区域与区域之间发送数据需要时间,这会造成一些延迟。IAM 也使用缓存来提高性能,但在某些情况下,这可能会增加时间。在之前缓存的数据超时之前,更改可能不可见。

您在设计全球应用程序时,必须考虑到这些可能的延迟。确保应用程序可以按预期工作,即使在一个位置进行的更改不能立即在其他位置可见。此类更改包括创建或更新用户、组、角色或策略。在应用程序的关键、高可用性代码路径中,我们不建议包含此类 IAM 更改。而应在不常运行的、单独的初始化或设置例程中进行 IAM 更改。另外,在生产工作流程依赖这些更改之前,请务必验证更改已传播。

有关其他某些 Amazon 服务如何受此影响的更多信息,请参阅以下资源:

我没有权限执行:iam:DeleteVirtualMFADevice

当您尝试为自己或其他用户分配或删除虚拟 MFA 设备时,可能会收到以下错误:

User: arn:aws:iam::123456789012:user/Diego is not authorized to perform: iam:DeleteVirtualMFADevice on resource: arn:aws:iam::123456789012:mfa/Diego with an explicit deny

如果某个人以前在 IAM 控制台中开始将虚拟 MFA 设备分配给用户后取消该过程,则可能会发生这种情况。这会在 IAM 中为用户创建一个虚拟 MFA 设备,但绝不将其分配给用户。删除现有的虚拟 MFA 设备,然后使用相同设备名称创建新的虚拟 MFA 设备。

要修复此问题,管理员不应编辑策略权限。相反,管理员必须使用 Amazon CLI 或 Amazon API 来删除现有但未分配的虚拟 MFA 设备。

删除现有但未分配的虚拟 MFA 设备
  1. 查看您账户中的虚拟 MFA 设备。

  2. 在响应中,找到您要修复的用户的虚拟 MFA 设备 ARN。

  3. 删除虚拟 MFA 设备。

如何安全地创建 IAM 用户?

如果您的员工需要访问 Amazon,则可以选择创建 IAM 用户或使用 IAM Identity Center 进行身份验证。如果使用 IAM,Amazon 建议您创建 IAM 用户并将凭证安全地传达给员工。如果您不在员工身旁,请使用安全的工作流程向员工传达凭证。

使用以下安全工作流程在 IAM 中创建新用户:

  1. 使用 Amazon Web Services Management Console 创建新用户。选择使用生成的密码授予 Amazon Web Services Management Console 访问权限。如有必要,请选中 Users must create a new password at next sign-in(用户必须在下次登录时创建新密码)复选框。在用户更改密码之前,不要向用户添加权限策略。

  2. 添加用户后,复制新用户的登录 URL、用户名和密码。要查看密码,请选择 Show(显示)。

  3. 使用贵公司中的安全通信方法(如电子邮件、聊天或支持工单系统)将密码发送给员工。单独为您的用户提供 IAM 用户控制台链接及其用户名。在授予员工权限之前,告诉员工确认他们可以成功登录。

  4. 员工确认后,添加他们所需的权限。作为安全最佳实践,添加一个策略,要求用户使用 MFA 进行身份验证以管理其凭证。有关策略示例,请参阅 Amazon:允许使用 MFA 完成身份验证的 IAM 用户在“安全凭证”页面上管理自己的凭证。

其他资源

下列相关资源有助于您在使用 Amazon 期间排查问题。