2013-10-21 47 views
1

我在iOS AWS sdk中使用「AssumeRole」api來生成臨時安全證書。任何人都可以告訴步驟或爲此提供示例應用程序?AssumeRole - AWS iOS SDK示例

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]; 
    [email protected]"test123"; 
    response = [TSC assumeRole:request]; 

我的疑問是得到暫時的憑據,上面的代碼就足夠了還是需要顯式調用NSURLConnection的代表,使Web服務調用?謝謝。

回答

2

該代碼應該足以獲得憑據。如果請求成功,則憑證將在響應對象中可用。 (API reference)。

你需要初始化AmazonCredentials對象來使用返回的憑據:

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

AmazonS3Client *s3 = [[AmazonS3Client alloc] initWithCredentials:credentials];