CMEK 조직 정책

Cloud de Confiance by S3NS 에서는 조직 내 CMEK 사용을 보장하기 위해 두 가지 조직 정책 제약조건이 사용됩니다.

  • constraints/gcp.restrictNonCmekServices는 CMEK 보호를 요구하기 위해 사용됩니다.
  • constraints/gcp.restrictCmekCryptoKeyProjects는 CMEK 보호에 사용되는 Cloud KMS 키를 제한하기 위해 사용됩니다.

CMEK 조직 정책은 지원되는 Cloud de Confiance 서비스 내에서 새로 생성된 리소스에만 적용됩니다.

필요한 역할

리소스를 만들 때 각 사용자에게 조직 정책을 확인하는 데 필요한 권한이 있는지 확인하려면 관리자에게 각 사용자에게 조직에 대한 조직 정책 뷰어 (roles/orgpolicy.policyViewer) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

이 사전 정의된 역할에는 리소스를 만들 때 조직 정책을 확인하는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.

필수 권한

리소스를 만들 때 조직 정책을 확인하려면 다음 권한이 필요합니다.

  • 전체 조직 정책 세부정보를 보려면 다음 권한이 필요합니다. orgpolicy.policy.get
  • 리소스를 만들 때 조직 정책을 확인하려면 다음 권한이 필요합니다. orgpolicy.policies.check

관리자는 커스텀 역할이나 다른 사전 정의된 역할을 사용하여 각 사용자에게 이러한 권한을 부여할 수도 있습니다.

조직 정책이 활성 상태인 경우 CMEK 키로 보호되는 리소스를 만드는 Cloud de Confiance 콘솔 사용자에게 orgpolicy.policies.check 권한이 필요합니다. 이 권한이 없는 사용자는 Cloud de Confiance 콘솔을 사용하여 CMEK로 보호되는 리소스를 만들 수 있지만 restrictCmekCryptoKeyProjects 제약조건에서 허용하지 않는 CMEK 키를 선택할 수 있습니다. 이 제약조건을 충족하지 않는 키를 선택하면 결과적으로 리소스 생성이 실패합니다.

CMEK 보호 요구

조직에 CMEK 보호를 요구하려면 constraints/gcp.restrictNonCmekServices 조직 정책을 구성합니다.

목록 제약조건으로서 이 제약조건에 허용되는 값은 Cloud de Confiance by S3NS서비스 이름입니다 (예: bigquery.googleapis.com). Cloud de Confiance by S3NS 서비스 이름 목록을 제공하고 제약조건을 거부로 설정하여 이 제약조건을 사용합니다. 이 구성은 리소스가 CMEK로 보호되지 않는 경우 이러한 서비스에서 리소스가 생성되지 않도록 차단합니다. 즉, Cloud KMS 키를 지정하지 않으면 서비스에서 리소스 만들기 요청이 실패합니다. 또한 이 제약조건은 이러한 서비스의 리소스에서 CMEK 보호를 삭제하지 못하도록 차단합니다. 이 제약조건은 지원되는 서비스에만 적용될 수 있습니다.

CMEK에 대한 Cloud KMS 키 사용 제한

CMEK 보호를 위해 사용되는 Cloud KMS 키를 제한하려면 constraints/gcp.restrictCmekCryptoKeyProjects 제약조건을 구성합니다.

목록 제약조건으로서 허용되는 값은 리소스 계층 구조 표시기입니다 (예: projects/PROJECT_ID, under:folders/FOLDER_ID, under:organizations/ORGANIZATION_ID). 리소스 계층 구조 표시기 목록을 구성하고 제약조건을 허용으로 설정하여 이 제약조건을 사용합니다. 이 구성은 나열된 프로젝트, 폴더, 조직에서만 CMEK 키를 선택할 수 있도록 지원되는 서비스를 제한합니다. 허용되는 리소스 중 하나에서 Cloud KMS 키를 사용하지 않으면 구성된 서비스에서 CMEK로 보호되는 리소스를 만들기 위한 요청이 실패합니다. 구성된 경우에는 이 제약조건이 모든 지원되는 서비스에 적용됩니다.

