기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
태그 기반 액세스 제어를 위한 정책
자격 증명 기반 정책의 조건을 사용하여 태그를 기반으로 애플리케이션 및 작업 실행에 대한 액세스를 제어할 수 있습니다.
다음 예제에서는 EMR Serverless 조건 키와 함께 조건 연산자를 사용할 수 있는 다양한 시나리오와 방법을 보여줍니다. 이러한 IAM 정책 명령문은 데모용일 뿐이며 프로덕션 환경에서 사용해서는 안 됩니다. 다양한 방법으로 정책 명령문을 결합하여 요구 사항에 따라 권한을 부여하거나 거부할 수 있습니다. IAM 정책 계획 및 테스트에 대한 자세한 내용은 IAM 사용 설명서를 참조하세요.
중요
태깅 작업에 대한 권한을 명시적으로 거부하는 것은 중요한 고려 사항입니다. 이렇게 하면 사용자가 리소스에 태그를 지정하지 못하므로, 부여할 의도가 없는 권한이 부여되지 않도록 방지할 수 있습니다. 리소스에 대한 태그 지정 작업이 거부되지 않는 경우 사용자는 태그를 수정하여 태그 기반 정책의 의도를 우회할 수 있습니다. 태그 지정 작업을 거부하는 정책의 예제는 태그를 추가 또는 제거하는 액세스 거부 섹션을 참조하세요.
아래 예제에서는 EMR Serverless 애플리케이션에서 허용되는 작업을 제어하는 데 사용되는 자격 증명 기반 권한 정책을 보여줍니다.
특정 태그 값이 있는 리소스에서만 작업 허용
다음 정책 예제에서 StringEquals
조건 연산자는 dev
를 department 태그의 값과 일치시키려고 시도합니다. department 태그가 애플리케이션에 추가되지 않았거나 dev
값이 포함되지 않은 경우 정책이 적용되지 않으며 이 정책에 따라 작업이 허용되지 않습니다. 작업을 허용하는 다른 정책 명령문이 없는 경우 사용자는 이 값과 함께 이 태그가 있는 애플리케이션에서만 작업할 수 있습니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "emr-serverless:GetApplication" ], "Resource": "*", "Condition": { "StringEquals": { "emr-serverless:ResourceTag/department": "dev" } } } ] }
또한 조건 연산자를 사용하여 여러 태그 값을 지정할 수 있습니다. 예를 들어, department
태그에 dev
또는 test
값이 포함된 애플리케이션에서 작업을 허용하려면 이전 예제의 조건 블록을 다음으로 대체할 수 있습니다.
"Condition": { "StringEquals": { "emr-serverless:ResourceTag/department": ["dev", "test"] } }
리소스 생성 시 태그 지정이 필요함
아래 예제에서 가상 클러스터를 생성하는 경우 태그를 적용해야 합니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "emr-serverless:CreateApplication" ], "Resource": "*", "Condition": { "StringEquals": { "emr-serverless:RequestTag/department": "dev" } } } ] }
다음 정책 명령문에서는 애플리케이션에 department
태그가 있는 경우에만 사용자가 애플리케이션을 생성할 수 있도록 허용합니다. 이 태그에는 어떤 값이든 포함될 수 있습니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "emr-serverless:CreateApplication" ], "Resource": "*", "Condition": { "Null": { "emr-serverless:RequestTag/department": "false" } } } ] }
태그를 추가 또는 제거하는 액세스 거부
이 정책은 값이 dev
가 아닌 department
태그가 있는 EMR Serverless 애플리케이션에서 사용자가 태그를 추가하거나 제거하는 것을 방지합니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "emr-serverless:TagResource", "emr-serverless:UntagResource" ], "Resource": "*", "Condition": { "StringNotEquals": { "emr-serverless:ResourceTag/department": "dev" } } } ] }