고객 관리 암호화 키로 데이터 암호화

이 페이지에서는 자체 암호화 키를 사용하여 엔터프라이즈 등급 인스턴스에서 Filestore 데이터를 암호화하는 방법을 보여줍니다.

기본적으로 Google Cloud는 Google에서 관리하는 암호화 키를 사용하여 자동으로 저장 데이터를 암호화합니다. 데이터를 보호하는 키를 더 세밀하게 제어해야 하는 경우 Filestore용 고객 관리 암호화 키(CMEK)를 사용할 수 있습니다.

CMEK를 사용 설정하는 시기와 이유를 포함한 일반적인 CMEK에 대한 자세한 내용은 Cloud Key Management Service 문서를 참조하세요.

인스턴스에 사용할 키링 및 키 만들기

키링과 키는 Filestore 인스턴스와 다른 프로젝트에 있을 수 있지만 같은 위치에 있어야 합니다. Filestore에 사용할 Cloud KMS 키링 및 키가 이미 있으면 다음 섹션으로 건너뜁니다. 그렇지 않으면 대칭 암호화 키 만들기의 안내에 따라 키링 및 키를 만듭니다.

Filestore 서비스 계정에 키 액세스 권한 부여

고객 관리 암호화 키를 사용하는 Filestore 인스턴스를 만들려면 Filestore 서비스 계정에 Cloud KMS CryptoKey 암호화/복호화 역할(roles/cloudkms.cryptoKeyEncrypterDecrypter)이 있어야 합니다.

  1. 아직 Filestore 서비스 계정이 없는 경우 다음을 실행하여 만듭니다.

    gcloud beta services identity create --service=file.googleapis.com --project=INSTANCE_PROJECT_NUMBER_OR_ID
    

    INSTANCE_PROJECT_NUMBER_OR_ID를 Filestore 인스턴스를 만들려는 프로젝트 번호 또는 프로젝트 ID로 바꿉니다.

  2. 다음을 실행하여 Filestore 서비스 계정에 Cloud KMS CryptoKey 암호화/복호화 역할을 할당합니다.

    gcloud projects add-iam-policy-binding KMS_PROJECT_NUMBER_OR_ID \
        --member serviceAccount:service-INSTANCE_PROJECT_NUMBER@cloud-filer.iam.gserviceaccount.com \
        --role roles/cloudkms.cryptoKeyEncrypterDecrypter
    

    다음을 바꿉니다.

    • KMS_PROJECT_NUMBER_OR_ID를 사용하려는 Cloud KMS 키가 포함된 프로젝트의 프로젝트 번호 또는 ID로 바꿉니다.
    • INSTANCE_PROJECT_NUMBER를 Filestore 인스턴스를 만들려는 프로젝트의 프로젝트 번호(프로젝트 ID가 아님)로 바꿉니다.

Cloud KMS 키를 사용하는 인스턴스 만들기

데이터 암호화에 Cloud KMS 키를 사용하는 Filestore 인스턴스를 만들려면 filestore instances create 명령어에서 --kms-key 플래그를 지정합니다.

gcloud beta filestore instances create nfs-server \
    --tier=ENTERPRISE \
    --location=us-central1 \
    --file-share=name="vol1",capacity=1TiB \
    --network=name="default" \
    --kms-key=KMS_KEY

KMS_KEY를 사용하려는 Cloud KMS 키의 정규화된 이름으로 바꿉니다. 또는 다음 형식으로 각 인수를 개별적으로 지정할 수 있습니다.

--kms-key=KMS_KEY : --kms-keyring=KEY_RING --kms-location=KMS_REGION --kms-project=KMS_PROJECT_NUMBER_OR_ID

다음을 바꿉니다.

  • KMS_KEY를 Cloud KMS 키 이름으로 바꿉니다.
  • KMS_PROJECT_NUMBER_OR_ID를 키가 생성된 프로젝트 번호 또는 프로젝트의 ID로 바꿉니다.
  • KMS_KEY_RING을 키링 이름으로 바꿉니다.
  • KMS_REGION을 키링의 리전으로 바꿉니다.

