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 角色授予每位使用者。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

這個預先定義的角色具備在建立資源時檢查組織政策所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:

所需權限

必須具備下列權限,才能在建立資源時檢查組織政策:

  • 如要查看完整的組織政策詳細資料,請按照下列步驟操作: orgpolicy.policy.get
  • 如要在建立資源時檢查組織政策,請按照下列步驟操作: orgpolicy.policies.check

管理員或許還可透過自訂角色或其他預先定義的角色,將這些權限授予每位使用者。

組織政策啟用時, Cloud de Confiance 控制台使用者如要建立受 CMEK 金鑰保護的資源,必須具備 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 服務名稱清單,並將限制條件設為「Deny」(拒絕)。如果資源未受 CMEK 保護,這項設定會禁止在這些服務中建立資源。換句話說,如果未指定 Cloud KMS 金鑰,在服務中建立資源的要求就不會成功。此外,這項限制也會禁止移除這些服務中資源的 CMEK 保護。這項限制只能套用至支援的服務。

限制 CMEK 的 Cloud KMS 金鑰使用

如要限制用於 CMEK 保護措施的 Cloud KMS 金鑰,請設定 constraints/gcp.restrictCmekCryptoKeyProjects 限制。

這項清單限制接受的值為資源階層指標 (例如 projects/PROJECT_ID、under:folders/FOLDER_ID 和 under:organizations/ORGANIZATION_ID)。如要使用這項限制,請設定資源階層指標清單,並將限制設為「Allow」(允許)。這項設定會限制支援的服務,因此只能從列出的專案、資料夾和組織中選擇 CMEK 金鑰。如果沒有來自允許資源的 Cloud KMS 金鑰,在設定的服務中建立 CMEK 保護資源的要求就不會成功。設定後,這項限制會套用至所有支援的服務。

支援的服務

服務 要求 CMEK 時的限制值
Cloud Storage storage.googleapis.com

依資源類型區分的強制執行例外狀況

建立新資源或變更現有資源的 Cloud KMS 金鑰 (如支援) 時,系統會強制執行 CMEK 組織政策限制。一般來說,系統會對支援 CMEK 的所有服務資源類型強制執行這些政策,且僅依據資源的設定執行。以下列出一些值得注意的例外狀況:

資源類型 違規處置例外狀況
storage.googleapis.com/Bucket 強制執行 bucket 預設 Cloud KMS 金鑰
storage.googleapis.com/Object 強制執行時與 bucket 無關;另請參閱 bucket 預設 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 組織政策限制。

後續步驟

如要進一步瞭解組織政策的優點和常見用途,請參閱「組織政策服務簡介」。

如需更多建立具有特定限制的組織政策範例,請參閱「使用限制」。