정책 시뮬레이터 사용 권한
정책 시뮬레이터 사용 권한
정책 시뮬레이터(policy simulator)를 사용하는 데 필요한 권한은 AWS CLI/API를 쓰는지 IAM 콘솔을 쓰는지, 어떤 모드를 쓰는지에 따라 달라져요.
출처: 문서
본문
콘솔 (Console)
IAM 콘솔에서 정책 시뮬레이터를 사용하려면 iam:GetContextKeysForCustomPolicy를 호출할 권한이 필요해요. 추가로 필요한 권한은 모드에 따라 달라져요. Principal 모드에서는 계정 안의 아이덴티티를 나열하고 그들이 연결한 정책을 읽기 위한 추가 읽기 권한이 필요해요. 부여할 권한을 줄이고 싶다면, 붙여 넣은 정책만 테스트해도 되는 경우 Custom 모드를 사용하세요.
Custom 모드
테스트할 정책을 붙여 넣는 Custom 모드를 사용하려면 iam:SimulateCustomPolicy도 필요해요.
Principal 모드
콘솔이 계정 안의 아이덴티티와 정책을 로드해 표시하는 Principal 모드를 사용하려면 공통 권한에 다음 권한이 추가로 필요해요. 콘솔이 아이덴티티를 발견하고 그들이 연결한 정책을 읽어야 하므로 권한 세트가 더 커요.
- 시뮬레이션:
iam:SimulatePrincipalPolicy - 아이덴티티 나열:
iam:ListUsers,iam:ListRoles,iam:ListGroups,iam:ListGroupsForUser - 연결된 정책 나열:
iam:ListPolicies,iam:ListUserPolicies,iam:ListRolePolicies,iam:ListGroupPolicies,iam:ListAttachedUserPolicies,iam:ListAttachedRolePolicies,iam:ListAttachedGroupPolicies - 정책 문서 가져오기:
iam:GetPolicyVersion,iam:GetUserPolicy,iam:GetRolePolicy,iam:GetGroupPolicy - 권한 경계 가져오기:
iam:GetUser,iam:GetRole
리소스 기반 정책을 시뮬레이션하기 위한 Principal 모드 추가 권한
Principal 모드 시뮬레이션에 리소스의 정책을 포함하려면 해당 리소스 유형의 읽기 권한을 추가하세요.
s3:GetBucketPolicy, sns:GetTopicAttributes, sqs:GetQueueUrl, sqs:GetQueueAttributes, glacier:GetVaultAccessPolicy
시뮬레이터에 액세스 권한을 부여하는 예제 정책은 예제 정책: AWS Identity and Access Management (IAM)을 참고하세요.
AWS CLI 및 AWS API
AWS CLI와 AWS API에는 테스트하려는 정책 유형의 시뮬레이션 작업을 호출하는 권한만 있으면 돼요. 먼저 iam:GetContextKeysForCustomPolicy와 iam:GetContextKeysForPrincipalPolicy로 컨텍스트 키를 조회한다면 그 작업에 대한 권한도 부여하세요. 보안상의 이유로 작업은 다음 두 모드로 나뉘어 있어요. 시뮬레이션하려는 것과 일치하는 권한만 부여하세요.
API에 문자열로 직접 전달하는 정책 시뮬레이션 (custom policies)
iam:SimulateCustomPolicyiam:GetContextKeysForCustomPolicy(컨텍스트 키 조회 단계를 사용하는 경우에만)
이 작업을 사용하면 아직 사용자, 사용자 그룹, 역할에 연결되지 않은 정책을 테스트할 수 있어요. 정책을 문자열로 전달하며, 그 정책은 시뮬레이션에서만 사용돼요.
IAM 사용자, 사용자 그룹, 역할, 리소스에 연결된 정책 시뮬레이션
iam:SimulatePrincipalPolicyiam:GetContextKeysForPrincipalPolicy(컨텍스트 키 조회 단계를 사용하는 경우에만)
이 작업은 다른 IAM 엔티티에 할당된 권한을 드러낼 수 있으므로, 호출할 수 있는 사람을 제한하는 게 좋아요. 예를 들어 Bob이라는 사용자에게 Alice라는 사용자에 할당된 정책을 시뮬레이션할 권한을 주려면, Bob에게 리소스 arn:aws:iam::777788889999:user/alice에 대한 액세스 권한을 주세요.
현재 AWS 계정에서 정책 시뮬레이터 API를 연결·비연결 정책 모두에 사용할 수 있게 하는 예제 정책은 IAM: 정책 시뮬레이터 API 액세스를, 특정 경로를 가진 사용자로 범위를 한정한 예제는 IAM: 사용자 경로 기반 정책 시뮬레이터 API 액세스를 참고하세요.