고객 관리 암호화 키

기본적으로 Google Cloud는 Google에서 관리하는 암호화 키를 사용하여 자동으로 저장 데이터를 암호화합니다. 데이터를 보호하는 키와 관련된 특정 규정 준수 또는 규제 요구사항이 있으면 사용자 관리형 노트북 인스턴스에 고객 관리 암호화 키(CMEK)를 사용할 수 있습니다.

이 페이지에서는 사용자 관리형 노트북과 함께 CMEK를 사용할 때의 몇 가지 구체적인 이점과 제한사항을 설명하고 CMEK를 사용하도록 새로운 사용자 관리형 노트북 인스턴스를 구성하는 방법을 보여줍니다.

CMEK를 사용 설정하는 시기와 이유를 포함한 일반적인 CMEK에 대한 자세한 내용은 고객 관리 암호화 키를 참조하세요.

CMEK의 이점

일반적으로 CMEK는 데이터를 암호화하는 데 사용되는 키를 완전히 제어해야 하는 경우에 가장 유용합니다. CMEK를 사용하면 Cloud Key Management Service내에서 키를 관리할 수 있습니다. 예를 들어 키를 순환 또는 사용 중지하거나 Cloud KMS API를 사용하여 순환 일정을 설정할 수 있습니다.

사용자 관리형 노트북 인스턴스를 실행하면 인스턴스가 Vertex AI Workbench에서 관리하는 가상 머신(VM)에서 실행됩니다. 사용자 관리형 노트북 인스턴스에 대해 CMEK를 사용 설정하면 Vertex AI Workbench는 Google에서 관리하는 키가 아닌 사용자가 지정한 키를 사용하여 VM의 부팅 디스크에 있는 데이터를 암호화합니다.

CMEK 키는 사용자 관리형 노트북 인스턴스와 관련된 인스턴스 이름 및 리전과 같은 메타데이터를 암호화하지 않습니다. 사용자 관리형 노트북 인스턴스와 관련된 메타데이터는 항상 Google의 기본 암호화 메커니즘을 사용하여 암호화됩니다.

CMEK의 제한사항

Google은 지연 시간을 줄이고 리소스가 여러 장애 도메인에 분산된 서비스에 의존하지 않도록 동일한 위치에 있는 키를 사용하여 리전 사용자 관리형 노트북 인스턴스를 보호하는 것이 좋습니다.

  • 동일한 위치 또는 전역 위치에 키를 사용하여 리전 사용자 관리형 노트북 인스턴스를 암호화할 수 있습니다. 예를 들어 us-west1 또는 global의 키를 사용하여 us-west1-a 영역의 디스크에 있는 데이터를 암호화할 수 있습니다.
  • 모든 위치의 키를 사용하여 전역 인스턴스를 암호화할 수 있습니다.
  • 사용자 관리형 노트북용 CMEK를 구성해도 사용 중인 다른 Google Cloud 제품에 대해 CMEK가 자동으로 구성되지는 않습니다. CMEK를 사용하여 다른 Google Cloud 제품의 데이터를 암호화하려면 추가 구성을 완료해야 합니다.

사용자 관리형 노트북 인스턴스에 CMEK 구성

다음 섹션에서는 Cloud Key Management Service에서 키 링 및 키를 만들고 서비스 계정에 키에 대한 암호화 및 복호화 권한을 부여하고, CMEK를 사용하는 사용자 관리형 노트북 인스턴스를 만드는 방법을 설명합니다.

시작하기 전에

업무 분장을 지원하는 설정을 사용하는 것이 좋습니다. 사용자 관리형 노트북에 대해 CMEK를 구성하려면 별도의 두 Google Cloud 프로젝트를 사용할 수 있습니다.

  • Cloud KMS 프로젝트: 암호화 키 관리 프로젝트
  • 사용자 관리형 노트북 프로젝트: 사용자 관리형 노트북 인스턴스에 액세스하고 사용 사례에 필요한 다른 Google Cloud 제품과 상호작용하는 프로젝트

