AWS Identity and Access Management
用户指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

IAM 角色问题排查

使用此处的信息可帮助您诊断和修复在使用 IAM 角色时可能遇到的常见问题。

我无法代入角色

  • 验证您的 IAM 策略是否向您授予为要代入的角色调用 sts:AssumeRole 的权限。您的 IAM 策略的 Action 元素必须允许调用 AssumeRole 操作,并且 IAM 策略的 Resource 元素必须指定您希望担任的角色。例如,Resource 元素可以按其 Amazon 资源名称 (ARN) 或使用通配符 (*) 指定角色。例如,至少一个适用于您的策略必须授予与以下权限类似的权限:

    "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws-cn:iam::account_id_number:role/role-name-you-want-to-assume"
  • 确保您满足角色的信任策略中指定的所有条件。Condition 可以指定有效期、外部 ID 或请求必须来自于特定 IP 地址。在以下示例中,如果当前日期为指定日期后的任意时间,则策略绝不会匹配且无法向您授予代入此角色的权限。

    "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws-cn:iam::account_id_number:role/role-name-you-want-to-assume" "Condition": { "DateLessThan" : { "aws:CurrentTime" : "2016-05-01T12:00:00Z" } }
  • 验证您用于调用 AssumeRole 的 AWS 账户是您要代入的角色的可信任单位。在角色的信任策略中将可信实体定义为 Principal。下面的示例是一个已附加到要代入的角色的信任策略。在此示例中,IAM 用户用来登录的账户 ID 必须为 123456789012。如果您的账号未在角色信任策略的 Principal 元素中列出,则您无法代入角色,无论访问策略向您授予的权限如何。注意,示例策略将权限限制为在 2017 年 7 月 1 日至 2017 年 12 月 31 日 (UTC 时间,这两个日期也包含在内) 之间发生的操作。如果您在上述日期范围之前或之后登录,则策略不匹配,您无法代入该角色。

    "Effect": "Allow", "Principal": { "AWS": "arn:aws-cn:iam::123456789012:root" }, "Action": "sts:AssumeRole", "Condition": { "DateGreaterThan": {"aws:CurrentTime": "2017-07-01T00:00:00Z"}, "DateLessThan": {"aws:CurrentTime": "2017-12-31T23:59:59Z"} }

我的 AWS 账户中出现新角色

某些 AWS 服务要求您使用直接与该服务相链接的唯一服务角色类型。该服务相关角色由服务预定义,具有服务所需的所有权限。这样您就不必手动添加必要的权限,可以令设置服务更加轻松。有关服务相关角色的一般信息,请参阅使用服务相关角色

在开始支持服务相关角色时,您可能已在使用服务。如果事实如此,您可能会收到一封电子邮件,告知您账户中将有新角色。该角色包括此项服务代表您执行操作所需的所有权限。您不需要执行任何操作支持该角色。但是,您不能从账户中删除该角色。这样会删除此项服务访问 AWS 资源所需的权限。您可以转至 IAM 控制台的 IAM Roles 页面来查看您的账户中的服务相关角色。服务相关角色在表的 Trusted entities 列中随 (Service-linked role) 一起显示。

有关哪些服务支持服务相关角色的信息,请参阅使用 IAM 的 AWS 服务并查找服务相关角色列为的服务。有关使用某个服务的服务相关角色的信息,请选择 Yes 链接。

我无法编辑或删除我的 AWS 账户中的角色

您不能删除或编辑 IAM 中的服务相关角色的权限。这些角色包括服务代表您执行操作所需的预定义信任和权限。您可以使用 IAM 控制台、AWS CLI 或 API 仅编辑服务相关角色的描述。您可以转至控制台中的 IAM Roles 页面来查看您的账户中的服务相关角色。服务相关角色在表的 Trusted entities 列中随 (Service-linked role) 一起显示。角色的 Summary 页面上的横幅也指示角色是服务相关角色。您只能通过链接的服务管理和删除这些角色 (如果该服务支持此操作)。修改或删除服务相关角色时要小心,因为这样做可能会删除服务访问 AWS 资源所需的权限。

有关哪些服务支持服务相关角色的信息,请参阅使用 IAM 的 AWS 服务并查找服务相关角色列为的服务。