Google Workspace용 Cloud HSM 권장사항

이 문서에서는 Google Workspace용 Cloud HSM을 구성하여 실수로 또는 무단으로 인한 폐기 및 삭제로부터 키 자료를 보호하고, 중요한 암호화 키의 고가용성 및 내구성을 보장하며, 규제 및 규정 준수 요구사항을 충족하는 데 도움이 되는 권장사항을 설명합니다.

이 문서는 Google Workspace의 클라이언트 측 암호화 (CSE)에 사용되는 암호화 키의 보안 및 운영 복원력을 담당하는 클라우드 설계자, 보안팀, Google Workspace 관리자를 대상으로 합니다. Google Workspace용 Cloud HSM에 이미 익숙하고 온보딩 프로세스를 완료했다고 가정합니다.

키 자료 손실 완화

주 구성원이 폐기 작업을 완료할 권한을 부여하는 역할을 보유하는 경우, 특히 주 구성원의 일반적인 작업 범위 외의 작업을 완료할 권한을 부여하는 역할을 보유하는 경우 보안 위험이 발생할 수 있습니다. 예를 들어 지나치게 광범위한 프로젝트 소유자(roles/owner) 역할이 있는 사용자는 Google Workspace CSE에 사용되는 키 자료를 폐기하여 암호화된 데이터에 영구적으로 액세스할 수 없게 만들 수 있습니다.

다음 섹션에서는 Google Workspace 클라이언트 측 암호화 (CSE)에서 사용하는 Cloud KMS 키 자료를 폐기하거나 삭제할 권한을 삭제하고 키 폐기를 제한하여 실수로 또는 악의적으로 키가 폐기 및 삭제될 위험을 완화하는 데 도움이 되는 관행을 설명합니다.

폴더 수준 IAM 거부 정책 적용

IAM 거부 정책을 사용하면 주 구성원이 보유한 역할에서 권한을 부여하는 경우에도 주 구성원에게 권한을 거부할 수 있습니다. 예를 들어 사용자에게 프로젝트 소유자 (roles/owner) 역할이 있더라도 폴더 수준 IAM 거부 정책을 통해 키를 폐기하거나 삭제하지 못하도록 할 수 있습니다. Cloud HSM 프로젝트를 폴더 내에 배치하고 폴더 수준에서 거부 정책을 적용하면 정책이 적용되는 동안 키 폐기 및 삭제를 방지하는 보호 장치가 생성됩니다. 적용된 거부 정책은 폴더에 거부 관리자 (roles/iam.denyAdmin)와 같은 역할이 없으면 취소할 수 없습니다.

폴더 관리자(roles/resourcemanager.folderAdmin) 및 거부 관리자 (roles/iam.denyAdmin)와 같은 폴더 관리 역할은 Cloud HSM 키가 있는 프로젝트에 Cloud KMS 관리자(roles/cloudkms.admin) 역할이 없는 주 구성원에게만 부여해야 합니다. 이러한 직무 분리를 통해 단일 주 구성원이 키를 관리하고 폐기할 수 없도록 합니다.

다음 예시 구성을 기반으로 거부 정책을 설정합니다.

displayName: Deny KMS key destruction and deletion
rules:
- description: "Denies destroy and delete permissions on Cloud KMS keys for all principals."
  denyRule:
    deniedPrincipals:
    - "principalSet://goog/public:all"
    deniedPermissions:
    - "cloudkms.googleapis.com/cryptoKeyVersions.destroy"
    - "cloudkms.googleapis.com/cryptoKeys.delete"

IAM 거부 정책에 대한 자세한 내용은 IAM 거부 정책 개요를 참조하세요.

키 폐기에 조직 정책 제약조건 적용

IAM 외에도 조직 정책 제약조건을 사용하여 조직 또는 폴더 수준에서 보안 보호 장치를 적용할 수 있습니다. 이러한 제약조건은 생성할 수 있는 리소스 유형과 구성 방법을 제한하는 엄격한 요구사항으로 작용합니다. 적용된 조직 정책 제약조건은 금지된 작업을 완료하는 데 필요한 권한이 있는 주 구성원이라도 우회할 수 없습니다. 적용된 조직 정책 제약조건은 조직에 조직 정책 관리자 (roles/orgpolicy.policyAdmin)와 같은 역할이 없으면 취소할 수 없습니다.

  • 최소 폐기 기간 (constraints/cloudkms.minimumDestroyScheduledDuration): 정책이 사용 설정된 조직 또는 리소스의 모든 키에 최소 폐기 예약 기간 (예: 90일 또는 120일)을 의무화합니다. 이 제약조건은 모든 사용자가 구성된 최소값 미만으로 복구 기간을 단축하지 못하도록 합니다.
  • 폐기 전 사용 중지 (constraints/cloudkms.disableBeforeDestroy): 폐기를 예약하기 전에 키 버전이 DISABLED 상태여야 합니다. 이 제약조건은 폐기 워크플로에 필수 단계를 추가하여 감사 로그에서 작업의 가시성을 높입니다.

