이 문서에서는 고객 관리 암호화 키(CMEK)를 사용하여 Dataplex 데이터를 암호화하는 방법을 설명합니다.
개요
기본적으로 Dataplex는 저장 중인 고객 콘텐츠를 암호화합니다. Dataplex는 사용자 측의 추가 작업 없이 자동으로 암호화를 처리합니다. 이 옵션을 Google 기본 암호화라고 부릅니다.
암호화 키를 제어하려면 Dataplex를 포함한 CMEK 통합 서비스와 함께 Cloud KMS에서 고객 관리 암호화 키(CMEK)를 사용하면 됩니다. Cloud KMS 키를 사용하면 보호 수준, 위치, 순환 일정, 사용 및 액세스 권한, 암호화 경계를 관리할 수 있습니다. Cloud KMS를 사용하면 키 사용을 추적하고, 감사 로그를 보고, 키 수명 주기를 제어할 수도 있습니다. Google에서 데이터를 보호하는 대칭 키 암호화 키(KEK)를 소유하고 관리하는 대신 사용자가 Cloud KMS에서 이러한 키를 제어하고 관리할 수 있습니다.
CMEK로 리소스를 설정한 후 Dataplex 리소스에 액세스하는 환경은 Google 기본 암호화를 사용하는 것과 유사합니다. 암호화 옵션에 대한 자세한 내용은 고객 관리 암호화 키(CMEK)를 참조하세요.
Dataplex는 모든 Dataplex 리소스에 위치당 하나의 CMEK를 사용합니다.
Dataplex의 조직 수준에서 CMEK 키를 구성할 수 있습니다.
CMEK를 사용 설정하는 시기와 이유를 포함한 일반적인 CMEK에 대한 자세한 내용은 고객 관리 암호화 키(CMEK)를 참조하세요.
CMEK의 이점
CMEK를 사용하면 다음을 수행할 수 있습니다.
- 키 수명 주기 작업 및 액세스 권한을 관리합니다.
- Cloud KMS의 Key Inventory API 및 키 사용 대시보드를 사용하여 키 사용을 추적하면 어떤 키가 어떤 리소스를 보호하는지 등을 확인할 수 있습니다. Cloud Logging에서는 키에 액세스한 시점과 액세스한 사용자를 알려줍니다.
- 암호화 키를 관리하여 특정 규제 요구사항을 준수합니다.
Dataplex에서 CMEK가 작동하는 방식
Google Cloud 프로젝트의 Dataplex 암호화 관리자는 Cloud KMS 키를 제공하여 Dataplex에 CMEK를 구성할 수 있습니다. 그러면 Dataplex에서 지정된 Cloud KMS 키를 사용하여 기존 데이터와 Dataplex 내에서 생성된 새 리소스를 비롯한 모든 데이터를 암호화합니다.
지원되는 기능
- Dataplex는 다음 기능에 CMEK 암호화를 지원합니다.
- 데이터 품질 및 프로필 스캔
- 데이터 검색
- 메타데이터 인사이트
- Assured Workloads 고객은 아직 CMEK 암호화가 지원되지 않으므로 다른 Dataplex 기능을 사용할 수 없습니다.
- Assured Workloads를 사용하지 않는 고객은 모든 기능을 사용할 수 있지만 데이터가 Google 기본 암호화를 사용하여 암호화됩니다.
고려사항
- 기본적으로 각 조직은 Google 기본 암호화를 사용하여 프로비저닝됩니다.
- 조직 관리자는 모든 위치의 Dataplex에서 CMEK로 전환할 수 있습니다.
- Dataplex는 Cloud KMS 키, Cloud HSM 키, Cloud 외부 키 관리자 키를 지원합니다.
- 키 순환이 지원되며, 키 순환이 사용 가능해지면 새 키 버전이 데이터 암호화에 자동으로 사용됩니다. 기존 데이터도 이 새 버전으로 암호화됩니다.
- Dataplex는 데이터 백업을 최대 15일 동안 보관합니다. CMEK를 사용 설정한 후 생성된 모든 백업은 지정된 KMS 키를 사용하여 암호화됩니다. CMEK를 사용 설정하기 전에 백업된 데이터는 최대 15일 동안 Google의 기본 암호화로 암호화된 상태로 유지됩니다.
제한사항
- CMEK로 전환하면 되돌릴 수 없습니다. CMEK를 선택한 후에는 Google 기본 암호화로 되돌릴 수 없습니다.
- Dataplex에 Cloud KMS 키가 구성된 후에는 업데이트하거나 변경할 수 없습니다.
- Dataplex는 조직 수준 암호화만 지원합니다. 따라서 암호화 구성은 특정 위치의 조직 수준에서 설정되며 해당 조직 및 위치에 있는 모든 프로젝트의 Dataplex 데이터를 암호화하는 데 사용됩니다. 조직 또는 폴더의 특정 프로젝트에는 CMEK 암호화가 지원되지 않습니다. CMEK 관련 조직 정책을 설정할 때는 신중하게 고려해야 합니다.
- Dataplex는 전역 리전에서 CMEK를 지원하지 않습니다.
- CMEK를 사용 설정한 후에는 한 조직에서 다른 조직으로 프로젝트를 이동하지 마세요. 이렇게 하면 데이터가 손실됩니다.
암호화 키 관리
- CMEK 키가 계속 사용 설정되어 있고 액세스할 수 있는지 확인합니다. 키가 사용 중지되거나 폐기되면 Dataplex 데이터에 액세스할 수 없게 됩니다. 키를 30일 넘게 사용할 수 없는 경우 이 키로 암호화된 데이터가 자동으로 삭제되며 이 데이터는 복구할 수 없습니다.
- Cloud KMS 키가 폐기되어 복구할 수 없게 되면 연결된 모든 Dataplex 데이터가 영구적으로 손실됩니다.
- Cloud KMS를 일시적으로 사용할 수 없는 경우 Dataplex는 최대 1시간 동안 최선을 다해 전체 작업을 계속 지원합니다. 이 기간이 지나면 보호 조치로 인해 데이터에 일시적으로 액세스할 수 없게 됩니다.
- Cloud EKM을 사용할 때는 Google에서 외부 관리 키의 가용성을 제어하지 않는다는 점에 유의하세요. 단기적으로 키를 사용할 수 없는 경우 데이터에 일시적으로 액세스할 수 없습니다. 키를 30일 동안 사용할 수 없으면 데이터가 영구적으로 손실됩니다.
Dataplex 가용성
다음 섹션에서는 Dataplex 조직에 CMEK를 사용 설정할 때의 프로세스와 예상되는 운영상 영향을 간략히 설명합니다.
초기 인프라 프로비저닝
암호화 구성을 저장하면 Dataplex에서 필요한 인프라를 설정합니다. 이 프로세스는 일반적으로 6~8시간이 소요됩니다. 이 프로비저닝 단계에서는 모든 Dataplex 기능에 대한 전체 액세스 권한이 유지되며 데이터는 Google 관리 암호화를 통해 계속 암호화됩니다. 조직 정책 constraints/gcp.restrictNonCmekServices
가 설정된 경우 프로비저닝 단계가 완료될 때까지 리소스 생성 요청이 실패합니다.
데이터 암호화 및 API 가용성
인프라 프로비저닝 후 Dataplex는 조직 내에 저장된 기존 데이터를 암호화하기 시작합니다. 이 암호화 프로세스 중에 데이터 무결성을 보장하고 잠재적인 불일치를 방지하기 위해 Dataplex API는 일시적으로 사용할 수 없습니다. 이 제한으로 인해 데이터 업데이트 작업이 방지됩니다. Dataplex에 CMEK를 처음 활성화하면 모든 기존 데이터가 암호화됩니다. 이 일회성 작업은 최대 2시간이 걸릴 것으로 예상됩니다.
암호화 후 작업
기존 데이터 암호화가 완료되면 Dataplex API를 완전히 사용할 수 있습니다. Dataplex 내에서 데이터를 만들거나 수정하면 운영 중단이나 API 제한 없이 구성된 CMEK를 사용하여 자동으로 암호화됩니다.
키 만들기 및 권한 부여
다음 안내에서는 키를 만드는 방법을 설명합니다. Cloud KMS에서 직접 생성된 키 또는 Cloud EKM에서 사용할 수 있는 외부 관리 키를 사용할 수 있습니다.
키를 관리할 Google Cloud 프로젝트에서 다음을 실행합니다.
키링을 사용하려는 위치에서 Cloud KMS 키링을 만듭니다.
다음 옵션 중 하나를 사용하여 키를 만듭니다.
Google 관리 서비스 계정을 만들고 표시합니다.
gcloud beta services identity create \ --service=dataplex.googleapis.com \ --organization=ORG_ID
ORG_ID를 키가 포함된 조직의 ID로 바꿉니다.
Google Cloud CLI 베타 명령어 구성요소를 설치하라는 메시지가 표시되면
Y
를 입력합니다.gcloud CLI services identity 명령어는 Dataplex가 Cloud KMS 키에 액세스하는 데 사용할 수 있는 특정 Google 관리형 서비스 계정을 만들거나 가져옵니다.
서비스 계정 ID의 형식은
service-org-ORG_ID@gcp-sa-dataplex.iam.gserviceaccount.com
입니다.Dataplex 서비스 계정에 CryptoKey 암호화/복호화 IAM 역할(
roles/cloudkms.cryptoKeyEncrypterDecrypter
)을 부여합니다. 만든 키에 대해 이 권한을 부여합니다.콘솔
키 관리 페이지로 이동
키링을 클릭합니다.
사용 가능한 키 목록에서 자신이 만든 키를 클릭합니다.
권한 탭을 클릭합니다.
액세스 권한 부여를 클릭합니다.
액세스 권한 부여 창이 열리면 다음 단계에 따라 Dataplex 서비스 계정에 액세스 권한을 부여합니다.
- 주 구성원 추가에서 서비스 계정
service-org-ORG_ID@gcp-sa-dataplex.iam.gserviceaccount.com
를 입력합니다. - 역할 할당에서 Cloud KMS CryptoKey 암호화/복호화 역할을 선택합니다.
- 저장을 클릭합니다.
- 주 구성원 추가에서 서비스 계정
gcloud
서비스 계정에
cloudkms.cryptoKeyEncrypterDecrypter
역할을 부여합니다.gcloud kms keys add-iam-policy-binding KEY_NAME \ --location=LOCATION \ --keyring KEY_RING \ --project=KEY_PROJECT_ID \ --member serviceAccount:service-org-ORG_ID@gcp-sa-dataplex.iam.gserviceaccount.com \ --role roles/cloudkms.cryptoKeyEncrypterDecrypter
다음을 바꿉니다.
- KEY_NAME: 키 이름입니다.
- LOCATION: 위치입니다.
- KEY_RING: 키링
- KEY_PROJECT_ID: 키 프로젝트 ID
Dataplex 암호화 관리자 역할을 자신에게 할당합니다.
콘솔
IAM 역할 부여 안내를 따릅니다.
gcloud
gcloud organizations add-iam-policy-binding ORG_ID \ --member='user:USER_EMAIL' \ --role='roles/dataplex.encryptionAdmin'
다음을 바꿉니다.
- ORG_ID: 키가 포함된 조직의 ID입니다.
- USER_EMAIL: 사용자의 이메일 주소입니다.
CMEK 키를 사용하도록 Dataplex를 구성합니다.
콘솔
Google Cloud 콘솔에서 Dataplex 페이지로 이동합니다.
설정을 클릭합니다.
CMEK의 리전 선택에서 리전을 선택합니다. 선택한 리전은 Cloud KMS 키의 위치와 일치해야 합니다.
암호화 키 선택에서 자신이 만든 키를 선택합니다.
저장을 클릭합니다.
데이터 암호화 프로세스를 완료하는 데 다소 시간이 걸립니다. 프로세스가 완료되면
Data Encryption is complete. Your selected CMEK key is now protecting your data.
메시지가 표시됩니다.
gcloud
Dataplex에서 암호화 구성을 설정합니다.
gcloud alpha dataplex encryption-config create default \ --location=LOCATION \ --organization=ORG_ID \ --key=KEY_RESOURCE_ID
다음을 바꿉니다.
- ORG_ID: 키가 포함된 조직의 ID입니다.
- KEY_RESOURCE_ID: 키 리소스 ID입니다(예:
projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME
). PROJECT_ID를 키 프로젝트 ID로 바꿉니다.
암호화 프로세스가 완료되었는지 확인합니다.
gcloud alpha dataplex encryption-config describe default \ --location=LOCATION \ --organization=ORG_ID
데이터 암호화 프로세스를 완료하는 데 다소 시간이 걸립니다. 프로세스가 완료되면
encryptionState: COMPLETED
메시지가 표시됩니다.
로깅 및 모니터링
Cloud KMS API에 대해 감사 로깅을 사용 설정하여 Cloud KMS에 대한 Dataplex 요청을 감사합니다.
CMEK 조직 정책
Google Cloud 는 CMEK 사용을 적용하고 조직 내에서 허용되는 Cloud KMS 키를 제어하는 조직 정책 제약 조건을 제공합니다. 이러한 제약 조건은 Dataplex 내 데이터가 CMEK에 의해 일관되게 보호되도록 하는 데 도움이 됩니다.
constraints/gcp.restrictNonCmekServices
는 Dataplex 리소스에 필수 CMEK 사용을 적용합니다.Google Cloud 서비스 이름 목록에
dataplex.googleapis.com
을 추가하고 제약조건을Deny
로 설정하면 CMEK 보호가 적용되지 않는 Dataplex 리소스의 생성이 금지됩니다.CMEK 암호화 설정에서 요청된 위치에 Cloud KMS 키가 지정되지 않으면 Dataplex 내에서 리소스를 만들기 위한 요청이 실패합니다.
이 정책은 개별 리소스 프로젝트 수준에서 검증됩니다.
constraints/gcp.restrictCmekCryptoKeyProjects
는 CMEK의 Cloud KMS 키 선택을 지정된 리소스 계층 구조로 제한합니다.리소스 계층 구조 표시기(프로젝트, 폴더 또는 조직) 목록을 구성하고 제약조건을
Allow
로 설정하면 Dataplex는 지정된 위치에서만 CMEK 키를 사용하도록 제한됩니다.허용되지 않는 프로젝트의 Cloud KMS 키가 제공되면 Dataplex에서 CMEK 보호 리소스를 만들려는 요청이 실패합니다.
이 정책은 리소스 생성 중에 리소스 프로젝트 수준에서 검증됩니다.
이 정책은 CMEK 암호화 설정을 구성할 때 조직 수준에서 검증됩니다.
불일치를 방지하려면 프로젝트 수준 구성이 조직 전반의 정책과 일치하는지 확인합니다.
이러한 정책 구성에 대한 자세한 내용은 CMEK 조직 정책을 참조하세요.
다음 단계
- CMEK 자세히 알아보기