2016-07-29 5 views
1

문서AWS STS AssumeRole : IAM 사용자 자격 증명이 필요합니까, 아니요?

documentation here 상충, AssumeRole에 관한, 하나 개의 연속 블록에 자체 모순 보인다

당신은 기존 IAM 사용자 자격 증명을 사용하여이 API를 호출해야합니다. 에 대한 자세한 내용은 IAM 사용자에게 권한 위임을위한 역할 만들기 및 MFA 보호 API 액세스 구성을 참조하십시오.

이것은 부호없는 호출입니다. 즉, 이 앱은 전화를 걸기 위해의 AWS 보안 자격증 명에 액세스 권한이 필요하지 않습니다.

모순은 굵은 글씨 강조가 주어진다.

코드 샘플 code sample provided here 확실히 자격 증명을 요구하는 것 같다

:

AmazonSecurityTokenServiceClient securityTokenServiceClient = new AmazonSecurityTokenServiceClient(
    Config.AccessKey, 
    secretKeyAsString, 
    securityTokenServiceConfig); 

을 ...

AssumeRoleRequest assumeRoleRequest = new AssumeRoleRequest 
{ 
    DurationSeconds = sessionDurationSec, 
    RoleArn = roleArn, 
    RoleSessionName = awsUsername, 
    ExternalId = groupSid 
}; 

...

assumeRoleResponse = securityTokenServiceClient.AssumeRole(assumeRoleRequest); 

결론

사실인가요? 코드 샘플의 요청이 실제로 중복됩니까?

고맙습니다!

답변

2

AssumeRole API 호출 에는 기존 AWS 자격증 명이 필요합니다.

IAM 역할을 맡으려면 AWS가 누가 그 역할을 맡고 있는지 알 수 있도록 기존 자격 증명 집합을 사용해야합니다. 이는 AWS가 가정 당사자가 역할을 맡을 수 있는지 확인할 수 있도록하기위한 것입니다. 문서에서

:

이 앱이 전화를 만들기 위해 모든 AWS 보안 자격 증명에 액세스 할 필요가 없다는 것을 의미 서명되지 않은 호출입니다.

이것은 잘못된 정보로 보입니다.

1

이것은 실제로 교정중인 문서에서 오류입니다. AssumeRole에는 기존 장기 (IAM 사용자) 또는 임시 자격 증명 자격 증명이 필요합니다. AssessRoleWithSAML 및 AssumeRoleWithWebIdentity는 자격 증명없이 호출 할 수있는 두 가지 동등한 연합입니다. 혼란을 드려 죄송합니다!

관련 문제