한 회사에서 Amazon EC2 인스턴스의 Amazon Elastic Kubernetes Service(Amazon EKS) 클러스터에서 애플리케이션을 실행하고 있습니다. 이 애플리케이션에는 Amazon DynamoDB를 사용하는 UI와 Amazon S3를 사용하는 데이터 서비스가 있습니다. 이 회사는 UI용 EKS Pod가 Amazon DynamoDB에만 액세스할 수 있고, 데이터 서비스용 EKS Pod가 Amazon S3에만 액세스할 수 있도록 해야 합니다. 이 회사는 AWS Identity and Access Management(IAM)를 사용합니다. 다음 중 이러한 요구 사항을 충족하는 솔루션은 무엇입니까?
정답 선택
옵션을 탭하여 정답을 확인하세요.
정답: UI 및 데이터 서비스가 IAM 역할을 맡도록 별도의 Kubernetes 서비스 계정을 생성합니다. AmazonS3FullAccess 정책을 데이터 서비스 계정에 연결하고 AmazonDynamoDBFullAccess 정책을 UI 서비스 계정에 연결합니다..
이것이 정답인 이유
정답은 EKS Pod에 세분화된 AWS 권한을 부여하는 가장 안전하고 권장되는 방법인 서비스 계정용 IAM 역할(IRSA)을 사용하기 때문입니다. IRSA를 사용하면 각 Kubernetes 서비스 계정에 특정 IAM 역할을 연결할 수 있으며, Pod는 해당 서비스 계정을 통해 해당 IAM 역할을 맡을 수 있습니다. 이렇게 하면 UI Pod는 DynamoDB에만, 데이터 서비스 Pod는 S3에만 액세스할 수 있도록 권한을 명확하게 분리할 수 있습니다.
오답 1은 EC2 인스턴스 프로필에 모든 권한을 부여하고 RBAC로 제어하는 방식인데, 이는 인스턴스에 과도한 권한을 부여하여 보안 위험을 증가시킵니다. 오답 2는 IAM 정책을 Pod에 직접 연결할 수 없으므로 기술적으로 불가능합니다. 오답 4는 IRSA를 사용하지만, UI Pod가 S3에, 데이터 서비스 Pod가 DynamoDB에 액세스하도록 잘못된 정책을 연결하여 요구 사항을 충족하지 못합니다.