如何将使用FederatedTokenResult检索的临时用户的会话令牌传递给AWS-Java SDK?

yke*_*esh 3 amazon-web-services

我可以通过查询AWS 从FederatedTokenResult获取Credential.现在,我希望其他服务使用该凭据来使用CloudFormation API创建应用程序堆栈 - 我可以使用我不想要的root帐户创建该凭据.但是当我从GetFederationTokenCredential Page读取时,我必须传递给服务API以使用临时凭证.

是否可以使用临时用户(给定权限)来启动堆栈,创建新的密钥对?任何链接,代码片段都受到高度赞赏.

似乎ruby sdk提供了会话令牌.我如何用Java完成它?

目前,我创建的堆栈类似于使用AWS SDK提供的CloudFormation,不使用临时凭证.

Wad*_*nko 5

一旦你有了Credentials,你创建一个BasicSessionCredentials对象并将其传递给构造函数AmazonCloudFormationClient.例如:

// Package the temporary security credentials as
// a BasicSessionCredentials object, for an Amazon S3 client object to use.
BasicSessionCredentials basicSessionCredentials = new BasicSessionCredentials(
    sessionCredentials.getAccessKeyId(),
    sessionCredentials.getSecretAccessKey(),
    sessionCredentials.getSessionToken());

// The following will be part of your less trusted code. You provide temporary security
// credentials so it can send authenticated requests to AWS CloudFormation.
AmazonCloudFormationClient client = new AmazonCloudFormationClient(basicSessionCredentials);
Run Code Online (Sandbox Code Playgroud)

我希望有所帮助!