2016-07-19 27 views
0

アプリケーションでは、カスタムロールを使用してaws APIにアクセスします。開発環境では、app.configにKeyと秘密鍵のアクセスを提供しています。AWS EC2インスタンスIAMロールでロールが動作しないと仮定します。

prod環境では、カスタムロールへの必要な権限を持つIAMロールを設定し、そのIAMロールでEC2インスタンスを起動します。私たちは、コードを使用して役割を切り替えるしようとすると、我々は、エラーの下に

メッセージを得ている:ユーザー:ARN:AWS:STS :: XXXXXXXXX:引き継ぎ役割// I-0490fbbb5ea7df6a8を実行するために許可されていません:STS: ARN:AWS:リソース上のAssumeRole IAM :: XXXXXXXXXX:役割/

コード:

AmazonSecurityTokenServiceClient stsClient = new AmazonSecurityTokenServiceClient(); 
AssumeRoleResponse assumeRoleResponse = await stsClient.AssumeRoleAsync(new AssumeRoleRequest 
    { 
    RoleArn = roleArn, 
    RoleSessionName = sessionName 
    }); 

var sessionCredentials = new SessionAWSCredentials(assumeRoleResponse.Credentials.AccessKeyId, assumeRoleResponse.Credentials.SecretAccessKey, assumeRoleResponse.Credentials.SessionToken); 

AmazonS3Client s3Client = new AmazonS3Client(sessionCredentials); 

ポリシーの詳細:

"Effect": "Allow", 
"Action": "sts:AssumeRole", 
"Resource": "arn:aws:iam::account_id:role/role-name" 

これについての助力は素晴らしいことです。前もって感謝します。

答えて

2

以下のポリシーをカスタムロールの信頼関係に追加して、この問題を解決しました。

{ 
    "Effect": "Allow", 
    "Principal": { 
    "AWS": "<ARN of role that has to assume the custom role>" 
    }, 
    "Action": "sts:AssumeRole" 
} 
+1

問題の解決方法に関する具体的な情報をご提供ください。 –

関連する問題