이 페이지에서는 PostgreSQL용 AlloyDB에 고객 관리 암호화 키 (CMEK)를 만들고, 구성하고, 적용하는 방법을 설명합니다.
CMEK에 대한 자세한 내용은 CMEK 정보를 참고하세요.
AlloyDB용 CMEK 키 만들기 및 승인
Cloud Key Management Service(Cloud KMS)에서 키를 만듭니다. AlloyDB는 다음과 같은 종류의 키를 지원합니다.
키는 AlloyDB 클러스터와 동일한 위치에 있어야 합니다. 예를 들어
us-west1
에 있는 AlloyDB 클러스터는us-west1
의 키만 사용할 수 있습니다.이미 올바른 위치에 Cloud KMS 키가 있으면 이 단계를 건너뛰어도 됩니다.
AlloyDB에 키에 대한 액세스 권한을 부여합니다.
Google Cloud CLI를 사용하여 서비스 에이전트를 만들어 표시하거나, 계정이 이미 있으면 표시합니다.
gcloud beta services identity create --service=alloydb.googleapis.com \ --project=PROJECT
gcloud services identity 명령어는 AlloyDB가 사용자 대신 Cloud KMS 키에 액세스하는 데 사용할 수 있는 서비스 에이전트를 만들거나 가져옵니다.
서비스 계정 ID는 이메일 주소와 유사합니다.
Service identity created: service-xxx@gcp-sa-alloydb.iam.gserviceaccount.com
서비스 계정에
cloudkms.cryptoKeyEncrypterDecrypter
역할을 부여합니다.gcloud kms keys add-iam-policy-binding KEY \ --location REGION \ --keyring KEYRING \ --project=PROJECT \ --member serviceAccount:service-xxx@gcp-sa-alloydb.iam.gserviceaccount.com \ --role roles/cloudkms.cryptoKeyEncrypterDecrypter
다음을 바꿉니다.
- KEY: 키의 Cloud KMS ID입니다.
- REGION: 키의 리전입니다(예:
us-central1
). - PROJECT: 키 프로젝트의 ID입니다.
- KEYRING: 키의 Cloud KMS 키링 ID입니다.
이 역할은 Cloud KMS 키로 암호화 및 복호화할 수 있는 권한이 서비스 계정에 포함되도록 합니다. 자세한 내용은 Cloud KMS 권한 및 역할을 참고하세요.
CMEK 암호화 클러스터 만들기
새 클러스터를 만들 때 기본 Google 관리 암호화로 암호화할지 또는 대신 CMEK 키를 사용할지 선택할 수 있습니다. 자세한 내용은 클러스터 및 기본 인스턴스 만들기를 참고하세요.
클러스터의 암호화 방법 및 CMEK 키 보기
콘솔
클러스터 페이지의 암호화 열에는 프로젝트의 각 클러스터에서 Google 관리 암호화 또는 CMEK를 사용하는지 여부가 표시됩니다.
CMEK를 사용하는 클러스터의 주요 세부정보를 보려면 리소스 이름 열에서 클러스터 이름을 클릭합니다. 후속 세부정보 페이지의 암호화 키 필드에는 자체 Cloud KMS 세부정보 페이지 링크를 비롯하여 키에 관한 설명이 포함됩니다.
gcloud
gcloud alloydb clusters describe
명령어를 호출합니다.
gcloud alloydb clusters describe CLUSTER \
--project=PROJECT \
--region=REGION
다음을 바꿉니다.
- CLUSTER: 설명할 클러스터의 ID입니다.
- PROJECT: 클러스터 프로젝트의 ID입니다.
- REGION: 클러스터의 리전입니다(예:
us-central1
).
출력에는 클러스터 암호화의 요약이 포함된 encryptionInfo
필드가 포함됩니다.
백업에 CMEK 적용
새 백업을 만들 때 기본 Google 관리 암호화로 암호화할지 또는 대신 CMEK 키를 사용할지 선택할 수 있습니다. 자세한 내용은 주문형 백업 만들기 또는 자동 백업 예약을 참고하세요.
백업에서 복원할 때 생성된 클러스터에 백업의 암호화 방법과 관계없이 CMEK 키를 적용할 수도 있습니다. 자세한 내용은 클러스터 복원을 참고하세요.
백업의 암호화 방법 및 CMEK 키 보기
콘솔
백업 페이지의 암호화 열에는 프로젝트의 각 클러스터에서 Google 관리 암호화 또는 CMEK를 사용하는지 여부가 표시됩니다.
CMEK를 사용하는 백업의 주요 세부정보를 보려면 복원을 클릭합니다. 후속 세부정보 패널의 암호화 키 필드에는 자체 Cloud KMS 세부정보 페이지 링크를 비롯하여 키에 대한 설명이 포함됩니다.
gcloud
gcloud alloydb backups describe
명령어를 호출합니다.
gcloud alloydb backups describe CLUSTER \
--project=PROJECT \
--region=REGION
다음을 바꿉니다.
- CLUSTER: 설명할 백업의 ID
- PROJECT: 백업 프로젝트의 ID입니다.
- REGION: 백업의 리전입니다(예:
us-central1
).
출력에는 백업 암호화의 요약이 포함된 encryptionInfo
필드가 포함됩니다.
키 중지
클러스터의 CMEK 키를 사용 중지하면 키를 다시 사용 설정할 때까지 해당 클러스터의 데이터에 액세스할 수 없습니다.
하지만 키를 사용 중지하면 AlloyDB 클러스터에 변경사항이 전파되는 데 최대 3시간이 걸릴 수 있습니다. 데이터에 대한 액세스를 즉시 차단하면서 키를 사용 중지하려면 다음 단계를 따르세요.
클러스터의 기본 인스턴스를 삭제합니다. 클러스터의 데이터에는 영향을 미치지 않습니다. 다음 섹션에 설명된 대로 키를 다시 사용 설정한 후 새 기본 인스턴스를 만들 수 있습니다.
키 사용 설정
키를 사용 설정하려면 다음 단계를 따르세요.
키를 사용 중지하기 전에 클러스터의 기본 인스턴스를 삭제한 경우 새 기본 인스턴스를 만듭니다.
키를 사용 설정하면 변경사항이 클러스터에 적용될 때까지 최대 3시간이 걸릴 수 있습니다. 전파가 완료되는 즉시 클러스터의 데이터에 액세스할 수 있습니다.
Cloud KMS 키의 감사 로그 보기
특정 CMEK 키와 연결된 감사 로그를 보려면 다음 단계를 따르세요.
프로젝트에서 Cloud KMS API에 대해 로깅이 사용 설정되었는지 확인합니다.
Google Cloud 콘솔에서 로그 탐색기로 이동합니다.
쿼리 빌더에 다음 줄을 추가하여 로그 항목을 Cloud KMS로 제한합니다.
resource.type="cloudkms_cryptokey" resource.labels.location="REGION" resource.labels.key_ring_id="KEYRING" resource.labels.crypto_key_id="KEY"
다음을 바꿉니다.
- REGION: 키의 리전입니다(예:
us-central1
). - KEYRING: 키의 Cloud KMS 키링 ID입니다.
- KEY: 키의 Cloud KMS ID입니다.
- REGION: 키의 리전입니다(예:
정상 작동 중에는 암호화 및 복호화 작업이
INFO
심각도로 로깅됩니다. 이러한 항목은 AlloyDB 클러스터의 인스턴스가 {kms_name_short}} 키를 확인할 때 로깅되며, 이는 약 5분마다 발생합니다.AlloyDB가 키에 액세스하지 못하면 작업이
ERROR
로 로깅됩니다.
Cloud EKM 키의 액세스 근거 보기
Cloud EKM 키를 사용하는 경우 키 액세스 근거를 사용하여 각 Cloud EKM 요청의 이유를 확인할 수 있습니다. 또한 제공된 근거에 따라 요청을 자동으로 승인하거나 거부할 수 있습니다. 자세한 내용은 근거 확인 및 조치를 참고하세요.