지원되는 서비스

서비스 CMEK 요구 시의 제약조건 값
Cloud Storage storage.googleapis.com

리소스 유형별 적용 예외

CMEK 조직 정책 제약조건은 새 리소스를 만들 때나 기존 리소스의 Cloud KMS 키를 변경할 때(지원되는 경우) 적용됩니다. 일반적으로는 CMEK를 지원하는 서비스의 모든 리소스 유형에 적용되며 리소스의 구성만을 기준으로 합니다. 다음과 같은 몇 가지 예외에 주의하시기 바랍니다.

리소스 유형 적용 예외
storage.googleapis.com/Bucket 버킷 기본 Cloud KMS 키에 적용됩니다.
storage.googleapis.com/Object 버킷과 독립적으로 적용됩니다. 버킷 기본 Cloud KMS 키의 별도 구성도 참조하세요.

구성 예

구성 예시에서는 샘플 조직의 리소스 계층 구조가 다음과 같다고 가정합니다.

조직 리소스 계층 구조의 다이어그램

CMEK 요구 및 프로젝트의 키 제한

projects/5 아래의 모든 Cloud Storage 리소스에 대해 CMEK 보호를 요구하고 projects/4의 키만 사용되도록 보장한다고 가정해보세요.

모든 새로운 Cloud Storage 리소스에 CMEK 보호를 요구하려면 다음 조직 정책 설정을 사용합니다.

  • 조직 정책: constraints/gcp.restrictNonCmekServices
  • 바인딩 위치: projects/5
  • 정책 유형: 거부
  • 정책 값: storage.googleapis.com

projects/4의 키만 사용되도록 다음 구성을 사용합니다.

  • 조직 정책: constraints/gcp.restrictCmekCryptoKeyProjects
  • 바인딩 위치: projects/5
  • 정책 유형: 허용
  • 정책 값: projects/4

CMEK 요구 및 폴더 내부로 키 제한

또는 이후에 folders/2의 Cloud KMS 프로젝트를 더 추가하고 보다 포괄적으로 folders/3 내에서 CMEK를 요구해야 한다고 가정해보세요. 이 시나리오에서는 약간 다른 구성이 필요합니다.

folders/3 아래의 어디에서든 새 Cloud SQL 및 Cloud Storage 리소스에 대해 추가 CMEK 보호를 요구하려면 다음 안내를 따르세요.

  • 조직 정책: constraints/gcp.restrictNonCmekServices
  • 바인딩 위치: folders/3
  • 정책 유형: 거부
  • 정책 값: sqladmin.googleapis.com, storage.googleapis.com

folders/2 아래의 Cloud KMS 프로젝트의 키만 사용되도록 보장하려면 다음 안내를 따르세요.

  • 조직 정책: constraints/gcp.restrictCmekCryptoKeyProjects
  • 바인딩 위치: folders/3
  • 정책 유형: 허용
  • 정책 값: under:folders/2

조직에 CMEK 요구

조직 어디에서든 CMEK를 요구하려면(지원되는 서비스) 다음 설정을 사용해서 constraints/gcp.restrictNonCmekServices 제약조건을 구성합니다.

  • 조직 정책: constraints/gcp.restrictNonCmekServices
  • 바인딩 위치: organizations/1
  • 정책 유형: 거부
  • 정책 값: (모든 지원되는 서비스)

제한사항

Cloud de Confiance 콘솔을 사용하여 리소스를 만들려면 프로젝트 및 서비스에 대해 constraints/gcp.restrictNonCmekServices가 구성되었을 때 CMEK 이외의 다른 암호화 옵션을 사용할 수 없다는 것을 확인할 수 있습니다. 고객 계정에 프로젝트에 대해 orgpolicy.policy.get IAM 권한이 부여된 경우에만 CMEK 조직 정책 제한이 표시됩니다.

다음 단계

조직 정책의 이점 및 일반적인 사용 사례에 대해 자세히 알아보려면 조직 정책 서비스 소개를 참조하세요.

특정 제약조건이 있는 조직 정책을 만드는 방법에 대한 더 많은 예시는 제약조건 사용을 참조하세요.