고객 관리 암호화 키

이 페이지에서는 고객 관리 암호화 키를 설명합니다. 다른 암호화 옵션은 데이터 암호화 옵션을 참조하세요. 이 기능을 사용하는 예시를 보려면 고객 관리 암호화 키 사용을 참조하세요.

개요

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

키가 사용되는 시기

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

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

Cloud Storage는 표준 서버 측 키를 사용하여 객체 이름을 포함한 객체의 나머지 메타데이터를 암호화합니다. 따라서 고객 관리 암호화 키가 없어도 일반 메타데이터를 읽고 업데이트할 수 있으며 객체를 나열 및 삭제할 수 있습니다. 하지만 이러한 작업을 수행하려면 충분한 권한이 있어야 합니다.

예를 들어 객체가 고객 관리 암호화 키로 암호화된 경우 이 키를 사용해야만 객체 다운로드 또는 이동과 같은 작업을 객체에 수행할 수 있습니다. 키를 제공하지 않고 객체의 메타데이터를 읽으려 하면 객체 이름 및 Content-Type과 같은 메타데이터는 가져올 수 있지만 객체의 CRC32C 체크섬이나 MD5 해시는 가져올 수 없습니다. 객체 메타데이터 요청과 함께 키를 제공하면 객체의 CRC32C 체크섬과 MD5 해시가 메타데이터에 포함됩니다.

서비스 계정

고객 관리 암호화 키를 사용한 암호화 및 복호화는 사용자 계정을 통해 수행됩니다. 암호화 키에 대한 액세스 권한을 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 DataflowCloud Storage로 Cloud SQL 내보내기가 지원되지 않습니다.

  • 소스 객체가 고객 관리 암호화 키로 암호화되었거나 대상 객체가 고객 관리 암호화 키에 의해 암호화될 때는 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는 고객 제공 키를 사용하여 객체를 암호화합니다.

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