자세한 내용은 키 버전 폐기 제어를 참조하세요.

키 폐기 기간 최대화

키 버전이 폐기되도록 예약되면 '소프트 삭제' 기간이 시작됩니다. 키 버전이 폐기 예약됨 상태인 동안 키를 복원하여 키 폐기를 취소할 수 있습니다. 이 구성 가능한 기간을 최대 120일로 설정하면 실수로 또는 악의적으로 폐기되도록 예약된 키 버전을 복원할 충분한 시간을 확보할 수 있습니다. 이 값은 키를 만들 때만 설정할 수 있습니다.

폐기되도록 예약된 키 버전을 복원하면 키 버전 상태가 DISABLED로 설정됩니다. 그런 다음 키 버전을 다시 사용 설정하여 암호화된 Google Workspace 데이터에 대한 액세스를 복원해야 합니다.

다음 gcloud CLI 명령어는 120일의 폐기 예약 기간으로 HSM 지원 키를 만듭니다.

gcloud kms keys create KEY_NAME \
    --location LOCATION \
    --keyring KEY_RING \
    --purpose encryption \
    --protection-level hsm \
    --destroy-scheduled-duration 120d

다음을 바꿉니다.

  • KEY_NAME: 키의 이름입니다.
  • LOCATION: 키링의 Cloud KMS 위치입니다.
  • KEY_RING: 키가 포함된 키링의 이름입니다.

각 키에 이 기간을 설정하는 대신 조직의 모든 키에 이 기간을 적용하려면 커스텀 조직 정책 제약조건을 정의하고 적용하면 됩니다. 다음 예시 제약조건은 폐기 예약 기간이 90일에서 120일 사이인 경우에만 사용자가 키를 만들 수 있도록 합니다.

name: organizations/ORGANIZATION_ID/customConstraints/custom.limitScheduledDestruction
resourceTypes:
- cloudkms.googleapis.com/CryptoKey
methodTypes:
- CREATE
condition: "resource.destroyScheduledDuration >= duration('7776000s') && resource.destroyScheduledDuration <= duration('10368000s')"
actionType: ALLOW
displayName: Require scheduled destruction duration between 90 and 120 days
description: Allows key creation only if the destroyScheduledDuration is between 90 and 120 days.

ORGANIZATION_ID를 조직의 숫자 ID로 바꿉니다.

폐기 예약 기간 구성에 대한 자세한 내용은 키 버전 폐기 및 복원을 참조하세요. Cloud KMS에서 커스텀 조직 정책 제약조건을 사용하는 방법에 대한 자세한 내용은 Cloud KMS용 커스텀 조직 정책 제약조건 만들기를 참조하세요.

인프라 및 프로젝트 보호

이 문서의 앞부분에서 설명한 보호 장치는 키 폐기 및 삭제를 방지하는 데 중점을 둡니다. 하지만 키 프로젝트 삭제를 방지하는 보호 장치도 필요합니다. 다음 보호 장치를 사용하여 Google Workspace 키를 보관하는 프로젝트 환경을 보호하세요.

프로젝트 선취권 적용

프로젝트 선취권은 프로젝트가 삭제되지 않도록 합니다. 프로젝트 소유자 (roles/owner) 역할이 있는 사용자도 선취권이 활성 상태인 동안에는 프로젝트를 종료할 수 없습니다. 이는 Google Workspace 키가 있는 프로젝트가 실수로 또는 무단으로 삭제되지 않도록 하는 가장 효과적인 방법입니다.

프로젝트 선취권에 대한 자세한 내용은 선취권으로 프로젝트 보호를 참조하세요.

프로젝트 복구 기간 이해

프로젝트 선취권 (미리보기)이 삭제된 후와 같이 프로젝트가 삭제되면 30일 복구 기간이 시작됩니다. 이 기간 동안 프로젝트 소유자 (roles/owner) 또는 조직 관리자 (roles/resourcemanager.organizationAdmin) 역할이 있는 사용자는 프로젝트를 복원할 수 있습니다. 30일이 지나면 프로젝트와 그 안의 모든 키가 영구적으로 삭제됩니다.

프로젝트 선취권을 유지하고 복구 기간은 최후의 수단으로만 사용하는 것이 좋습니다.

프로젝트 복원에 대한 자세한 내용은 삭제된 프로젝트 복원을 참조하세요.

VPC 서비스 제어 사용

VPC 서비스 제어를 사용하면 Cloud HSM 프로젝트 주위에 보안 경계를 정의할 수 있습니다. 이렇게 하면 Cloud KMS API에 신뢰할 수 있는 네트워크 또는 특정 ID에서만 액세스할 수 있으므로 회사 환경 외부에서 무단 관리 작업이 발생할 위험을 완화할 수 있습니다.

