将 GetFederationToken
与 AWS SDK 或 CLI 配合使用
以下代码示例演示如何使用 GetFederationToken
。
- CLI
-
- AWS CLI
-
使用 IAM 用户访问密钥凭证返回一组临时的安全凭证
以下
get-federation-token
示例返回用户的一组临时安全凭证(由访问密钥 ID、秘密访问密钥和安全令牌组成)。您必须使用 IAM 用户的长期安全凭证调用GetFederationToken
操作。aws sts get-federation-token \ --name
Bob
\ --policyfile://myfile.json
\ --policy-arnsarn=arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess
\ --duration-seconds900
myfile.json
的内容:{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:Describe*", "Resource": "*" }, { "Effect": "Allow", "Action": "elasticloadbalancing:Describe*", "Resource": "*" }, { "Effect": "Allow", "Action": [ "cloudwatch:ListMetrics", "cloudwatch:GetMetricStatistics", "cloudwatch:Describe*" ], "Resource": "*" }, { "Effect": "Allow", "Action": "autoscaling:Describe*", "Resource": "*" } ] }
输出:
{ "Credentials": { "AccessKeyId": "ASIAIOSFODNN7EXAMPLE", "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", "SessionToken": "EXAMPLEpZ2luX2VjEGoaCXVzLXdlc3QtMiJIMEYCIQC/W9pL5ArQyDD5JwFL3/h5+WGopQ24GEXweNctwhi9sgIhAMkg+MZE35iWM8s4r5Lr25f9rSTVPFH98G42QQunWMTfKq0DCOP//////////wEQAxoMNDUyOTI1MTcwNTA3Igxuy3AOpuuoLsk3MJwqgQPg8QOd9HuoClUxq26wnc/nm+eZLjHDyGf2KUAHK2DuaS/nrGSEXAMPLE", "Expiration": "2023-12-20T02:06:07+00:00" }, "FederatedUser": { "FederatedUserId": "111122223333:Bob", "Arn": "arn:aws:sts::111122223333:federated-user/Bob" }, "PackedPolicySize": 36 }
有关更多信息,请参阅《AWS IAM 用户指南》中的请求临时安全凭证。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetFederationToken
。
-
- PowerShell
-
- 适用于 PowerShell 的工具
-
示例 1:使用“Bob”作为联合用户的名称,请求有效期为一小时的联合令牌。此名称可用于引用基于资源的策略(例如 Amazon S3 存储桶策略)中的联合用户名。以 JSON 格式提供的 IAM 策略可用于缩小 IAM 用户可用权限的范围。提供的策略授予的权限不能超过授予请求用户的权限,联合用户的最终权限是,基于传递的策略和 IAM 用户策略交集的限制性最强的集合。
Get-STSFederationToken -Name "Bob" -Policy "...JSON policy..." -DurationInSeconds 3600
-
有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考》中的 GetFederationToken。
-
有关 AWS SDK 开发人员指南和代码示例的完整列表,请参阅 将此服务与 AWS SDK 结合使用。本主题还包括有关入门的信息以及有关先前的 SDK 版本的详细信息。
DecodeAuthorizationMessage
GetSessionToken