이 페이지 개선에 도움 주기
이 사용자 설명서에 기여하고 싶으신가요? 모든 페이지의 오른쪽 창에 있는 GitHub에서 이 페이지 편집 링크를 선택합니다. 여러분의 기여는 모두를 위한 더 나은 사용자 설명서를 만드는 데 도움이 됩니다.
태그를 기반으로 AWS 리소스에 대한 pods 액세스 제어
EKS Pod Identity는 클러스터 이름, 네임스페이스, 서비스 계정 이름 등의 속성을 사용하여 각 포드의 임시 보안 인증 정보에 태그를 연결합니다. 관리자는 이러한 역할 세션 태그를 사용하여 일치하는 태그를 기반으로 AWS 리소스에 대한 액세스를 허용하여 여러 서비스 계정에서 작업할 수 있는 단일 역할을 작성할 수 있습니다. 역할 세션 태그에 대한 지원을 추가함으로써 고객은 동일한 IAM 역할과 IAM 정책을 재사용하면서 클러스터 간 및 클러스터 내 워크로드 간에 더 엄격한 보안 경계를 적용할 수 있습니다.
예를 들어 다음 정책에서는 객체에 EKS 클러스터 이름이 태그가 지정된 경우 s3:GetObject
작업을 허용합니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectTagging" ], "Resource": "*", "Condition": { "StringEquals": { "s3:ExistingObjectTag/eks-cluster-name": "${aws:PrincipalTag/eks-cluster-name}" } } } ] }
EKS Pod Identity에서 추가한 세션 태그 목록
다음 목록에는 Amazon EKS의 AssumeRole
요청에 추가된 태그의 모든 키가 포함되어 있습니다. 정책에서 이러한 태그를 사용하려면 ${aws:PrincipalTag/
다음에 키를 사용합니다(예: ${aws:PrincipalTag/kubernetes-namespace}
).
-
eks-cluster-arn
-
eks-cluster-name
-
kubernetes-namespace
-
kubernetes-service-account
-
kubernetes-pod-name
-
kubernetes-pod-uid
교차 계정 태그
EKS Pod Identity에서 추가한 모든 세션 태그는 전이적이며, 워크로드가 역할을 다른 계정으로 전환하는 데 사용하는 모든 AssumeRole
작업에 태그 키와 값이 전달됩니다. 다른 계정의 정책에 이러한 태그를 사용하여 교차 계정 시나리오에서 액세스를 제한할 수 있습니다. 자세한 내용은 IAM 사용 설명서의 세션 태그를 사용하는 역할 체인을 참조하세요.
사용자 지정 태그
EKS Pod Identity는 수행하는 AssumeRole
작업에 사용자 지정 태그를 추가할 수 없습니다. 하지만 IAM 역할에 적용하는 태그는 항상 동일한 형식(${aws:PrincipalTag/
다음에 키 사용)을 통해 사용 가능합니다(예: ${aws:PrincipalTag/MyCustomTag}
).
참고
sts:AssumeRole
요청을 통해 세션에 추가된 태그가 충돌하는 경우 우선시됩니다. 예를 들어 다음 내용을 가정해 봅니다.
-
예를 들어 EKS가 고객 역할을 수임할 때 Amazon EKS가 세션에
eks-cluster-name
키와my-cluster
값을 추가한다고 가정하고 -
IAM 역할에
my-own-cluster
값이 있는eks-cluster-name
태그를 추가합니다.
이 경우 전자가 우선하여 eks-cluster-name
태그의 값은 my-cluster
입니다.