객체 계층구조

Cloud Key Management Service는 유용하고 정확한 액세스 제어 관리를 위해 설계된 계층 구조에 암호화 키를 저장합니다. 이 구조의 리소스에 대한 액세스는 Cloud IAM을 통해 관리됩니다.

이 계층 구조의 레벨을 위에서 아래로 나열하면 다음과 같습니다.

  1. 프로젝트
  2. 위치
  3. 키링
  4. 키 버전

프로젝트

Cloud KMS 리소스는 다른 모든 Google Cloud Platform 리소스와 마찬가지로 프로젝트에 속합니다. 즉 Cloud KMS 리소스가 있는 프로젝트에서 기본 IAM 역할을 갖는 계정은 이러한 리소스에 대하여 해당 권한을 갖습니다. 이러한 이유 때문에 다른 GCP 리소스와 별개의 프로젝트에서 Cloud KMS를 실행하려고 하는 경우도 있습니다.

위치

프로젝트 내에서 Cloud KMS 리소스를 여러 위치에서 생성할 수 있습니다. 이러한 위치는 지정된 리소스와 관련하여 Cloud KMS에 대한 요청이 처리되는 지리적 데이터 센터 위치와 해당 암호화 키가 저장되는 위치를 나타냅니다.

global이라는, Cloud KMS 리소스를 위한 특별한 위치가 있습니다. global 위치에서 생성된 Cloud KMS 리소스는 여러 데이터 센터에서 사용할 수 있습니다.

Cloud KMS 리소스를 호스팅하도록 선택한 위치의 네트워크 성능에 미치는 영향에 대한 자세한 내용은 Cloud KMS 위치를 참조하세요.

키링

리소스

키링은 조직화 목적을 위해 키를 그룹화한 것입니다. 키링은 GCP 프로젝트에 속하며 특정 위치에 존재합니다. 는 키를 포함하는 키링에서 권한을 상속받습니다. 연관된 권한을 가진 키를 키링으로 그룹화하면 각 키에 개별적으로 작업을 수행할 필요 없이 키링 수준에서 해당 키를 대상으로 권한을 부여, 취소 또는 수정할 수 있습니다.

키링 리소스 ID

일부 API 호출 및 gcloud 명령줄 도구 명령어에는 키링의 리소스 ID, 즉 정규화된 KeyRing 이름이 필요할 수 있습니다. 이 값은 대소문자를 구분하며 다음 형식이 사용됩니다.

projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING

GCP Console을 사용하여 키링 리소스 ID를 검색할 수 있습니다.

  1. GCP Console에서 암호화 키 페이지를 엽니다.

    암호화 키 페이지 열기

  2. 리소스 ID를 검색할 키링에 대하여 더보기 아이콘(세로 점 3개)을 클릭합니다.

  3. 리소스 ID 복사를 클릭합니다. 키링의 리소스 ID가 클립보드에 복사됩니다.

는 특정한 용도를 위해 사용되는 암호화 키를 나타내는 명명된 객체입니다. 시간이 경과하여 새로운 키 버전이 생성되면 키 자료, 즉 암호화에 사용되는 실제 비트가 변경될 수 있습니다.

키는 데이터의 일부 자료를 보호하는 데 사용됩니다. 파일 모음은 동일한 키를 사용하여 암호화할 수 있으며, 해당 키의 복호화 권한을 가진 사람은 해당 파일을 복호화할 수 있습니다.

키 리소스 ID

일부 API 호출과 gcloud 명령줄 도구 명령어에는 키의 리소스 ID, 즉 정규화된 CryptoKey 이름이 필요할 수 있습니다. 이 값은 대소문자를 구분하며 다음 형식이 사용됩니다.

projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY

GCP Console을 사용하여 키 리소스 ID를 검색할 수 있습니다.

  1. GCP Console에서 암호화 키 페이지를 엽니다.

    암호화 키 페이지 열기

  2. 키가 포함된 키링의 이름을 클릭합니다.

  3. 리소스 ID를 검색할 키에 대하여 더보기 아이콘(세로 점 3개)을 클릭합니다.

  4. 리소스 ID 복사를 클릭합니다. 키의 리소스 ID가 클립보드에 복사됩니다.

키 버전

키 버전은 일정한 시점에 하나의 키와 관련된 키 자료를 나타냅니다. 각 키에 임의의 여러 버전이 존재할 수 있지만 버전이 최소한 하나는 있어야 합니다. 버전은 1부터 시작해서 순차적으로 번호가 지정됩니다.

암호화된 파일 집합의 예로 돌아가면, 동일한 키로 암호화된 파일이 다른 키 버전으로 암호화될 수 있습니다. 일부 파일은 버전 1로 암호화되고 다른 파일은 버전 2로 암호화될 수 있습니다. Cloud KMS에 이러한 파일 중 하나를 복호화하도록 요청하려면 (특정 버전이 아니라) 파일을 암호화한 키의 이름을 지정하세요. Cloud KMS는 암호화에 사용된 버전을 자동으로 식별하고, 해당 버전이 여전히 사용 설정되어 있는 경우 이를 사용하여 파일을 복호화합니다.