가져온 키 (BYOK)로 키 자료 주권 보장

대부분의 조직에서는 Cloud HSM에서 키 자료를 생성하고 관리하도록 하는 것이 좋습니다.

하지만 "Bring Your Own Key (BYOK)" 기능이 필요한 경우 온프레미스에서 키 자료를 생성하고 Cloud HSM으로가져올 수 있습니다. 이 BYOK 접근 방식을 사용하면 데이터 주권 명령을 충족하거나 키 자료의 심각한 손실로부터 복구하는 등 키 자료의 독립적인 온프레미스 사본을 유지하는 것과 같은 요구사항을 충족할 수 있습니다. 이 접근 방식을 사용하면 Cloud KMS의 키 버전이 폐기된 경우 다시 가져올 수 있는 키 자료의 독립적인 사본을 얻을 수 있습니다.

동일한 버전으로 다시 가져오기

Cloud KMS를 사용하면 리소스 식별자와 URI가 원래 가져온 키 버전과 동일하도록 폐기된 키 버전으로 동일한 키 자료를 다시 가져올 수 있습니다. 이렇게 하면 동일한 Google Workspace 구성을 계속 사용할 수 있습니다. Google Workspace 구성에 사용된 키 버전을 다시 가져오면 키 버전 가져오기가 완료되는 즉시 데이터 액세스가 복원됩니다.

폐기된 키 버전을 다시 가져오는 방법에 대한 자세한 내용은 폐기된 키 버전 다시 가져오기를 참조하세요.

단일 테넌트 Cloud HSM으로 고급 보호

최고 수준의 격리가 필요한 고객에게 단일 테넌트 Cloud HSM은 전용 HSM 파티션을 제공합니다. 단일 테넌트 Cloud HSM 인스턴스는 정족수 인증을 사용하여 생성되고 관리됩니다. 정족수 인증을 사용하려면 단일 테넌트 Cloud HSM 인스턴스 삭제와 같은 중요한 작업을 수행하기 전에 구성된 최소 정족수 구성원의 승인이 필요합니다. 이렇게 하면 단일 손상된 계정으로 인해 단일 테넌트 Cloud HSM 인스턴스가 폐기되는 것을 방지할 수 있습니다. 단일 테넌트 Cloud HSM을 사용하는 경우 다음 관행이 적용됩니다. 자세한 내용은 정족수 기반 인증을 참조하세요.

프로젝트 간 인프라 및 키 분리

별도의 프로젝트에서 단일 테넌트 Cloud HSM 인스턴스와 Google Workspace 키를 만듭니다. 리소스 프로젝트를 분리하면 키 프로젝트에 관리자 역할이 있는 사용자가 기본 단일 테넌트 Cloud HSM 인스턴스에 대한 권한이 없도록 할 수 있습니다. 인프라 관리와 키 관리 간의 직무 분리를 통해 무단 인프라 수준 작업의 위험을 줄일 수 있습니다.

단일 테넌트 Cloud HSM에 대한 자세한 내용은 단일 테넌트 Cloud HSM 개요를 참조하세요.

권장사항 요약

다음 표에서는 이 문서에 설명된 권장사항을 요약해서 보여줍니다.

주제 작업
IAM 거부 정책 권한이 높은 사용자에게도 키 폐기 및 삭제를 차단하도록 폴더 수준 거부 정책을 적용합니다.
조직 정책 제약조건 최소 복구 기간을 의무화하고 키를 폐기하기 전에 사용 중지하도록 요구하는 제약조건을 적용합니다.
폐기 예약 기간
  • 폐기 예약 값을 최대 120일로 설정하여 키를 만듭니다. 또는 더 짧은 기간을 선택할 수 있지만 키가 폐기되도록 예약된 경우 복구할 수 있을 만큼 충분히 길어야 합니다.
  • 커스텀 조직 정책 제약조건을 사용하여 모든 키가 요구사항에 맞는 적절한 기간으로 생성되도록 할 수 있습니다.
프로젝트 선취권 암호화 키가 있는 프로젝트가 삭제되지 않도록 프로젝트 선취권을 적용합니다.
VPC 서비스 제어 경계 신뢰할 수 있는 네트워크 및 ID로 Cloud KMS API 액세스를 제한하도록 VPC 서비스 제어 경계를 정의합니다.
BYOK 다시 가져오기 온프레미스에서 키 자료를 생성하고 다시 가져오기를 사용하여 리소스 이름을 변경하지 않고 폐기된 키 버전을 복구합니다.
교차 프로젝트 아키텍처 단일 테넌트 Cloud HSM을 사용하는 경우 직무 분리를 적용하기 위해 여러 프로젝트에서 단일 테넌트 Cloud HSM 인스턴스와 키를 분리합니다.

다음 단계