고객 관리 암호화 키 사용

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

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

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

CMEK의 이점

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

관리형 노트북 인스턴스를 실행하면 인스턴스가 Google에서 관리하는 컴퓨팅 인프라에서 실행됩니다. 관리형 노트북 인스턴스에 CMEK를 사용 설정하면 Vertex AI Workbench는 Google에서 관리하는 키가 아닌 사용자가 지정한 키를 사용하여 사용자 데이터를 암호화합니다.

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

CMEK의 제한사항

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

  • 동일한 위치 또는 전역 위치에 키를 사용하여 리전 관리 노트북 인스턴스를 암호화할 수 있습니다. 예를 들어 us-west1 또는 global의 키를 사용하여 us-west1 리전에서 사용자 데이터를 암호화할 수 있습니다.
  • 관리형 노트북용 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 프로젝트에서 키링과 키를 만들어야 합니다.

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

관리형 노트북 권한 부여

단일 사용자 액세스로 인스턴스를 설정하는 경우 관리형 노트북 인스턴스의 프로젝트에 키를 사용한 데이터 암호화 및 복호화 권한을 부여해야 합니다. 이 권한을 프로젝트의 서비스 에이전트에 부여합니다. 이 서비스 에이전트의 이메일 주소는 다음과 같습니다.

service-NOTEBOOKS_PROJECT_NUMBER@gcp-sa-notebooks.iam.gserviceaccount.com

NOTEBOOKS_PROJECT_NUMBER를 관리형 노트북 인스턴스 프로젝트의 프로젝트 번호로 바꿉니다.

서비스 에이전트의 이메일 주소를 기록해 둡니다. 이러한 이메일 주소는 다음 단계에서 관리형 노트북 인스턴스의 프로젝트에 키를 사용하여 데이터를 암호화 및 복호화하기 위한 권한을 부여하기 위해 사용됩니다. 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

  1. 다음 명령어를 실행하여 서비스 에이전트에 키를 사용하여 데이터를 암호화하고 복호화할 수 있는 권한을 부여합니다.

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

    다음을 바꿉니다.

    • KEY_NAME: 키링 및 키 만들기에서 만든 키의 이름
    • KEY_RING_NAME: 키링 및 키 만들기에서 만든 키링
    • REGION: 키링을 만든 리전
    • KMS_PROJECT_ID: Cloud KMS 프로젝트의 ID
    • EMAIL_ADDRESS: 이전 섹션에서 기록해 둔 서비스 에이전트의 이메일 주소

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

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

  1. Google Cloud 콘솔에서 관리형 노트북 페이지로 이동합니다.

    관리형 노트북으로 이동

  2.  새 노트북을 클릭합니다.

  3. 노트북 이름 필드에 인스턴스의 이름을 입력합니다.

  4. 리전 목록을 클릭하고 인스턴스의 리전을 선택합니다.

  5. 고급 설정을 클릭합니다.

  6. 디스크 암호화 섹션에서 고객 관리 암호화 키(CMEK)를 선택합니다.

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

    • 사용하려는 고객 관리 키가 목록에 있으면 선택합니다.

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

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

      다음을 바꿉니다.

  8. 필요에 따라 관리형 노트북 만들기 대화상자의 나머지 부분을 완료합니다.

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

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

다음 단계