또는 단일 Google Cloud 프로젝트를 사용할 수 있습니다. 이를 위해서는 다음 모든 작업에 동일한 프로젝트를 사용합니다.

Cloud KMS 프로젝트 설정

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Cloud KMS API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Cloud KMS API.

    Enable the API

사용자 관리형 노트북 프로젝트 설정

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Notebooks API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Notebooks API.

    Enable the API

Google Cloud CLI 설정

이 페이지의 일부 단계에서는 gcloud CLI가 필요하며 다른 경우에는 선택 사항입니다.

Install the Google Cloud CLI, then initialize it by running the following command:

gcloud init

키링 및 키 만들기

키링과 키를 만들 때 다음 요구사항에 유의하세요.

  • 키링의 위치를 선택할 때 global 또는 사용자 관리형 노트북 인스턴스가 배치될 위치를 사용합니다.

  • Cloud KMS 프로젝트에서 키링과 키를 만들어야 합니다.

키링과 키를 만들려면 대칭 암호화 키 만들기를 참조하세요.

사용자 관리형 노트북 권한 부여

사용자 관리형 노트북 인스턴스에 CMEK를 사용하려면 사용자 관리형 노트북 인스턴스에 키를 사용하여 데이터를 암호화 및 복호화하는 권한을 부여해야 합니다.

사용할 서비스 계정 결정

사용자 관리형 노트북은 서비스 계정을 사용하여 사용자 관리형 노트북 인스턴스를 실행합니다. 이 서비스 계정은 기본 Compute Engine 서비스 계정이거나 인스턴스를 만들 때 지정하는 서비스 계정입니다.

서비스 계정이 기본 Compute Engine 서비스 계정인 경우 다음을 완료하여 서비스 계정의 이메일 주소를 찾습니다.

  1. Google Cloud 콘솔에서 IAM 페이지로 이동합니다.

    IAM으로 이동

  2. 이름이 Compute Engine default service account인 주 구성원을 찾습니다.

    이 서비스 계정의 이메일 주소를 기록해두고 다음 단계에서 키를 사용해 데이터를 암호화 및 복호화할 수 있는 권한을 부여하는 데 이 계정을 사용합니다.

서비스 계정에 권한 부여

Google Cloud 콘솔을 사용하거나 Google Cloud CLI를 사용하여 권한을 부여합니다.

콘솔

  1. Google Cloud 콘솔에서 암호화 키 페이지로 이동합니다.

    암호화 키로 이동

  2. Cloud KMS 프로젝트를 선택합니다.

  3. 키링 및 키 만들기에서 만든 키링의 이름을 클릭합니다. 키링 세부정보 페이지가 열립니다.

  4. 키링 및 키 만들기에서 만든 키의 체크박스를 선택합니다. 키 이름으로 라벨이 지정된 정보 패널이 아직 열려 있지 않은 경우 정보 패널 표시를 클릭합니다.

  5. 정보 패널에서  구성원 추가를 클릭합니다. 'KEY_NAME'에 구성원 추가 대화상자가 열립니다. 이 대화상자에서 다음 작업을 수행합니다.

    1. 새 구성원 필드에 인스턴스의 서비스 계정 이메일 주소를 입력합니다.

    2. 역할 선택 목록에서 Cloud KMS를 클릭한 다음 Cloud KMS CryptoKey Encrypter/Decrypter 역할을 선택합니다.

    3. 저장을 클릭합니다.

gcloud

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

gcloud kms keys add-iam-policy-binding KEY_NAME \
    --keyring=KEY_RING_NAME \
    --location=REGION \
    --project=KMS_PROJECT_ID \
    --member=serviceAccount:SERVICE_ACCOUNT \
    --role=roles/cloudkms.cryptoKeyEncrypterDecrypter

다음을 바꿉니다.

  • KEY_NAME: 키링 및 키 만들기에서 만든 키의 이름
  • KEY_RING_NAME: 키링 및 키 만들기에서 만든 키링
  • REGION: 키링을 만든 리전
  • KMS_PROJECT_ID: Cloud KMS 프로젝트의 ID
  • SERVICE_ACCOUNT: 인스턴스의 서비스 계정 이메일 주소

