AWS Identity and Access Management
用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

授予创建临时安全凭证的权限

默认情况下,IAM 用户无权为联合身份用户和角色创建临时安全凭证。但默认情况下,IAM 用户可以使用其权限调用 GetSessionToken,从而为其他人创建临时凭证。

注意

虽然您可以直接向用户授予权限,但我们强烈建议您向组授予权限。这样可以使权限管理轻松得多。如果某个用户不再需要执行与权限关联的任务时,您只需从组中将其删除。如果其他用户需要执行这些任务,请将这些用户添加到组以授予权限。

要向 IAM 组授予为联合身份用户或角色创建临时安全凭证的权限,应附加一个策略,该策略授予以下一项或两项权限:

  • 对于要访问 IAM 角色的联合身份用户,请授予对 AWS STS AssumeRole 的访问权限。

  • 对于无需角色的联合身份用户,请授予对 AWS STS GetFederationToken 的访问权限。

有关 AssumeRoleGetFederationToken API 操作之间的差异的更多信息,请参阅请求临时安全凭证

例 :为授予担任角色的权限的策略

以下示例策略为 AWS 账户 123123123123 中的 UpdateApp 角色授予调用 AssumeRole 的权限。在使用 AssumeRole 时,代表联合用户创建安全凭证的用户 (或应用程序) 无法委派尚未在角色权限策略中指定的任何权限。

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws-cn:iam::123123123123:role/UpdateAPP" }] }

例 : 一个策略,该策略授予为联合身份用户创建临时安全凭证的权限

以下示例策略授予访问 GetFederationToken 的权限。

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "sts:GetFederationToken", "Resource": "*" }] }

重要

使用 GetFederationToken 向 IAM 用户授予为联合身份用户创建临时安全凭证的权限时,应注意允许 IAM 用户委派自己的权限。有关跨 IAM 用户和 AWS 账户委派权限的更多信息,请参阅委派访问权限的策略示例。有关控制临时安全凭证权限的详细信息,请参阅控制临时安全凭证的权限

例 :向用户授予为联合身份用户创建临时安全凭证的有限权限的策略

当您使 IAM 用户调用 GetFederationToken 为联合身份用户创建临时安全凭证时,最好在符合实际的程度下尽量限制允许 IAM 用户委派的权限。举例来说,以下策略展示如何让 IAM 用户仅为其名称以 Manager 开头的联合身份用户创建临时安全凭证。

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "sts:GetFederationToken", "Resource": ["arn:aws-cn:sts::123456789012:federated-user/Manager*"] }] }