1

我在 iOS AWS sdk 中使用“AssumeRole”api 来生成临时安全凭证。任何人都可以告诉这个步骤或为此提供示例应用程序吗?

 TSC = [[AmazonSecurityTokenServiceClient alloc]initWithAccessKey:@"XXXXXXXXXXXXXXXX" withSecretKey:@"uuuuuuuuuuuyyyyyyyy" ]; 
 request = [[SecurityTokenServiceAssumeRoleRequest alloc]init ]; 
    request.roleArn = @"arn:aws:iam::0000000000:role/test";
    request.roleSessionName = @"test";
    request.policy =nil;
    request.durationSeconds=[NSNumber numberWithInt:3600];
    request.externalId=@"test123";
    response =  [TSC assumeRole:request];

我的疑问是获得临时凭据,上面的代码就足够了,还是我需要显式调用 NSURLConnection 委托来进行 Web 服务调用?谢谢。

4

1 回答 1

2

该代码应该足以获得凭据。如果请求成功,凭据将在响应对象中可用。(API 参考)。

您需要初始化一个 AmazonCredentials 对象以使用返回的凭证:

AmazonCredentials *credentials = 
   [[AmazonCredentials alloc] initWithAccessKey:response.credentials.accessKeyId
                                  withSecretKey:response.credentials.secretAccessKey
                              withSecurityToken:response.credentials.sessionToken];

AmazonS3Client *s3 = [[AmazonS3Client alloc] initWithCredentials:credentials];
于 2013-10-21T17:13:17.407 回答