다중 값 컨텍스트 키 예제 - AWS Identity and Access Management

다중 값 컨텍스트 키 예제

다음은 다중 값 컨텍스트 키로 정책 조건을 만드는 방법을 보여주는 일련의 정책 예제입니다.

예: 조건 집합 연산자 ForAllValues를 포함한 거부 정책

다음 예제 자격 증명 기반 정책은 요청에 특정 태그 키 접두사가 포함된 경우 IAM 태깅 작업의 사용을 거부합니다. 컨텍스트 키 aws:TagKeys의 각 값에는 부분 문자열 일치를 위한 와일드카드(*)가 포함됩니다. 정책에는 컨텍스트 키 aws:TagKeys가 포함된 ForAllValues 집합 연산자가 포함되는데, 요청 컨텍스트 키에 여러 값이 포함될 수 있기 때문입니다. 컨텍스트 키 aws:TagKeys에서 true를 반환하려면 요청의 모든 값이 정책에서 하나 이상의 값과 일치해야 합니다.

요청에 컨텍스트 키가 없거나 컨텍스트 키 값이 빈 문자열과 같은 null 데이터 세트로 확인되는 경우에도 ForAllValues 집합 연산자에서 true를 반환합니다. 누락된 컨텍스트 키나 값이 비어 있는 컨텍스트 키가 true로 평가되지 않도록 하려면 정책의 Null 조건 연산자에 false 값을 포함하여 요청에 컨텍스트 키가 존재하고 그 값이 null이 아닌지 확인할 수 있습니다.

중요

이 정책은 어떤 작업도 허용하지 않습니다. 이 정책을 특정 작업을 허용하는 다른 정책과 함께 사용합니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyRestrictedTags", "Effect": "Deny", "Action": [ "iam:Tag*", "iam:UnTag*" ], "Resource": [ "*" ], "Condition": { "Null": { "aws:TagKeys": "false" }, "ForAllValues:StringLike": { "aws:TagKeys": [ "key1*", "key2*", "key3*" ] } } } ] }

예: 조건 집합 연산자 ForAnyValue를 포함한 거부 정책

다음 자격 증명 기반 정책 예제는 정책에 지정된 태그 키(environment 또는 webserver) 중 하나로 태그가 지정된 스냅샷이 있는 경우 EC2 인스턴스 볼륨의 스냅샷 생성을 거부합니다. 정책에는 컨텍스트 키 aws:TagKeys가 포함된 ForAnyValue 집합 연산자가 포함되는데, 요청 컨텍스트 키에 여러 값이 포함될 수 있기 때문입니다. 정책에 지정된 태그 키 값 중 하나가 태깅 요청에 포함된 경우 aws:TagKeys 컨텍스트 키는 true를 반환하여 거부 정책 효과를 간접적으로 호출합니다.

중요

이 정책은 어떤 작업도 허용하지 않습니다. 이 정책을 특정 작업을 허용하는 다른 정책과 함께 사용합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "ec2:CreateSnapshot", "ec2:CreateSnapshots" ], "Resource": "arn:aws:ec2:us-west-2::snapshot/*", "Condition": { "ForAnyValue:StringEquals": { "aws:TagKeys": ["environment", "webserver"] } } } ] }