고객 관리 암호화 키

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

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

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

CMEK의 이점

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

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

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

CMEK의 제한사항

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

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

Vertex AI Workbench 인스턴스의 CMEK 구성

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

시작하기 전에

업무 분장을 지원하는 설정을 사용하는 것이 좋습니다. Vertex AI Workbench용 CMEK를 구성하려면 별도의 두 Google Cloud 프로젝트를 사용하면 됩니다.

  • Cloud KMS 프로젝트: 암호화 키 관리 프로젝트
  • Vertex AI Workbench 프로젝트: Vertex AI Workbench 인스턴스에 액세스하고 사용 사례에 필요한 다른 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

Vertex AI Workbench 프로젝트 설정

  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 또는 Vertex AI Workbench 인스턴스가 배치될 위치를 사용합니다.

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

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

Vertex AI Workbench 권한 부여

Vertex AI Workbench 인스턴스에 CMEK를 사용하려면 Vertex AI Workbench 인스턴스에 키를 사용하여 데이터를 암호화 및 복호화하는 권한을 부여해야 합니다. 이 권한을 프로젝트의 서비스 에이전트 및 Compute Engine 서비스 계정에 부여합니다.

Vertex AI Workbench 프로젝트의 특정 계정을 찾으려면 Google Cloud 콘솔을 사용합니다.

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

    IAM으로 이동

  2. Google 제공 역할 부여 포함을 선택합니다.

  3. 다음 이메일 주소 형식과 일치하는 구성원을 찾습니다. 이메일 주소를 기록하고 다음 단계에서 사용합니다.

    • 프로젝트의 서비스 에이전트 이메일 주소는 다음과 같습니다.

      service-NOTEBOOKS_PROJECT_NUMBER@gcp-sa-notebooks.iam.gserviceaccount.com
    • Compute Engine 서비스 계정의 이메일 주소는 다음과 같습니다.

      service-NOTEBOOKS_PROJECT_NUMBER@compute-system.iam.gserviceaccount.com

    NOTEBOOKS_PROJECT_NUMBER를 Vertex AI Workbench 프로젝트의 프로젝트 번호로 바꿉니다.

    이러한 계정에 키를 사용하여 데이터를 암호화 및 복호화할 수 있는 권한을 부여하려면 Google Cloud 콘솔 또는 Google Cloud CLI를 사용하세요.

    콘솔

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

      암호화 키로 이동

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

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

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

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

      1. 새 구성원 필드에 프로젝트의 서비스 에이전트 이메일 주소를 입력합니다.

        service-NOTEBOOKS_PROJECT_NUMBER@gcp-sa-notebooks.iam.gserviceaccount.com
      2. 역할 선택 목록에서 Cloud KMS를 클릭한 다음 Cloud KMS CryptoKey Encrypter/Decrypter 역할을 선택합니다.

      3. 저장을 클릭합니다.

    6. Compute Engine 서비스 에이전트에서 다음 단계를 반복합니다.

      service-NOTEBOOKS_PROJECT_NUMBER@compute-system.iam.gserviceaccount.com

    gcloud

    1. 키를 사용하여 데이터를 암호화 및 복호화할 수 있는 권한을 프로젝트의 서비스 에이전트에 부여하려면 다음 명령어를 실행하세요.

      gcloud kms keys add-iam-policy-binding KEY_NAME \
        --keyring=KEY_RING_NAME \
        --location=REGION \
        --project=KMS_PROJECT_ID \
        --member=serviceAccount:service-NOTEBOOKS_PROJECT_NUMBER@gcp-sa-notebooks.iam.gserviceaccount.com \
        --role=roles/cloudkms.cryptoKeyEncrypterDecrypter

      다음을 바꿉니다.

      • KEY_NAME: 키링 및 키 만들기에서 만든 키의 이름
      • KEY_RING_NAME: 키링 및 키 만들기에서 만든 키링
      • REGION: 키링을 만든 리전
      • KMS_PROJECT_ID: Cloud KMS 프로젝트의 ID
      • NOTEBOOKS_PROJECT_NUMBER: 이전 섹션에서 서비스 계정 이메일 주소의 일부로 기록해 둔 Vertex AI Workbench 프로젝트의 프로젝트 번호
    2. Compute Engine 서비스 계정에 키를 사용하여 데이터를 암호화 및 복호화할 수 있는 권한을 부여하려면 다음 명령어를 실행합니다.

      gcloud kms keys add-iam-policy-binding KEY_NAME \
        --keyring=KEY_RING_NAME \
        --location=REGION \
        --project=KMS_PROJECT_ID \
        --member=serviceAccount:service-NOTEBOOKS_PROJECT_NUMBER@compute-system.iam.gserviceaccount.com \
        --role=roles/cloudkms.cryptoKeyEncrypterDecrypter

CMEK로 Vertex AI Workbench 인스턴스 만들기

키를 사용하여 데이터를 암호화 및 복호화할 수 있는 권한을 Vertex AI Workbench 인스턴스에 부여했으므로, 이 키를 사용하여 데이터를 암호화하는 Vertex AI Workbench 인스턴스를 만들 수 있습니다.

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

고객 관리 암호화 키로 Vertex AI Workbench 인스턴스를 만들려면 다음 안내를 따르세요.

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

    인스턴스로 이동

  2. 새로 만들기를 클릭합니다.

  3. 새 인스턴스 대화상자에서 고급 옵션을 클릭합니다.

  4. 인스턴스 만들기 대화상자의 세부정보 섹션에서 새 인스턴스에 대해 다음 정보를 제공합니다.

    • 이름: 새 인스턴스 이름
    • 리전: 키 및 키링이 있는 리전
    • 영역 - 선택한 리전에 있는 영역
  5. 디스크 섹션의 암호화에서 고객 관리 암호화 키(CMEK)를 선택합니다.

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

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

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

      다음을 바꿉니다.

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

다음 단계