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

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

이 페이지에서는 고유한 암호화 키를 사용하여 Filestore 인스턴스에서 Filestore 데이터를 암호화하는 방법을 설명합니다.

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

Cloud Key Management Service에서는 HSM 클러스터에 또는 Cloud 외부 키 관리자(Cloud EKM) 외부에 소프트웨어 키로 저장할 수 있는 고객 관리 암호화 키를 지원합니다. 아직 Filestore에서는 Cloud EKM을 사용할 수 없습니다. 이 기능을 사용하려고 하면 일관성 없는 오류 메시지와 서비스 중단이 발생할 수 있습니다.

자세한 내용은 Cloud Key Management Service고객 관리 암호화 키를 참조하세요.

지원 등급

다음 표에서는 고객 관리 암호화 키를 지원하는 Filestore 계층을 보여줍니다.

등급 고객 관리 암호화 키 지원
기본 HDD 아니요
기본 SSD 아니요
대규모 SSD
Enterprise

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

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

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

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

  1. 프로젝트에 Filestore 인스턴스를 처음 만들 때 Filestore 서비스 계정이 생성됩니다. 아직 Filestore 서비스 계정이 없으면 다음 services identity create 명령어를 실행합니다.

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

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

  2. projects add-iam-policy-binding 명령어를 실행하여 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 키를 사용하는 인스턴스 만들기

Google Cloud Console

데이터 암호화에 Cloud KMS 키를 사용하는 인스턴스를 만들려면 다음 안내를 따르세요.

  1. Google Cloud 콘솔에서 Filestore 인스턴스 페이지로 이동합니다.

    Filestore 인스턴스 페이지로 이동

  2. 인스턴스 만들기를 클릭합니다.

  3. CMEK를 지원하는 인스턴스 등급을 선택하고 평소와 같이 다른 모든 필수 필드와 선택적 필드를 입력합니다.

  4. 고급 옵션 표시를 클릭합니다.

  5. 고객 관리 암호화 키(CMEK) 사용 체크박스를 선택합니다.

  6. 인스턴스에 사용할 Cloud KMS 키를 선택합니다.

  7. 만들기를 클릭합니다.

gcloud CLI

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

gcloud filestore instances create nfs-server \
    --tier=<var>TIER</var> \
    --location=us-central1 \
    --file-share=name="vol1",capacity=1TiB \
    --network=name="default" \
    --kms-key=KMS_KEY

다음을 바꿉니다.

  • TIER를 고객 관리 암호화 키를 지원하는 Filestore 등급으로 바꿉니다.
  • 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을 키링 리전으로 바꿉니다. 키링과 인스턴스는 같은 리전에 있어야 합니다.

키 목록 가져오기

kms keys list 명령어를 실행하여 키 목록을 가져올 수 있습니다.

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 키를 사용하는 인스턴스 목록

instances list 명령어를 실행하여 특정 키를 사용하는 Filestore 인스턴스를 나열할 수 있습니다.

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

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

예:

gcloud 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 키 정보를 가져옵니다.

Google Cloud Console

  1. Filestore 인스턴스 페이지로 이동합니다.

    Filestore 인스턴스 페이지로 이동

  2. 인스턴스 ID를 클릭하여 인스턴스 세부정보 페이지를 엽니다.

  3. 개요 탭을 클릭합니다.

인스턴스에서 Google 관리 암호화 키 대신 Cloud KMS 키를 사용하여 데이터를 암호화하면 키 이름이 암호화 키 필드에 표시됩니다.

gcloud CLI

다음 instances describe 명령어를 실행합니다.

gcloud 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 키를 사용하는 경우 인스턴스를 다시 시작하기 전에 키의 모든 키 버전을 사용 설정하거나 복원해야 합니다.

Cloud KMS 키 상태가 사용 설정되면 인스턴스가 키 변경을 자동으로 감지하고 추가 작업 없이 일반적으로 20분 이내에 다시 시작됩니다.

다음 단계