고객 관리 암호화 키(CMEK)
기본적으로 Google Cloud 는 Google에서 관리하는 암호화 키를 사용하여 저장 데이터를 암호화합니다.
데이터를 보호하는 키와 관련된 특정 규정 준수 또는 규제 요구사항이 있으면 Document AI에 고객 관리 암호화 키 (CMEK)를 사용할 수 있습니다. 데이터를 보호하는 암호화 키를 Google이 관리하는 대신 사용자가 Cloud Key Management Service (KMS)에서 제어 및 관리하는 키를 사용하여 Document AI 프로세서가 보호됩니다.
이 가이드에서는 Document AI용 CMEK를 설명합니다. CMEK를 사용 설정하는 시기와 이유를 포함한 일반적인 CMEK에 대한 자세한 내용은 Cloud Key Management Service 문서를 참고하세요.
기본 요건
Document AI 서비스 에이전트에는 사용하는 키에 대한 Cloud KMS CryptoKey 암호화/복호화 역할이 있어야 합니다.
다음 예시에서는 Cloud KMS 키에 대한 액세스 권한을 제공하는 역할을 부여합니다.
gcloud
gcloud kms keys add-iam-policy-binding key \ --keyring key-ring \ --location location \ --project key_project_id \ --member serviceAccount:service-project_number@gcp-sa-prod-dai-core.iam.gserviceaccount.com \ --role roles/cloudkms.cryptoKeyEncrypterDecrypter
key를 키 이름으로 바꿉니다. key-ring을 키가 배치된 키링의 이름으로 바꿉니다. location을 키링의 Document AI 위치로 바꿉니다. key_project_id을 키링의 프로젝트로 바꿉니다. project_number를 프로젝트 번호로 바꿉니다.
C#
자세한 내용은 Document AI C# API 참조 문서를 참고하세요.
Document AI에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Go
자세한 내용은 Document AI Go API 참조 문서를 참고하세요.
Document AI에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Java
자세한 내용은 Document AI Java API 참조 문서를 참고하세요.
Document AI에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
자세한 내용은 Document AI Node.js API 참조 문서를 참고하세요.
Document AI에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
PHP
자세한 내용은 Document AI PHP API 참조 문서를 참고하세요.
Document AI에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
자세한 내용은 Document AI Python API 참조 문서를 참고하세요.
Document AI에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Ruby
자세한 내용은 Document AI Ruby API 참조 문서를 참고하세요.
Document AI에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
CMEK 사용
암호화 설정은 프로세서를 만들 때 사용할 수 있습니다. CMEK를 사용하려면 CMEK 옵션을 선택하고 키를 선택합니다.
CMEK 키는 프로세서 및 하위 리소스와 연결된 모든 데이터에 사용됩니다. 프로세서로 전송되는 모든 고객 관련 데이터는 디스크에 쓰기 전에 제공된 키로 자동 암호화됩니다.
프로세서를 만든 후에는 암호화 설정을 변경할 수 없습니다. 다른 키를 사용하려면 새 프로세서를 만들어야 합니다.
외부 키
Cloud 외부 키 관리자 (EKM)를 사용하여 외부 키를 만들고 관리하여 Google Cloud내에서 데이터를 암호화할 수 있습니다.
Cloud EKM 키를 사용하는 경우 Google은 외부 관리 키의 가용성을 제어할 수 없습니다. 외부 관리 키로 암호화된 리소스에 대한 액세스를 요청한 다음 키를 사용할 수 없으면 Document AI가 요청을 거부합니다. 키를 사용할 수 있게 되면 리소스에 액세스할 수 있을 때까지 최대 10분이 지연될 수 있습니다.
외부 키를 사용할 때의 고려사항은 EKM 고려사항을 참고하세요.
CMEK 지원 리소스
리소스를 디스크에 저장할 때 고객 데이터가 리소스의 일부로 저장되는 경우 Document AI는 먼저 CMEK 키를 사용하여 콘텐츠를 암호화합니다.
리소스 | 암호화된 자료 |
---|---|
Processor |
해당 사항 없음 - 사용자 데이터 없음 하지만 프로세서 생성 중에 CMEK 키를 지정하는 경우 유효해야 합니다. |
ProcessorVersion |
전체 |
Evaluation |
전체 |
CMEK 지원 API
암호화에 CMEK 키를 사용하는 API는 다음과 같습니다.
메서드 | 암호화 |
---|---|
processDocument |
해당 사항 없음 - 디스크에 저장된 데이터가 없음 |
batchProcessDocuments |
데이터는 디스크에 일시적으로 저장되고 임시 키를 사용하여 암호화됩니다 (CMEK 규정 준수 참고). |
trainProcessorVersion |
학습에 사용되는 문서는 제공된 KMS/CMEK 키를 사용하여 암호화됩니다. |
evaluateProcessorVersion |
평가는 제공된 KMS/CMEK 키를 사용하여 암호화됩니다. |
키가 사용 중지되었거나 연결할 수 없는 경우 암호화된 리소스에 액세스하는 API 요청이 실패합니다. 예를 들면 다음과 같습니다.
메서드 | 복호화 |
---|---|
getProcessorVersion |
고객 데이터를 사용하여 학습된 프로세서 버전은 암호화됩니다. 액세스하려면 복호화가 필요합니다. |
processDocument |
암호화된 프로세서 버전을 사용하여 문서를 처리하려면 복호화가 필요합니다. |
Import Documents |
암호화된 프로세서 버전을 사용하여 auto-labeling 가 사용 설정된 문서를 가져오려면 복호화가 필요합니다. |
CMEK 및 Cloud Storage
batchProcess
와 같은 API는 Cloud Storage 버킷에서 읽고 쓸 수 있습니다.
Document AI가 Cloud Storage에 쓰는 모든 데이터는 버킷의 구성된 암호화 키를 사용하여 암호화되며, 이 키는 프로세서의 CMEK 키와 다를 수 있습니다.
자세한 내용은 Cloud Storage용 CMEK 문서를 참고하세요.