Amazon EKS에서 접근 제어가 어떻게 작동하는지 알아보기

Amazon EKS에서 접근 제어가 어떻게 작동하는지 알아보기

Amazon EKS 클러스터에 대한 접근을 관리하는 방법을 알아봐요. Amazon EKS를 사용하려면 Kubernetes와 AWS Identity and Access Management(AWS IAM)가 접근 제어를 처리하는 방식에 대한 지식이 필요해요.

출처: 문서

본문

이 섹션에는 다음이 포함돼요:

  • IAM 사용자와 역할에 Kubernetes API 접근 권한 부여 (Grant IAM users and roles access to Kubernetes APIs) — 애플리케이션이나 사용자가 Kubernetes API에 인증할 수 있게 하는 방법을 알아봐요. access entries, aws-auth ConfigMap, 외부 OIDC 프로바이더를 사용할 수 있어요.
  • AWS Management Console에서 Kubernetes 리소스 보기 (View Kubernetes resources in the AWS Management Console) — AWS Management Console이 Amazon EKS 클러스터와 통신하도록 구성하는 방법을 알아봐요. 콘솔로 네임스페이스, 노드, 파드 같은 클러스터의 Kubernetes 리소스를 봐요.
  • AWS 서비스에 Kubernetes API 쓰기 접근 권한 부여 (Grant AWS services write access to Kubernetes APIs) — Kubernetes 리소스를 수정하는 데 필요한 권한을 알아봐요.
  • kubeconfig 파일을 만들어 kubectl을 EKS 클러스터에 연결 (Connect kubectl to an EKS cluster by creating a kubeconfig file) — kubectl이 Amazon EKS 클러스터와 통신하도록 구성하는 방법을 알아봐요. AWS CLI로 kubeconfig 파일을 만들어요.
  • Kubernetes Service Accounts를 사용해 AWS에 Kubernetes 워크로드 접근 권한 부여 (Grant Kubernetes workloads access to AWS using Kubernetes Service Accounts) — Kubernetes 서비스 계정을 AWS IAM 역할과 연결하는 방법을 알아봐요. Pod Identity 또는 IAM Roles for Service Accounts(IRSA)를 사용할 수 있어요.

일반적인 작업 (Common Tasks)

  • 개발자에게 Kubernetes API 접근 권한 부여하기. AWS Management Console에서 Kubernetes 리소스 보기. 해결책: access entries를 사용해 Kubernetes RBAC 권한을 AWS IAM 사용자나 역할과 연결합니다.
  • AWS Credentials로 Amazon EKS 클러스터와 통신하도록 kubectl 구성하기. 해결책: AWS CLI로 kubeconfig 파일을 만듭니다.
  • Ping Identity 같은 외부 ID 프로바이더로 사용자를 Kubernetes API에 인증하기. 해결책: 외부 OIDC 프로바이더를 연결합니다.
  • Kubernetes 클러스터의 워크로드가 AWS API를 호출할 수 있게 하기. 해결책: Pod Identity로 AWS IAM 역할을 Kubernetes Service Account와 연결합니다.

배경 (Background)

  • Kubernetes Service Accounts가 어떻게 작동하는지 알아보기.
  • Kubernetes Role Based Access Control(RBAC) 모델 검토.

AWS 리소스 접근 관리에 대한 자세한 내용은 AWS IAM 사용자 안내서를 참고해 주세요. 또는 AWS IAM 사용에 대한 무료 입문 교육을 들어보세요.

EKS Auto Mode를 위한 고려 사항 (Considerations for EKS Auto Mode)

EKS Auto Mode는 EKS Pod Identity와 EKS access entries와 통합돼요.

  • EKS Auto Mode는 access entries를 사용해 EKS 제어 플레인에 Kubernetes 권한을 부여해요. 예를 들어 access policies는 EKS Auto Mode가 네트워크 엔드포인트와 서비스에 대한 정보를 읽을 수 있게 해요.
  • EKS Auto Mode 클러스터에서는 access entries를 비활성화할 수 없어요.
  • 선택적으로 aws-auth ConfigMap을 활성화할 수 있어요.
  • EKS Auto Mode용 access entries는 자동으로 구성돼요. 이 access entries를 볼 수는 있지만 수정할 수 없어요.
  • NodeClass로 사용자 지정 Node IAM Role을 만들면 AmazonEKSAutoNodePolicy access policy를 사용해 그 역할에 대한 access entry를 만들어야 해요.
  • 워크로드에 AWS 서비스 권한을 부여하려면 EKS Pod Identity를 사용해 주세요.
  • EKS Auto Mode 클러스터에는 Pod Identity agent를 설치할 필요가 없어요.

더 알아보기 (Learn more)