키 목록 가져오기

다음을 실행하여 키 목록을 가져올 수 있습니다.

gcloud kms keys list \
    --project=KMS_PROJECT_NUMBER_OR_ID \
    --keyring=KEY_RING \
    --location=KMS_REGION

다음을 바꿉니다.

  • KMS_PROJECT_NUMBER_OR_ID를 키가 생성된 프로젝트 번호 또는 프로젝트의 ID로 바꿉니다.
  • KEY_RING을 키링 이름으로 바꿉니다.
  • KMS_REGION을 키링의 리전으로 바꿉니다.

출력의 이름 열은 기존 키의 정규화된 이름을 제공합니다. 예를 들면 다음과 같습니다.

projects/example-project/locations/us-central1/keyRings/example-ring/cryptoKeys/example-key

인스턴스 정보 가져오기

특정 Cloud KMS 키를 사용하는 인스턴스 목록

다음을 실행하여 특정 키를 사용하는 Filestore 인스턴스를 나열할 수 있습니다.

gcloud beta filestore instances list --filter="kmsKeyName=KMS_KEY"

KMS_KEY를 사용하려는 키의 정규화된 이름으로 바꿉니다.

예:

gcloud beta filestore instances list \
    --filter="kmsKeyName=projects/example-project/locations/us-central1/keyRings/example-ring/cryptoKeys/example-key"

출력 형식은 다음과 같습니다.

INSTANCE_NAME LOCATION    TIER       CAPACITY_GB FILE_SHARE_NAME IP_ADDRESS   STATE CREATE_TIME
nfs-server    us-central1 ENTERPRISE 1024        vol1            10.166.108.2 READY 2021-08-12T11:38:56

인스턴스의 Cloud KMS 키 정보 가져오기

Filestore 인스턴스의 Cloud KMS 키 정보를 가져오려면 다음을 실행합니다.

gcloud beta filestore instances describe INSTANCE_ID \
   --location=INSTANCE_LOCATION

다음을 바꿉니다.

  • INSTANCE_ID를 정보를 가져올 Filestore 인스턴스의 인스턴스 ID로 바꿉니다.
  • INSTANCE_LOCATION을 인스턴스가 있는 리전 또는 영역으로 바꿉니다.

출력 형식은 다음과 같습니다.

createTime: '2021-08-12T11:38:56.851157387Z'
fileShares:
- capacityGb: '1024'
  name: vol1
kmsKeyName: projects/example-project/locations/us-central1/keyRings/example-ring/cryptoKeys/example-key
labels:
  key: val
name: projects/consumer-project/locations/us-central1/instances/nfs-server
networks:
- ipAddresses:
  - 10.0.100.2
  modes:
  - MODE_IPV4
  network: network
  reservedIpRange: 10.166.108.0/23
state: READY
tier: ENTERPRISE

인스턴스에서 사용하는 Cloud KMS 키 사용 중지 또는 폐기

Filestore는 Cloud KMS 키의 상태를 모니터링하지 않습니다. 키 또는 키 버전이 사용 중지되거나 폐기되는 경우 Filestore 인스턴스가 데이터를 계속 제공하지만 키를 사용할 수 없으므로 언제든지 실패할 수 있습니다.

키가 사용 중지되거나 폐기된 후 데이터에 대한 액세스가 차단되도록 하려면 Google 지원팀에 문의하여 인스턴스를 중지해 달라고 요청하세요.

인스턴스가 중지되면 파일 공유 데이터와 스냅샷에 대한 모든 액세스가 차단됩니다. 중지된 인스턴스는 삭제될 때까지 계속 청구됩니다.

중지된 인스턴스 시작

데이터 암호화에 Cloud KMS 키를 사용하는 중지된 Filestore 인스턴스를 시작하기 전에 먼저 모든 키 버전을 사용 설정 또는 복원해야 합니다. 인스턴스가 4주 이상 중지된 경우 다시 시작이 최선의 방식으로 수행되며, 불가능할 수도 있습니다.

다음 단계