키 버전과 관련된 키 자료에는 유형이 있으며, 이는 키의 길이 및 키와 함께 사용될 알고리즘을 나타냅니다. 현재 모든 키는 256비트 Advanced Encryption Standard(AES-256) 키이며 Galois Counter Mode(GCM)로 사용됩니다. Cloud KMS는 개연성 있는 암호화를 사용하므로 동일한 일반 텍스트가 동일한 키 버전을 사용하여 두 번 암호화되는 경우 동일한 암호 텍스트로 암호화되지 않습니다. 키 모드는 현재 Google API를 통해 노출되지 않습니다.

키 버전에는 사용 설정됨, 사용 중지됨, 폐기 예약됨 또는 폐기됨과 같은 상태가 있습니다. 키의 버전은 명시적으로 '사용 중지됨', '폐기됨' 또는 '폐기 예약됨' 상태로 이동할 때까지 복호화에 사용할 수 있습니다.

보안상의 이유로, 키 버전이 나타내는 원시 암호화 키 자료는 절대로 보거나 내보낼 수 없습니다. 이는 승인된 사용자 또는 애플리케이션이 Cloud KMS 서비스를 호출할 때 데이터를 암호화하거나 복호화하는 데만 사용할 수 있습니다.

특정 시점의 대칭 키에는 기본 키 버전이 있습니다. 이는 Cloud KMS가 데이터 암호화를 위해 사용할 버전입니다. 새로운 키 버전을 만들고 이 버전을 기본 버전으로 지정하면 이전 버전으로 암호화된 데이터에 대한 액세스 권한을 잃지 않고 키를 순환할 수 있습니다. 비대칭 키는 기본 버전이 없습니다. 비대칭 키는 또한 대칭 키와 다른 순환 고려 사항이 있습니다.

키 버전 리소스 ID

일부 API 호출과 gcloud 명령줄 도구 명령어에는 키 버전의 리소스 ID, 즉 정규화된 CryptoKeyVersion 이름이 필요할 수 있습니다. 이 값은 대소문자를 구분하며 다음 형식이 사용됩니다.


projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY/cryptoKeyVersions/VERSION

GCP Console을 사용하여 키 버전 리소스 ID를 검색할 수 있습니다.

  1. GCP Console에서 암호화 키 페이지를 엽니다.

    암호화 키 페이지 열기

  2. 키가 포함된 키링의 이름을 클릭합니다.

  3. 키 버전이 포함된 키의 이름을 클릭합니다.

  4. 리소스 ID를 검색할 키 버전에 대하여 더보기 아이콘(세로 점 3개)을 클릭합니다.

  5. 리소스 ID 복사를 클릭합니다. 키 버전의 리소스 ID가 클립보드에 복사됩니다.

예제 계층 구조

계층 구조 유형 선택은 사용 사례, 애플리케이션, 원하는 보안 제어와 같은 요소에 따라 달라집니다.

예 1

한 회사에 여러 애플리케이션에 있는데, 이러한 각 애플리케이션에는 Cloud KMS로 보호되는 보안 비밀 데이터가 포함되어 있습니다. 계층 구조에는 prod, test, dev와 같은 각 개발 환경의 키 링이 포함될 수 있습니다. 각 키 링은 애플리케이션별로 하나의 키를 포함할 수 있습니다.

이 계층 구조의 구성은 다음과 같습니다.

  • 키 링(환경당 하나): prod, test, dev.

  • 키 링 prod의 키(애플리케이션당 하나): Payroll, Expense_reports, Insurance_claims.
    다른 키 링에는 해당 키 링이 보호하는 각 애플리케이션에 대해 비슷한 키 세트가 포함됩니다.

  • 각 키는 비즈니스 요구에 따라 개별적으로 순환될 수 있습니다.

예 2

한 회사에 Cloud KMS로 보호되는 여러 데이터세트가 있습니다. 계층 구조에는 각 데이터 분류(예: confidential, sensitive, restricted)에 따른 키 링이 포함될 수 있습니다. 각 키 링은 데이터세트당 하나의 키를 포함할 수 있습니다.

이 계층 구조의 구성은 다음과 같습니다.

  • 키 링(분류 수준당 하나): confidential, sensitive, restricted.

  • 키 링 confidential의 키(데이터세트 당 하나): dataset_1, dataset_2, dataset_3 등.
    다른 키 링에는 해당 키 링이 보호하는 데이터세트에 대해 비슷한 키 세트가 포함됩니다.

  • 각 키는 비즈니스 요구에 따라 개별적으로 순환될 수 있습니다.

객체의 수명

리소스 이름 충돌을 방지하기 위해 키링과 키 리소스는 삭제할 수 없습니다. 키 버전도 삭제할 수 없지만 리소스가 더 이상 사용되지 않도록 하기 위해 키 버전 자료는 폐기할 수 있습니다. 키링, 키, 키 버전은 삭제되지 않으므로 키 버전 리소스 식별자는 항상 원래 키 자료만 가리킵니다. 키링과 키에는 청구 가능한 비용이나 할당량 제한이 없기 때문에 계속 존재해도 비용이나 프로덕션 제한에 영향을 주지 않습니다.

키 버전을 폐기하는 방법에 대한 자세한 내용은 키 버전 폐기 및 복원을 참조하세요.

Google Cloud Platform 프로젝트의 종료를 예약하면 프로젝트를 복원하는 단계를 수행하여 프로젝트를 복구하지 않는 한 Cloud KMS 리소스를 포함한 프로젝트의 리소스에 액세스할 수 없습니다.

이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...