授予创建临时安全凭证的权限 - Amazon Identity and Access Management
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

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

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

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

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

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

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

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

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

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::123123123123:role/UpdateAPP" }] }
例 示例策略,该策略授予为联合身份用户创建临时安全凭证的权限

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

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

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

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

在让 IAM 用户调用 GetFederationToken 时,最佳实践是限制 IAM 用户可以委派的权限。举例来说,以下策略展示如何让 IAM 用户仅为其名称以 Manager 开头的联合身份用户创建临时安全凭证。

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