CMEK로 사용자 관리형 노트북 인스턴스 만들기

키를 사용하여 데이터를 암호화 및 복호화할 수 있는 권한을 사용자 관리형 노트북 인스턴스에 부여했으므로, 이 키를 사용하여 데이터를 암호화하는 사용자 관리형 노트북 인스턴스를 만들 수 있습니다.

다음 예시에서는 Google Cloud 콘솔 또는 gcloud CLI를 사용하여 키를 사용하여 데이터를 암호화하고 복호화하는 방법을 보여줍니다.

콘솔

고객 관리 암호화 키를 사용하여 사용자 관리형 노트북 인스턴스를 만들려면 다음 단계를 따르세요.

  1. Google Cloud 콘솔에서 사용자 관리형 노트북 페이지로 이동합니다. 또는 notebook.new(https://notebook.new)로 이동하고 다음 단계로 건너뜁니다.

    사용자 관리형 노트북으로 이동

  2.  새 노트북을 클릭한 후 맞춤설정을 선택합니다.

  3. 사용자 관리형 노트북 만들기 페이지의 세부정보 섹션에서 새 인스턴스에 대해 다음 정보를 제공하세요.

    • 이름: 새 인스턴스 이름
    • 리전: 키 및 키링이 있는 리전
    • 영역 - 선택한 리전에 있는 영역
  4. 디스크 섹션을 선택합니다.

  5. 고객 관리 암호화 키를 사용하려면 암호화에서 고객 관리 암호화 키(CMEK)를 선택합니다.

  6. 고객 관리 키 선택을 클릭합니다.

    • 사용하려는 고객 관리 키가 목록에 있으면 선택합니다.
    • 사용하려는 고객 관리 키가 목록에 없으면 고객 관리 키의 리소스 ID를 입력합니다. 고객 관리 키의 리소스 ID는 다음과 같습니다.

      projects/NOTEBOOKS_PROJECT_NUMBER/locations/global/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME

      다음을 바꿉니다.

  7. 인스턴스 만들기 대화상자의 나머지 부분을 완료한 후 만들기를 클릭합니다.

  8. Vertex AI Workbench는 지정된 속성을 기반으로 사용자 관리형 노트북 인스턴스를 만들고 자동으로 인스턴스를 시작합니다. 인스턴스를 사용할 준비가 되면 Vertex AI Workbench가 JupyterLab 열기 링크를 활성화합니다.

gcloud

gcloud CLI를 사용하여 고객 관리 암호화 키로 사용자 관리형 노트북 인스턴스를 만들려면 다음 명령어를 실행합니다. 이 예시에서는 n1-standard-1 머신 유형 및 표준 100GB 표준 영구 부팅 디스크로 사용자 관리형 노트북 인스턴스를 만든다고 가정합니다.

gcloud notebooks instances create notebook-vm-cmek \
    --location=REGION \
    --vm-image-family=IMAGE_FAMILY \
    --vm-image-project=deeplearning-platform-release \
    --machine-type="n1-standard-1" \
    --boot-disk-type="PD_STANDARD" \
    --boot-disk-size=100 \
    --kms-key=KEY_NAME \
    --kms-project=KMS_PROJECT_ID \
    --kms-location=REGION \
    --kms-keyring=KEY_RING_NAME \
    --disk-encryption=CMEK \
    --metadata='proxy-mode=project_editors'

다음을 바꿉니다.

  • REGION: 키링을 만들었고 새 사용자 관리형 노트북 인스턴스를 만들려는 리전
  • IMAGE_FAMILY: 사용자 관리형 노트북 인스턴스를 만드는 데 사용할 이미지 계열
  • KEY_NAME: 키링 및 키 만들기에서 만든 키의 이름
  • KMS_PROJECT_ID: Cloud KMS 프로젝트의 ID
  • KEY_RING_NAME: 키링 및 키 만들기에서 만든 키링

다음 단계