Cloud KMS 리소스

이 주제에서는 Cloud KMS의 각 리소스 유형에 대해 설명합니다. 리소스 계층 구조에 대해 자세히 알아보세요.

Cloud KMS 키는 하나 이상의 키 버전과 키의 메타데이터를 포함하는 명명된 객체입니다. 키는 특정 위치에 연결된 정확히 하나의 키 링에 있습니다.

ID 및 액세스 관리(IAM) 권한 및 역할을 사용하여 키에 대한 액세스를 허용하거나 거부할 수 있습니다. 키 버전에 대한 액세스는 관리할 수 없습니다.

키를 사용 중지하거나 폐기하면 각 키 버전도 사용 중지되거나 폐기됩니다.

다음 섹션에서는 키의 속성을 설명합니다.

컨텍스트에 따라 키의 속성은 다른 형식으로 표시됩니다.

  • Cloud SDK 또는 Cloud Key Management Service API를 사용하면 이 속성이 SOFTWARE와 같은 대문자 문자열로 표시됩니다.
  • Google Cloud Console을 사용하는 경우 속성은 Software와 같은 이니셜 대소문자의 문자열로 표시됩니다.

아래 섹션에는 각 형식이 적절한 경우에 표시되어 있습니다.

유형

키 유형은 키가 대칭 또는 비대칭 암호화 작업에 사용되는지 여부를 결정합니다.

대칭 암호화에서 데이터를 암호화하거나 복호화하려면 전체 키가 필요합니다. 서명에 대칭 키를 사용할 수 없습니다.

비대칭 암호화 또는 서명에서 키는 공개 키와 비공개 키로 구성됩니다.

  • 비공개 키는 민감한 데이터로 간주되며 키의 구성된 용도에 따라 데이터를 복호화하거나 서명해야 합니다.
  • 공개 키는 민감한 것으로 간주되지 않으며 키의 구성된 용도에 따라 데이터를 암호화하거나 서명을 확인해야 합니다.

    키가 생성된 후에는 키 유형을 변경할 수 없습니다.

키 유형은 용도의 한 구성요소입니다.

용도

키의 용도는 키를 암호화 또는 서명에 사용할 수 있는지 여부를 결정합니다. 키를 만들 때 사용자가 용도를 선택하며 모든 버전의 용도는 동일합니다.

대칭 키의 용도는 항상 대칭 암호화/복호화입니다.

비대칭 키의 용도는 비대칭 암호화/복호화 또는 비대칭 서명입니다.

키를 만든 후에는 키의 용도를 변경할 수 없습니다.

기본 버전

키에는 여러 버전이 있지만 대칭 키에는 기본 키 버전이 하나만 있을 수 있습니다. 키 버전을 지정하지 않으면 기본 키 버전이 데이터를 암호화하는 데 사용됩니다.

비대칭 키는 기본 버전이 없습니다. 키를 사용할 때 버전을 지정해야 합니다.

대칭 키와 비대칭 키의 경우 기본 버전인지 여부와 관계없이 사용 설정된 키 버전을 사용하여 데이터를 암호화하거나 복호화할 수 있습니다.

키 버전

키의 각 버전에는 암호화 또는 서명에 사용되는 키 자료가 포함됩니다. 키 버전은 1부터 시작하는 정수로 표시됩니다. 데이터를 복호화하거나 서명을 확인하려면 데이터를 암호화하거나 서명하는 데 사용된 것과 동일한 키 버전을 사용해야 합니다. 키 버전의 리소스 ID를 찾고 참조하려면 키의 리소스 ID 검색을 참조하세요.

다른 버전에 영향을 미치지 않고 키 버전을 사용 중지하거나 폐기할 수 있습니다. 키를 순환하면 새 버전이 생성됩니다. 키 순환에 대해 자세히 알아보세요.

키를 사용 중지하거나 폐기하면 해당 키의 모든 버전도 사용 중지되거나 폐기됩니다. 다른 키 버전에는 영향을 주지 않고 선택적으로 키 버전을 사용 중지할 수 있습니다.

키 버전에 대한 액세스는 관리할 수 없습니다. 키에 액세스 권한을 부여하면 사용 설정된 모든 버전에도 액세스 권한이 부여됩니다.

