고객 관리 암호화 키로 데이터 암호화

기본적으로 Secure Source Manager는 저장된 고객 콘텐츠를 암호화합니다. Secure Source Manager는 사용자의 추가 작업 없이 자동으로 암호화를 처리합니다. 이 옵션을 Google 기본 암호화라고 합니다.

암호화 키를 제어하려면 Secure Source Manager를 포함한 CMEK 통합 서비스와 함께 Cloud KMS에서 고객 관리 암호화 키(CMEK)를 사용하면 됩니다. Cloud KMS 키를 사용하면 보호 수준, 위치, 순환 일정, 사용 및 액세스 권한, 암호화 경계를 관리할 수 있습니다. Cloud KMS를 사용하면 키 사용을 추적하고 감사 로그를 보며 키 수명 주기를 제어할 수도 있습니다. Google에서 데이터를 보호하는 대칭 키 암호화 키(KEK)를 소유하고 관리하는 대신 사용자가 Cloud KMS에서 이러한 키를 제어하고 관리할 수 있습니다.

CMEK로 리소스를 설정한 후 Secure Source Manager 리소스에 액세스하는 환경은 Google 기본 암호화를 사용하는 것과 유사합니다. 암호화 옵션에 대한 자세한 내용은 고객 관리 암호화 키(CMEK)를 참조하세요.

Cloud KMS는 여러 프로젝트의 키를 중앙에서 관리하는 별도의 프로젝트에서 또는 Secure Source Manager와 동일한Google Cloud 프로젝트에서 실행할 수 있습니다. 업무 분장을 지원하고 키에 대한 액세스 권한을 더 효과적으로 제어하려면 다른 Google Cloud리소스가 포함되지 않은 별도의 프로젝트에서 키를 만들고 관리하는 것이 좋습니다.

인스턴스를 만들 때 Cloud KMS 키를 할당합니다. 기존 인스턴스의 암호화 메커니즘은 변경할 수 없습니다. CMEK로 암호화된 인스턴스가 있는 경우 암호화 메커니즘을 Google 기본 암호화로 변경하거나 암호화에 다른 Cloud Key Management Service 키를 할당할 수 없습니다.

인스턴스는 Cloud KMS 키와 동일한 위치에 만들어야 합니다.

Secure Source Manager에서 CMEK를 사용하는 경우 프로젝트에서 Cloud KMS 암호화 요청 할당량을 사용할 수 있습니다. CMEK로 암호화된 인스턴스는 생성 시 이러한 할당량을 사용합니다. CMEK 키를 사용하는 암호화 및 복호화 작업은 하드웨어 (Cloud HSM) 또는 외부(Cloud EKM) 키를 사용하는 경우에만 Cloud KMS 할당량에 영향을 미칩니다. 자세한 내용은 Cloud KMS 할당량을 참고하세요.

CMEK 키 만들기 및 권한 부여

