EKS Auto Mode의 ID와 접근 알아보기
EKS Auto Mode의 ID와 접근 알아보기
EKS Auto Mode를 사용하는 데 필요한 Identity and Access Management(IAM) 역할과 권한에 대해 설명해요. EKS Auto Mode는 Cluster IAM Role과 Node IAM Role 두 가지 주요 IAM 역할을 사용하며, 이 역할들이 EKS Pod Identity와 EKS access entries와 함께 동작해 포괄적인 접근 관리를 제공해요.
출처: 문서
본문
EKS Auto Mode를 구성할 때 AWS 서비스가 클러스터 리소스와 상호작용할 수 있도록 특정 권한을 가진 IAM 역할을 설정해야 해요. 여기에는 컴퓨트 리소스, 스토리지 볼륨, 로드 밸런서, 네트워킹 컴포넌트를 관리하는 권한이 포함돼요. 이런 역할 구성을 이해하는 것은 클러스터의 올바른 운영과 보안에 필수적이에요.
EKS Auto Mode에서는 EKS access entries를 통해 AWS IAM 역할이 Kubernetes 권한에 자동으로 매핑돼요. 따라서 aws-auth ConfigMap이나 사용자 지정 바인딩을 수동으로 구성할 필요가 없어요. 새 auto mode 클러스터를 만들면 EKS가 Access entries로 해당하는 Kubernetes 권한을 자동으로 생성해 AWS 서비스와 클러스터 컴포넌트가 AWS와 Kubernetes 인증 시스템 양쪽에서 적절한 접근 수준을 가지도록 보장해요. 이 자동화된 통합은 구성 복잡성을 줄이고 EKS 클러스터를 관리할 때 흔히 발생하는 권한 관련 문제를 예방하는 데 도움을 줘요.
Cluster IAM 역할 (Cluster IAM role)
Cluster IAM role은 Amazon EKS가 Kubernetes 클러스터의 권한을 관리하는 데 사용하는 AWS IAM 역할이에요. 이 역할은 Amazon EKS가 클러스터를 대신해 다른 AWS 서비스와 상호작용하는 데 필요한 권한을 부여하며, EKS access entries를 사용해 Kubernetes 권한으로 자동 구성돼요.
- 이 역할에 AWS IAM 정책을 연결해야 해요.
- EKS Auto Mode는 EKS access entries를 사용해 이 역할에 Kubernetes 권한을 자동으로 연결해요.
- EKS Auto Mode에서는 AWS 계정당 Cluster IAM Role을 하나 만드는 것을 권장해요.
- AWS는 이 역할 이름을
AmazonEKSAutoClusterRole로 지정할 것을 권장해요. - 이 역할은 EBS 볼륨, Elastic Load Balancers, EC2 인스턴스를 포함한 리소스를 관리하기 위해 여러 AWS 서비스에 대한 권한이 필요해요.
- 이 역할의 권장 구성은 EKS Auto Mode의 여러 기능과 관련된 여러 AWS 관리형 IAM 정책을 포함해요:
AmazonEKSComputePolicyAmazonEKSBlockStoragePolicyV2AmazonEKSLoadBalancingPolicyAmazonEKSNetworkingPolicyAmazonEKSClusterPolicy
Cluster IAM Role과 AWS 관리형 IAM 정책에 대한 자세한 내용은 다음을 참고해 주세요:
- AWS managed policies for Amazon Elastic Kubernetes Service
- Amazon EKS cluster IAM role
Kubernetes 접근에 대한 자세한 내용은 Review access policy permissions를 참고해 주세요.
Node IAM 역할 (Node IAM role)
Node IAM role은 Amazon EKS가 Kubernetes 클러스터의 워커 노드 권한을 관리하는 데 사용하는 AWS IAM 역할이에요. 이 역할은 Kubernetes 노드로 실행되는 EC2 인스턴스가 AWS 서비스와 리소스와 상호작용하는 데 필요한 권한을 부여하며, EKS access entries를 사용해 Kubernetes RBAC 권한으로 자동 구성돼요.
- 이 역할에 AWS IAM 정책을 연결해야 해요.
- EKS Auto Mode는 EKS access entries를 사용해 이 역할에 Kubernetes RBAC 권한을 자동으로 연결해요.
- AWS는 이 역할 이름을
AmazonEKSAutoNodeRole로 지정할 것을 권장해요. - EKS Auto Mode에서는 AWS 계정당 Node IAM Role을 하나 만드는 것을 권장해요.
- 이 역할은 제한된 권한을 가져요. 주요 권한에는 Pod Identity Role을 가정(assume)하고 ECR에서 이미지를 가져오는 것이 포함돼요.
- AWS는 다음 AWS 관리형 IAM 정책을 권장해요:
AmazonEKSWorkerNodeMinimalPolicyAmazonEC2ContainerRegistryPullOnly
Node IAM Role과 AWS 관리형 IAM 정책에 대한 자세한 내용은 다음을 참고해 주세요:
- AWS managed policies for Amazon Elastic Kubernetes Service
- Amazon EKS node IAM role
Kubernetes 접근에 대한 자세한 내용은 Review access policy permissions를 참고해 주세요.
서비스 연결 역할 (Service-linked role)
Amazon EKS는 특정 작업에 서비스 연결 역할(SLR)을 사용해요. 서비스 연결 역할은 Amazon EKS에 직접 연결된 독특한 유형의 IAM 역할이에요. SLR은 Amazon EKS가 미리 정의하며, 서비스가 사용자를 대신해 다른 AWS 서비스를 호출하는 데 필요한 모든 권한을 포함해요.
- AWS가 SLR을 자동으로 생성하고 구성해요. SLR은 관련 리소스를 먼저 삭제한 후에만 삭제할 수 있어요. 이렇게 하면 리소스에 접근할 권한을 실수로 제거할 수 없으므로 Amazon EKS 리소스가 보호돼요.
SLR 정책은 Amazon EKS에 핵심 인프라 컴포넌트를 관찰하고 삭제할 권한을 부여해요: EC2 리소스(인스턴스, 네트워크 인터페이스, 보안 그룹), ELB 리소스(로드 밸런서, 대상 그룹), CloudWatch 기능(로깅 및 메트릭), 그리고 "eks" 접두사가 있는 IAM 역할. 또한 VPC/호스팅 영역 연결을 통한 프라이빗 엔드포인트 네트워킹을 활성화하고, EventBridge 모니터링과 EKS 태그가 붙은 리소스 정리를 위한 권한을 포함해요.
자세한 내용은 다음을 참고해 주세요:
- AWS managed policy: AmazonEKSServiceRolePolicy
- Service-linked role permissions for Amazon EKS
접근 정책 참조 (Access Policy Reference)
EKS Auto Mode가 사용하는 Kubernetes 권한에 대한 자세한 내용은 Review access policy permissions를 참고해 주세요.