2017-02-22 4 views
4

AWS 액세스 키와 AWS 비밀 키의 입력을 감안할 때 AWS SDK를 사용하여 계정에서 수행 할 수있는 권한을 조회하려면 어떻게해야합니까?AWS 액세스/비밀 키 쌍이 주어지면 IAM 권한을 어떻게 검색합니까?

나는 고객을 위해 XYZ를 사용하여 프로그래밍 방식으로 XYZ를 수행하기 위해 고객이 액세스 키와 비밀 키를 제공해야합니다. 그러나 이러한 작업을 수행하기 전에 S3 개체를 만들거나 EC2 인스턴스를 시작할 수있는 권한과 같은 특정 권한에 대한 액세스 권한이 있는지 확인하고 싶습니다.

그런 식으로 액세스 키와 비밀 키가 나를 대신하여 수행 할 권한이 있는지 확인할 수 있습니다.

답변

1

SimulatePrincipalPolicy API를 사용하여 IAM 엔티티에 첨부 된 일련의 IAM 정책이 API 동작 및 AWS 리소스 목록과 함께 작동하여 정책의 유효 사용 권한을 결정하는 방법을 시뮬레이션 할 수 있습니다.

엔티티는 IAM 사용자, 그룹 또는 역할 일 수 있습니다. 사용자를 지정하면 시뮬레이션에는 사용자가 속한 그룹에 첨부 된 모든 정책도 포함됩니다.

당신은 PolicySourceArn 입력 매개 변수 (옵션 CallerArn 입력 매개 변수를 사용할 필요가 없습니다)와 같은 사용자의 ARN과 함께 "SimulatePrincipalPolicy"API를 제공해야합니다

. 액세스 키 ID 및 비밀번호 액세스 키가있는 경우 GetUser API 을 호출하여 사용자 자격을 사용하여 즉 사용자 이름 입력 매개 변수를 지정하지 않고 ARN을 검색 할 수 있습니다. 사용자 이름이 포함되어 있지 않으면 GetUser API는 기본적으로 요청하는 사용자로 지정됩니다.

+0

CallerArn을 가지고 있지만 액세스 및 비밀 키만 있으면 작동 할 수 있습니다. 따라서 질문은 "액세스 또는 비밀 키만 알고 사용함으로써 사용자의 ARN을 어떻게 검색 할 수 있습니까?" –

+0

사용자 ARN을받는 방법을 포함하도록 답변을 업데이트했습니다. ** CallerArn ** 매개 변수를 사용할 필요가 없음을 기억하십시오. ** PolicySourceArn ** 만 필요합니다. –

+0

위의 내 대답을 확인하십시오 [http://stackoverflow.com/a/42402517/649408] - ARN을 얻으려면 내 다른 대답을 확인하십시오 [http://stackoverflow.com/a/31837458/649408] –

1

나는 목적으로 AWS CLI를 사용하고 CLI에 대한 --dry-실행 플래그의 사용 명령을 제안합니다. 얼마나 많은 AWS CLI 작업이 태그 수준/리소스 수준 제한은 말할 것도없고 --dry-run 작업을 지원하는지 확신 할 수 없습니다.

--dry-run 플래그는 실제로 요청을 수행하지 않고 API를 실행할 수있는 권한이 있는지 확인하려고 시도합니다.

enter image description here

enter image description here

AWS는 60 개 서비스를 제공하고 EC2 혼자 [오늘의로] 227 개 API 명령이 있기 때문에 나는 또한 시험 (회귀)의 어려움을 참조

. 아마도 이것은 당신이 당신의 나오지도, AWK, GREP 쉘 스크립트를 구축 [와 GitHub의에 게시]

SDK를뿐만 아니라이 기능을 지원 할 때 사용하는 장소가 될 수있다 -는 CLI 방식보다 더 쉬울 수 있습니다

관련 문제