고객 관리 암호화 키(CMEK) 사용
기본적으로 Colab Enterprise는 저장 중 고객 콘텐츠를 암호화합니다. Colab Enterprise는 사용자의 추가 작업 없이 자동으로 암호화를 처리합니다. 이 옵션을 Google 기본 암호화라고 부릅니다.
암호화 키를 제어하려면 Colab Enterprise를 포함한 CMEK 통합 서비스와 함께 Cloud KMS에서 고객 관리 암호화 키(CMEK)를 사용하면 됩니다. Cloud KMS 키를 사용하면 보호 수준, 위치, 순환 일정, 사용 및 액세스 권한, 암호화 경계를 관리할 수 있습니다. Cloud KMS를 사용하면 감사 로그를 보고 키 수명 주기를 제어할 수도 있습니다. Google에서 데이터를 보호하는 대칭 키 암호화 키(KEK)를 소유하고 관리하는 대신 사용자가 Cloud KMS에서 이러한 키를 제어하고 관리할 수 있습니다.
CMEK로 리소스를 설정한 후 Colab Enterprise 리소스에 액세스하는 환경은 Google 기본 암호화를 사용하는 것과 유사합니다. 암호화 옵션에 대한 자세한 내용은 고객 관리 암호화 키(CMEK)를 참조하세요.
이 가이드에서는 Colab Enterprise에서 CMEK를 사용하는 방법을 설명합니다.
Vertex AI에서 CMEK를 사용하는 방법에 관한 자세한 내용은 Vertex AI CMEK 페이지를 참고하세요.
Colab Enterprise용 CMEK
CMEK를 사용하여 Colab Enterprise 런타임과 노트북 파일 (노트북)을 암호화할 수 있습니다.
런타임
Colab Enterprise 노트북에서 코드를 실행하면 런타임은 Colab Enterprise에서 관리하는 하나 이상의 가상 머신 (VM) 인스턴스에서 코드를 실행합니다. Colab Enterprise 런타임에 CMEK를 사용 설정하면 Google에서 관리하는 키 대신 지정한 키가 이러한 VM의 데이터를 암호화하는 데 사용됩니다. CMEK 키는 다음과 같은 종류의 데이터를 암호화합니다.
- VM의 코드 사본
- 코드에 의해 로드되는 모든 데이터
- 코드에 의해 로컬 디스크에 저장되는 모든 임시 데이터
런타임의 CMEK 암호화에 영향을 미치지 않고 런타임을 시작, 중지, 업그레이드할 수 있습니다.
일반적으로 CMEK 키는 런타임 이름이나 노트북 이름 및 리전과 같은 작업과 관련된 메타데이터를 암호화하지 않습니다. 이 메타데이터는 항상 Google의 기본 암호화 메커니즘을 사용하여 암호화됩니다.
Notebooks
Colab Enterprise 노트북은 Dataform 저장소에 저장됩니다. 노트북을 만들면 Colab Enterprise에서 노트북이 저장되는 숨겨진 Dataform 저장소를 자동으로 만듭니다. 저장소가 숨겨져 있으므로 다른 Dataform 저장소와 달리 암호화 설정을 수정할 수 없습니다.
노트북에 CMEK를 사용하려면 노트북이 포함될 Google Cloud 프로젝트에 기본 Dataform CMEK 키를 설정해야 합니다. 기본 Dataform CMEK 키를 설정하면 Dataform은 기본적으로 Google Cloud 프로젝트에서 생성된 모든 새 저장소(노트북 저장을 위해 생성된 숨겨진 저장소 포함)에 키를 적용합니다.
기본 Dataform CMEK 키는 기존 저장소에 적용되지 않습니다. 따라서 해당 프로젝트에 이미 노트북이 있는 경우 기본 Dataform CMEK 키로 암호화되지 않습니다. 프로젝트의 기본 Dataform CMEK 키를 설정하기 전에 만든 노트북에서 CMEK를 사용하려면 노트북 파일을 새 Colab Enterprise 노트북으로 저장하면 됩니다.
기본 Dataform CMEK 키에 대한 자세한 내용은 Dataform 기본 CMEK 키 사용을 참고하세요.
노트북에 CMEK를 사용하려면 기본 Dataform CMEK 키 설정을 참고하세요.
지원되는 키
Colab Enterprise는 다음 유형의 CMEK 키를 지원합니다.
키 가용성은 키 유형 및 리전에 따라 다릅니다. CMEK 키의 지리적 가용성에 대한 자세한 내용은 Cloud KMS 위치를 참조하세요.
제한 및 한도
Colab Enterprise는 다음과 같은 제한사항이 있는 CMEK를 지원합니다.
- Vertex AI의 기본 할당량은 프로젝트 및 리전당 암호화 키 1개입니다. 프로젝트의 리전에 키를 두 개 이상 등록해야 하는 경우 Google 계정팀에 문의하여 CMEK 구성 할당량 증가를 요청하고 키가 두 개 이상 필요한 이유를 설명합니다.
Cloud KMS 할당량 및 Colab Enterprise
Colab Enterprise에서 CMEK를 사용할 때 프로젝트는 Cloud KMS 암호화 요청 할당량을 사용할 수 있습니다. CMEK 키를 사용하는 암호화 및 복호화 작업은 하드웨어(Cloud HSM) 또는 외부(Cloud EKM) 키를 사용하는 경우에만 Cloud KMS 할당량에 영향을 미칩니다. 자세한 내용은 Cloud KMS 할당량을 참조하세요.
런타임에 CMEK 구성
다음 섹션에서는 Cloud Key Management Service에서 키링 및 키를 만들고, 키에 대한 Colab Enterprise 암호화 및 복호화 권한을 부여하고, CMEK를 사용하도록 구성된 런타임 템플릿을 만드는 방법을 설명합니다. Colab Enterprise가 이 런타임 템플릿에서 생성하는 모든 런타임은 CMEK 암호화를 사용합니다.
시작하기 전에
이 가이드에서는 Colab Enterprise 런타임에 대해 CMEK를 구성하기 위해 다음과 같은 두 개의 개별 Google Cloud 프로젝트를 사용한다고 가정합니다.
- 암호화 키를 관리하기 위한 프로젝트('Cloud KMS 프로젝트'라고 함)
- Colab Enterprise 리소스에 액세스하고 필요한 다른 Google Cloud 제품과 상호작용하는 프로젝트('Notebook 프로젝트'라고 함)
이 권장 설정은 업무 분리를 지원합니다.
또는 전체 가이드에 단일 Google Cloud 프로젝트를 사용할 수 있습니다. 이렇게 하려면 Cloud KMS 프로젝트를 참조하는 다음 모든 작업과 Notebook 프로젝트를 참조하는 작업에 동일한 프로젝트를 사용합니다.
Cloud KMS 프로젝트 설정
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud KMS API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud KMS API.
노트북 프로젝트 설정
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI API.
Google Cloud CLI 설정
gcloud CLI는 이 가이드의 일부 단계에 필요하며 다른 경우에는 선택 사항입니다.Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
키링 및 키 만들기
키링과 키를 만들려면 Cloud KMS 가이드에서 대칭 키 만들기를 따르세요. 키링을 만들 때 Colab Enterprise 작업을 지원하는 리전을 키링의 위치로 지정합니다. Colab Enterprise는 런타임과 키가 동일한 리전을 사용할 때만 CMEK를 지원합니다. 키링에 이중 리전, 멀티 리전 또는 전역 위치를 지정해서는 안 됩니다.
Cloud KMS 프로젝트에서 키링과 키를 만들어야 합니다.
Colab Enterprise 권한 부여
리소스에 CMEK를 사용하려면 키를 사용하여 데이터를 암호화하고 복호화하는 권한을 Colab Enterprise에 부여해야 합니다.
Colab Enterprise는 Google 관리형 서비스 에이전트를 사용하여 리소스로 작업을 실행합니다. 이 서비스 계정은 다음 형식의 이메일 주소로 식별할 수 있습니다.
service-PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com
.
Notebook 프로젝트에 적합한 서비스 계정을 찾으려면Google Cloud 콘솔의 IAM 페이지로 이동하여 이 이메일 주소 형식과 일치하는 구성원을 찾고, Notebook 프로젝트의 프로젝트 번호로 NOTEBOOK_PROJECT_NUMBER 변수를 대체합니다. 또한 이름이 Vertex AI Service Agent
인 서비스 계정도 있습니다.
이 서비스 계정의 이메일 주소를 기록해두고 다음 단계에서 키를 사용해 데이터를 암호화 및 복호화할 수 있는 권한을 부여하는 데 이 계정을 사용합니다. Google Cloud 콘솔 또는 Google Cloud CLI를 사용하여 권한을 부여할 수 있습니다.
Google Cloud 콘솔
Google Cloud 콘솔에서 보안을 클릭하고 키 관리를 선택합니다. 이렇게 하면 암호화 키 페이지로 이동하고 Cloud KMS 프로젝트가 선택됩니다.
키링 세부정보 페이지로 이동하려면 이 가이드의 이전 섹션에서 만든 키링의 이름을 클릭합니다.
이 가이드의 이전 섹션에서 만든 키의 체크박스를 선택합니다. 키 이름으로 라벨이 지정된 정보 패널이 아직 열려 있지 않은 경우 정보 패널 표시를 클릭합니다.
정보 패널에서
구성원 추가를 클릭하여 'KEY_NAME'에 구성원 추가 대화상자를 엽니다. 이 대화상자에서 다음 작업을 수행합니다.새 구성원 상자에 이전 섹션에서 기록해둔 서비스 계정 이메일 주소(
service-NOTEBOOK_PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com
)를 입력합니다.역할 선택 드롭다운 목록에서 Cloud KMS를 클릭한 다음 Cloud KMS CryptoKey Encrypter/Decrypter 역할을 선택합니다.
저장을 클릭합니다.
gcloud
다음 명령어를 실행합니다.
gcloud kms keys add-iam-policy-binding KEY_NAME \ --keyring=KEY_RING_NAME \ --location=REGION \ --project=KMS_PROJECT_ID \ --member=serviceAccount:service-NOTEBOOK_PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com \ --role=roles/cloudkms.cryptoKeyEncrypterDecrypter
이 명령어에서 다음 자리표시자를 바꿉니다.
- KEY_NAME: 이 가이드의 이전 섹션에서 만든 키의 이름입니다.
- KEY_RING_NAME: 이 가이드의 이전 섹션에서 만든 키링입니다.
- REGION: 키링을 만든 리전입니다.
- KMS_PROJECT_ID: Cloud KMS 프로젝트의 ID입니다.
- NOTEBOOK_PROJECT_NUMBER: 이전 섹션에서 서비스 계정 이메일 주소의 일부로 기록해 둔 노트북 프로젝트의 프로젝트 번호입니다.
KMS 키로 런타임 템플릿 구성
새 CMEK 지원 리소스를 만들 때 생성 매개변수 중 하나로 키를 지정할 수 있습니다. Colab Enterprise 런타임을 만들려면 CMEK 키를 매개변수로 지정하여 런타임 템플릿을 만듭니다. Colab Enterprise에서 이 런타임 템플릿으로 생성하는 모든 런타임은 CMEK 암호화를 사용합니다.
Google Cloud 콘솔을 사용하여 런타임 템플릿을 만들려면 새 런타임 템플릿 만들기 대화상자에서 키를 지정합니다. 다음 단계를 따르세요.
-
Google Cloud 콘솔에서 Colab Enterprise 런타임 템플릿 페이지로 이동합니다.
-
새 템플릿을 클릭합니다.
새 런타임 템플릿 만들기 대화상자가 나타납니다.
-
컴퓨팅 구성 섹션의 암호화에서 Cloud KMS 키를 선택합니다.
-
키 유형에서 Cloud KMS를 선택한 후 다음 필드에서 고객 관리 암호화 키를 선택합니다.
-
인스턴스 만들기 대화상자의 나머지 부분을 완료한 후 만들기를 클릭합니다.
런타임 템플릿이 런타임 템플릿 탭의 목록에 나타납니다.
다음 단계
- 노트북에 CMEK를 사용하려면 기본 Dataform CMEK 키 설정을 참고하세요.
- Google Cloud의 CMEK 자세히 알아보기
- 다른 Google Cloud제품에서 CMEK를 사용하는 방법을 알아보세요.