고객 관리 암호화 키

이 페이지에서는 고객 관리 암호화 키와 Cloud Storage에서 고객 관리 암호화 키가 사용되는 방식을 설명합니다. 이 기능 사용에 대한 가이드는 고객 관리 암호화 키 사용을 참조하세요. 다른 암호화 옵션은 데이터 암호화 옵션을 참조하세요.

개요

Google 관리 암호화 키에 더하여 Cloud Key Management Service에서 생성한 키를 추가로 사용할 수 있습니다. 이러한 키를 고객 관리 암호화 키라고 합니다. 고객 관리 암호화 키를 사용하면 암호화 키는 Cloud KMS 안에 저장됩니다. 암호화 키를 보유한 프로젝트는 버킷이 포함된 프로젝트와 독립될 수 있으므로 더 효과적으로 업무를 구분할 수 있습니다.

키가 사용되는 시기

고객 관리 암호화 키를 객체에 적용하면 Cloud Storage에서 다음을 암호화할 때 이 키를 사용합니다.

  • 객체의 데이터
  • 객체의 CRC32C 체크섬
  • 객체의 MD5 해시

Cloud Storage는 표준 서버 측 키를 사용하여 객체 이름을 포함한 객체의 나머지 메타데이터를 암호화합니다. 따라서 충분한 권한이 있는 경우 연결된 고객 관리 암호화 키를 사용 중지하거나 폐기한 후에도 대부분의 메타데이터 읽기, 객체 나열, 객체 삭제와 같은 작업을 수행할 수 있습니다.

서비스 계정

고객 관리 암호화 키를 사용한 암호화 및 복호화는 사용자 계정을 통해 수행됩니다. 암호화 키에 대한 액세스 권한을 Cloud Storage 서비스 계정에 부여하면 서비스 계정이 다음을 암호화합니다.

Cloud Storage에서 객체를 추가하거나 재작성할 때 버킷에 기본 키가 설정되어 있는데 요청에도 특정 키를 포함한 경우, Cloud Storage는 요청의 특정 키를 사용하여 객체를 암호화합니다.

요청자가 고객 관리 암호화 키로 암호화된 객체를 읽으려고 할 때는 평소처럼 객체에 액세스하면 됩니다. 다음 조건에 해당하면 이러한 요청 중에 서비스 계정이 요청된 객체를 자동으로 복호화합니다.

  • 키를 사용하여 복호화할 수 있는 권한을 서비스 계정이 여전히 보유하고 있습니다.
  • 키를 비활성화하거나 폐기하지 않았습니다.

위 조건 중 하나를 충족하지 못하면 서비스 계정이 데이터를 복호화하지 않으며 요청이 실패합니다.

키 리소스

Cloud KMS 키 리소스의 형식은 다음과 같습니다.

projects/[PROJECT_STORING_KEYS]/locations/[LOCATION]/keyRings/[KEY_RING_NAME]/cryptoKeys/[KEY_NAME]

각 항목의 의미는 다음과 같습니다.

  • [PROJECT_STORING_KEYS]는 키와 연결된 프로젝트의 ID입니다. 예를 들면 my-pet-project입니다.
  • [LOCATION]은 키 위치입니다. 예를 들면 US-EAST1입니다.
  • [KEY_RING_NAME]은 키링의 이름입니다. 예를 들면 my-key-ring입니다.
  • [KEY_NAME]은 키의 이름입니다. 예를 들면 my-key입니다.

제한사항

고객 관리 암호화 키를 사용할 때 다음 제한사항이 적용됩니다.

  • 현재 고객 관리 암호화 키로 암호화된 객체에는 Cloud Storage로 Cloud SQL 내보내기Dataflow가 지원되지 않습니다.

  • 대상 객체와 소스 객체가 동일한 고객 관리 암호화 키를 사용하지 않으면 JSON API Copy Object 메서드를 사용할 수 없습니다. 일반적으로 Rewrite Object 메서드를 사용해야 합니다.

  • 하나 이상의 소스 객체가 고객 관리 암호화 키로 암호화된 경우 JSON API Compose Object 메서드를 사용할 수 없습니다.

  • 객체의 메타데이터를 업데이트하여 고객 관리 암호화 키로 객체를 암호화할 수는 없습니다. 대신 객체 재작성 시 키를 포함하세요.

  • 암호화할 데이터와 같은 위치에 Cloud KMS 키를 생성해야 합니다. 예를 들어 버킷이 US-EAST1에 있는 경우 해당 버킷의 객체를 암호화하는 Cloud KMS 키도 US-EAST1에 생성되어야 합니다. 사용 가능한 Cloud KMS 위치는 Cloud KMS 위치를 참조하세요.

  • Storage Transfer Service 전송 시에는 고객 관리 암호화 키를 지정할 수 없으며 소스 객체에 이러한 키가 있어도 전송되는 객체에 적용되지 않습니다. 전송을 수행하기 전에 버킷에 기본 고객 관리 키를 설정하세요.

고객 제공 암호화 키 관련 사항

고객 관리 암호화 외에도 Cloud Storage는 데이터 암호화를 제어하기 위한 방법으로 고객 제공 암호화 키를 제공합니다. 서로 다른 암호화 방법으로 단일 버킷 내 여러 객체를 암호화할 수 있지만 다음에 유의하세요.

  • 단일 객체는 한 번에 하나의 방법으로만 암호화할 수 있습니다.

  • 버킷에 기본 고객 관리 키가 설정되어 있고 요청에 고객 제공 키를 지정하면 Cloud Storage는 고객 제공 키를 사용하여 객체를 암호화합니다.

  • 버킷에 기본 고객 관리 키를 설정할 수 있지만 버킷에 기본 고객 제공 키를 설정할 수는 없습니다.

다음 단계