AWS KMS 키 만들기

개요

AWS용 GKE는 고객 관리 AWS 키 관리 서비스(KMS) 대칭 키를 사용하여 다음을 암호화합니다.

프로덕션 환경의 경우 구성 및 볼륨 암호화에 서로 다른 키를 사용하는 것이 좋습니다. 또한 키가 손상된 경우 위험을 최소화하려면 다음 중 하나에 대해 다른 키를 만들 수 있습니다.

추가 보안을 위해 필요한 최소 권한 집합만 할당하는 AWS KMS 키 정책을 만들 수 있습니다. 자세한 내용은 특정 권한으로 KMS 키 만들기를 참조하세요.

AWS KMS 키 만들기

키를 만들려면 다음 명령어를 실행합니다.

aws --region AWS_REGION kms create-key \
    --description "KEY_DESC"

다음을 바꿉니다.

  • AWS_REGION을 AWS 리전 이름으로 바꿉니다.
  • KEY_DESC를 키에 대한 텍스트 설명으로 바꿉니다.

만든 키마다 나중에 사용할 수 있도록 이 명령어 출력에 KeyMetadata.Arn라는 값을 저장합니다.

특정 권한으로 KMS 키 만들기

함수마다 별도의 키를 만드는 경우 해당 키에 적합한 권한을 부여하는 KMS 키 정책을 각 키에 제공해야 합니다. 키를 만들 때 키 정책을 지정하지 않으면 AWS KMS가 소유 계정의 모든 주 구성원에 키의 모든 작업에 대한 무제한 액세스를 제공하는 기본 키 정책을 만듭니다.

키 정책을 만들 때는 AWS IAM 정책에 키 정책에 대한 액세스를 허용해야 합니다. 키 정책은 또한 IAM 정책을 사용할 수 있는 권한을 계정에 제공해야 합니다. 키 정책의 권한이 없으면 권한을 허용하는 IAM 정책이 효과가 없습니다. 자세한 내용은 AWS KMS의 키 정책을 참조하세요.

다음 표에서는 AWS용 GKE가 사용하는 각 AWS IAM 역할에 대한 권한을 설명합니다.

GKE Multi-Cloud API 서비스 에이전트 역할 제어 영역 역할 노드 풀 역할 자동 확장을 위한 AWS 서비스 역할
클러스터 제어 영역 구성 암호화 kms:Encrypt kms:Decrypt 해당 사항 없음 해당 사항 없음
클러스터 제어 영역 데이터베이스 암호화 해당 사항 없음 kms:Encrypt
kms:Decrypt
해당 사항 없음 해당 사항 없음
클러스터 제어 영역 기본 볼륨 암호화 kms:GenerateDataKeyWithoutPlaintext kms:CreateGrant 해당 사항 없음 해당 사항 없음
클러스터 제어 영역 루트 볼륨 암호화 해당 사항 없음 해당 사항 없음 해당 사항 없음 고객 관리 키에 대해 액세스를 허용하는 키 정책 섹션 참조
노드 풀 구성 암호화 kms:Encrypt 해당 사항 없음 kms:Decrypt 해당 사항 없음
노드 풀 루트 볼륨 암호화 해당 사항 없음 해당 사항 없음 해당 사항 없음 고객 관리 키에 대해 액세스를 허용하는 키 정책 섹션 참조
기타 요구사항 kms:DescribeKey 해당 사항 없음 해당 사항 없음 해당 사항 없음

다음 단계