排查 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 更改。而应在不常运行的、单独的初始化或设置例程中进行 IAM 更改。另外,在生产工作流程依赖这些更改之前,请务必验证更改已传播。
有关其他某些 Amazon 服务如何受此影响的更多信息,请参阅以下资源:
-
Amazon DynamoDB:《DynamoDB 开发人员指南》中的读取一致性,以及《Amazon DynamoDB 开发人员指南》中的读取一致性。
-
Amazon EC2:Amazon EC2 API 参考中的 EC2 最终一致性。
-
Amazon EMR:Amazon 大数据博客中的 Ensuring Consistency When Using Amazon S3 and Amazon EMR for ETL Workflows
-
Amazon Redshift:Amazon Redshift 数据库开发人员指南中的管理数据一致性
-
Amazon S3:Amazon Simple Storage Service 用户指南中的 Amazon S3 数据一致性模型
我没有权限执行: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 设备
-
查看您账户中的虚拟 MFA 设备。
-
Amazon CLI:
aws iam list-virtual-mfa-devices
-
Amazon API:
ListVirtualMFADevices
-
-
在响应中,找到您要修复的用户的虚拟 MFA 设备 ARN。
-
删除虚拟 MFA 设备。
-
Amazon CLI:
aws iam delete-virtual-mfa-device
-
Amazon API:
DeleteVirtualMFADevice
-
如何安全地创建 IAM 用户?
如果您的员工需要访问 Amazon,则可以选择创建 IAM 用户或使用 IAM Identity Center 进行身份验证。如果使用 IAM,Amazon 建议您创建 IAM 用户并将凭证安全地传达给员工。如果您不在员工身旁,请使用安全的工作流程向员工传达凭证。
使用以下安全工作流程在 IAM 中创建新用户:
-
使用 Amazon Web Services Management Console 创建新用户。选择使用生成的密码授予 Amazon Web Services Management Console 访问权限。如有必要,请选中 Users must create a new password at next sign-in(用户必须在下次登录时创建新密码)复选框。在用户更改密码之前,不要向用户添加权限策略。
-
添加用户后,复制新用户的登录 URL、用户名和密码。要查看密码,请选择 Show(显示)。
-
使用贵公司中的安全通信方法(如电子邮件、聊天或支持工单系统)将密码发送给员工。单独为您的用户提供 IAM 用户控制台链接及其用户名。在授予员工权限之前,告诉员工确认他们可以成功登录。
-
员工确认后,添加他们所需的权限。作为安全最佳实践,添加一个策略,要求用户使用 MFA 进行身份验证以管理其凭证。有关策略示例,请参阅 Amazon:允许使用 MFA 完成身份验证的 IAM 用户在“安全凭证”页面上管理自己的凭证。。
其他资源
下列相关资源有助于您在使用 Amazon 期间排查问题。
-
Amazon CloudTrail 用户指南 - 使用 Amazon CloudTrail 可跟踪对 Amazon 进行的 API 调用的历史记录并将这些信息存储在日志文件中。这有助于确定访问了您账户中的资源的用户和账户、进行调用的时间、请求的操作等。有关更多信息,请参阅 使用 Amazon CloudTrail 记录 IAM 和 Amazon STS API 调用。
-
Amazon 知识中心
– 查找常见问题解答和其他资源的链接,帮助您排查问题。 -
Amazon 支持中心
– 获取技术支持。 -
Amazon Premium Support 中心
– 获取高级技术支持。