다음 안내에서는 키를 만들고 Secure Source Manager 서비스 계정에 키에 대한 권한을 부여하는 방법을 설명합니다.

  1. 키를 관리할 Google Cloud 프로젝트에서 다음을 실행합니다.

    1. Cloud KMS API를 사용 설정합니다.

    2. 다음 옵션 중 하나를 사용하여 키링과 키를 만듭니다.

      Cloud KMS 키 위치는 Secure Source Manager 인스턴스를 만들려는 프로젝트의 위치와 일치해야 합니다.

  2. 프로젝트에서 첫 번째 Secure Source Manager 인스턴스를 만드는 경우 다음 명령어를 실행하여 Secure Source Manager 서비스 에이전트를 수동으로 만들어야 합니다.

    gcloud beta services identity create \
    --service=securesourcemanager.googleapis.com \
    --project=PROJECT
    

    여기서 PROJECT는 Secure Source Manager 인스턴스를 만들 프로젝트의 프로젝트 ID입니다.

    제품별, 프로젝트별 서비스 계정 (P4SA)을 만든 후에는 보안 소스 관리자 서비스 에이전트 역할(roles/securesourcemanager.serviceAgent)을 주 구성원 service-PROJECT-NUMBER@gcp-sa-sourcemanager.iam.gserviceaccount.com에 부여해야 합니다. 그렇지 않으면 인스턴스 생성이 실패합니다.

  3. Secure Source Manager 서비스 계정에 CryptoKey 암호화/복호화 IAM 역할(roles/cloudkms.cryptoKeyEncrypterDecrypter)을 부여합니다. 만든 키에 대해 이 권한을 부여합니다.

    콘솔

    1. 키 관리 페이지로 이동

      Key Management Service로 이동

    2. 사용할 키링을 선택하고 키링 세부정보 페이지를 연 다음 생성한 키를 선택합니다.

    3. Secure Source Manager 서비스 계정에 대한 액세스 권한을 부여합니다.

      1. 원칙 추가를 클릭합니다.
      2. Secure Source Manager 서비스 계정을 추가합니다. 서비스 계정은 service-PROJECT-NUMBER@gcp-sa-sourcemanager.iam.gserviceaccount.com입니다. 여기서 PROJECT-NUMBER는 Secure Source Manager가 사용 설정된 Google Cloud 프로젝트의 프로젝트 번호입니다.
      3. 역할 선택에서 Cloud KMS > Cloud KMS CryptoKey 암호화/복호화를 선택합니다.
      4. 저장을 클릭합니다.
    4. Secure Source Manager 인스턴스를 만들 계정에 대한 액세스 권한을 부여하려면 이전 단계를 반복하세요.

    5. 키 관리 페이지로 돌아가서 키링을 선택하고 키링 세부정보 페이지를 엽니다. 그런 다음 키를 다시 선택합니다.

    6. 정보 패널 표시를 선택합니다. 역할/구성원 열에 역할이 표시됩니다.

    gcloud

    1. 다음 명령어를 실행하여 Secure Source Manager 서비스 계정에 액세스 권한을 부여합니다.

      gcloud kms keys add-iam-policy-binding [--project=PROJECT] \
             KEY_NAME --location LOCATION --keyring=KEY_RING \
             --member serviceAccount:service-PROJECT_NUMBER@gcp-sa-sourcemanager.iam.gserviceaccount.com \
             --role roles/cloudkms.cryptoKeyEncrypterDecrypter
      

      다음을 바꿉니다.

      • PROJECT: 키가 포함된 프로젝트의 ID
      • KEY_NAME: 키 이름입니다.
      • LOCATION: 키 위치입니다. 키 위치는 Secure Source Manager 인스턴스를 배포하려는 프로젝트의 위치와 일치해야 합니다.
      • KEY_RING: 키링 이름
      • PROJECT_NUMBER: Secure Source Manager가 사용 설정된Google Cloud 프로젝트의 프로젝트 번호
    2. Secure Source Manager 인스턴스를 만들 계정에 대한 액세스 권한을 부여하려면 이전 단계를 반복하세요.

    이 명령어에 대한 상세 설명은 gcloud kms keys add-iam-policy-binding 문서를 참조하세요.

액세스 삭제

CMEK로 암호화된 저장소에 대한 액세스 권한을 삭제하는 방법에는 여러 가지가 있습니다.

키를 사용 중지하거나 삭제하기 전에 Secure Source Manager 서비스 계정에서 권한을 취소하는 것이 좋습니다. 권한 변경사항은 몇 초 안에 효력이 발생하므로 키 사용 중지 또는 폐기가 미치는 영향을 관찰할 수 있습니다.

인스턴스의 암호화 키를 사용 중지하거나 폐기하면 인스턴스에서 데이터를 보거나 검색할 수 없습니다. 코드 기록, 풀 요청, 문제를 비롯하여 인스턴스에 저장된 모든 데이터에 액세스할 수 없게 됩니다.

Secure Source Manager 인스턴스 관리자 역할 또는 인스턴스 소유자 역할이 있는 사용자는 인스턴스를 삭제할 수 있습니다.

CMEK 조직 정책

Secure Source Manager는 CMEK 보호가 필요할 수 있는 조직 정책 제약조건을 지원합니다.

정책은 CMEK 보호에 사용할 수 있는 Cloud KMS CryptoKey를 제한할 수 있습니다.

  • Secure Source Manager API가 constraints/gcp.restrictNonCmekServices 제약조건의 서비스 Deny 정책 목록에 있으면 Secure Source Manager는 CMEK로 보호되지 않는 새 인스턴스 만들기를 거부합니다.

  • constraints/gcp.restrictCmekCryptoKeyProjects가 구성되면 Secure Source Manager는 허용된 프로젝트, 폴더 또는 조직의 CryptoKey로 보호되는 CMEK로 보호되는 인스턴스를 만듭니다.

이러한 정책 구성에 대한 상세 설명은 CMEK 조직 정책을 참조하세요.

다음 단계