보안상의 이유로 Google Cloud 주 구성원은 키 버전으로 표시되는 원시 암호화 키 자료를 보거나 내보낼 수 없습니다. 대신 Cloud KMS가 사용자를 대신하여 키 자료에 액세스합니다.

다음 섹션에서는 키 버전의 속성을 설명합니다.

키 버전의 상태는 항상 다음 중 하나입니다.

  • 사용 설정됨
  • 사용 중지됨
  • 폐기 예약됨
  • 폐기됨

키 버전은 사용 설정되었을 때만 사용할 수 있습니다. 사용 설정된 키 및 키 버전에만 비용이 발생합니다.

보호 수준

키 버전의 보호 수준에 따라 키의 스토리지 저장 환경이 결정됩니다. 보호 수준은 다음 중 하나입니다.

  • 소프트웨어(Cloud SDK 및 Cloud Key Management Service API의 SOFTWARE)
  • HSM
  • 외부(Cloud SDK 및 Cloud Key Management Service API의 EXTERNAL)

보호 수준은 키 버전의 속성이지만 키가 생성된 후에는 변경할 수 없습니다.

알고리즘

키 버전의 알고리즘은 키 자료가 생성되는 방식과 암호화 작업에 필요한 매개변수를 결정합니다. 대칭 키와 비대칭 키는 서로 다른 알고리즘을 지원합니다.

새 키 버전을 만들 때 알고리즘을 지정하지 않으면 이전 버전의 알고리즘이 사용됩니다.

알고리즘과 관계없이 Cloud KMS는 확률적 암호화를 사용하므로 동일한 키 버전으로 동일한 일반 텍스트를 두 번 암호화하면 동일한 암호문에 암호화되지 않습니다.

키링

키링은 특정 Google Cloud 위치의 키를 구성하고 키 그룹의 액세스 제어를 관리할 수 있게 해줍니다. 키링 이름은 Google Cloud 프로젝트 전체에서 고유할 필요는 없지만 지정된 위치 내에서 고유해야 합니다. 생성 후에는 키링을 삭제할 수 없습니다. 키링에는 스토리지 비용이 발생하지 않습니다.

리소스 ID 검색

일부 API 호출 및 gcloud 도구를 사용하려면 정규화된 CryptoKeyVersion 이름을 표현하는 문자열인 리소스 ID를 사용하여 키링, 키 또는 키 버전을 참조해야 할 수 있습니다. 리소스 ID는 계층적이며 파일 시스템 경로와 유사합니다. 키의 리소스 ID에는 키링 및 위치 정보도 포함되어 있습니다.

객체 리소스 ID 형식
키링 projects/project-id/locations/location/keyRings/keyring
projects/project-id/locations/location/keyRings/keyring/cryptoKeys/key
키 버전 projects/project-id/locations/location/keyRings/keyring/cryptoKeys/key/cryptoKeyVersions/version

자세한 내용은 Cloud KMS 리소스 ID 가져오기를 참조하세요.

리소스 구성

Google Cloud 프로젝트에서 리소스를 구성하는 방법을 계획하는 경우 비즈니스 규칙 및 액세스 관리 방법을 고려하세요. 단일 키, 키링의 모든 키 또는 프로젝트의 모든 키에 대한 액세스 권한을 부여할 수 있습니다. 일반적으로 사용되는 조직 패턴은 다음과 같습니다.

  • prod, test, develop 등의 환경
  • 작업 영역(예: payroll, insurance_claims)
  • 데이터 민감도 또는 특성(예: unrestricted, restricted, confidential, top-secret)

리소스 수명 주기

키링, 키, 키 버전은 삭제할 수 없습니다. 이렇게 하면 키 버전의 리소스 식별자가 고유성을 유지하며 항상 해당 키 버전의 원본 키 자료를 가리킵니다. 키링, 사용 또는 사용 중지된 키, 사용 또는 사용 중지된 키 버전을 무제한으로 저장할 수 있습니다. 자세한 내용은 가격 책정할당량을 참조하세요.

키 버전을 폐기하거나 복원하는 방법은 키 버전 폐기 및 복원을 참조하세요.

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

다음 단계