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

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

默认情况下,IAM 用户无权为联合身份用户和角色创建临时安全凭证。您必须使用策略来向用户提供这些权限。虽然您可以直接向用户授予权限,但我们强烈建议您向组授予权限。这样可以使权限管理轻松得多。如果某个用户不再需要执行与权限关联的任务时,您只需从组中将其删除。如果其他用户需要执行这些任务,请将这些用户添加到组以授予权限。

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

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

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

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

IAM 用户也可以调用 GetSessionToken 以创建临时安全凭证。用户无需任何权限即可调用 GetSessionToken。此操作旨在使用 MFA 验证用户身份。您不能使用策略来控制身份验证。这意味着,您不能阻止 IAM 用户调用 GetSessionToken 来创建临时凭证。

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

以下示例策略为 AWS 账户 AssumeRole 中的 UpdateApp 角色授予调用 123123123123 的权限。在使用 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 用户和 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*"] }] }