태그 기반 액세스 제어를 위한 정책 - 아마존 EMR

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

태그 기반 액세스 제어를 위한 정책

자격 증명 기반 정책에서 조건을 사용하여 태그에 따라 가상 클러스터 및 작업 실행에 대한 액세스를 제어할 수 있습니다. 태그 지정에 대한 자세한 내용은 Amazon EMR on EKS 리소스 태그 지정 섹션을 참조하세요.

다음 예는 조건 키에서 EMR EKS Amazon과 함께 조건 연산자를 사용하는 다양한 시나리오와 방법을 보여줍니다. 이러한 IAM 정책 설명은 데모 목적으로만 사용되며 프로덕션 환경에서는 사용해서는 안 됩니다. 다양한 방법으로 정책 명령문을 결합하여 요구 사항에 따라 권한을 부여하거나 거부할 수 있습니다. 계획 및 테스트 IAM 정책에 대한 자세한 내용은 IAM사용 설명서를 참조하십시오.

중요

태깅 작업에 대한 권한을 명시적으로 거부하는 것은 중요한 고려 사항입니다. 이렇게 하면 사용자가 리소스에 태그를 지정하지 못하므로, 부여할 의도가 없는 권한이 부여되지 않도록 방지할 수 있습니다. 리소스에 대한 태그 지정 작업이 거부되지 않는 경우 사용자는 태그를 수정하여 태그 기반 정책의 의도를 우회할 수 있습니다. 태그 지정 작업을 거부하는 정책의 예제는 태그를 추가 또는 제거하는 액세스 거부 섹션을 참조하세요.

아래 예는 EKS 가상 클러스터에서 EMR Amazon에 허용되는 작업을 제어하는 데 사용되는 ID 기반 권한 정책을 보여줍니다.

특정 태그 값이 있는 리소스에서만 작업 허용

다음 정책 예제에서 StringEquals 조건 연산자는 dev를 태그 부서의 값과 일치시키려고 합니다. department 태그가 가상 클러스터에 추가되지 않았거나 dev 값이 포함되지 않은 경우 정책이 적용되지 않으며 이 정책에 따라 작업이 허용되지 않습니다. 작업을 허용하는 다른 정책 명령문이 없는 경우 사용자는 이 값과 함께 이 태그가 있는 가상 클러스터만 작업할 수 있습니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "emr-containers:DescribeVirtualCluster" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/department": "dev" } } } ] }

또한 조건 연산자를 사용하여 여러 태그 값을 지정할 수 있습니다. 예를 들어, department 태그에 dev 또는 test 값이 포함된 가상 클러스터에서 모든 작업을 허용하려면 이전 예제의 조건 블록을 다음으로 대체할 수 있습니다.

"Condition": { "StringEquals": { "aws:ResourceTag/department": ["dev", "test"] } }

리소스 생성 시 태그 지정이 필요함

아래 예제에서는 가상 클러스터를 생성할 때 태그를 적용해야 합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "emr-containers:CreateVirtualCluster" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/department": "dev" } } } ] }

다음 정책 명령문에서는 클러스터에 department 태그가 있는 경우에만 사용자가 가상 클러스터를 생성할 수 있도록 허용합니다. 이 태그에는 어떤 값이든 포함될 수 있습니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "emr-containers:CreateVirtualCluster" ], "Resource": "*", "Condition": { "Null": { "aws:RequestTag/department": "false" } } } ] }

태그를 추가 또는 제거하는 액세스 거부

이 정책의 효과는 department 값이 포함된 dev 태그를 사용하여 태그가 지정된 가상 클러스터에서 태그를 추가하거나 제거할 수 있는 권한을 사용자에게 거부하는 것입니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "emr-containers:TagResource", "emr-containers:UntagResource" ], "Resource": "*", "Condition": { "StringNotEquals": { "aws:ResourceTag/department": "dev" } } } ] }