本文適用於身分和帳戶管理員,協助他們只允許已核准的具備權限工作負載在機構的任何位置執行。您應該已熟悉下列頁面中的概念:
機構的具備權限工作負載許可控制機制運作方式
根據預設,GKE Autopilot 會對工作負載強制執行一組安全措施。如要執行違反這些限制的工作負載,唯一方法是為這些工作負載安裝允許清單。如要從特定來源安裝許可清單,必須將叢集設定為允許該來源的許可清單。
根據預設, Cloud de Confiance 機構可讓平台管理員設定叢集,允許來自 GKE 合作夥伴和已驗證的開放原始碼專案的允許清單。如果貴機構有安全規定,要將具備高權限的工作負載限制在明確已知的來源集,您可以使用組織政策修改預設行為。
為機構、資料夾或專案強制執行核准的許可清單來源時,平台管理員建立或更新 Autopilot 或標準叢集時,只能指定這些來源。如果建立或更新叢集時指定未獲核准的來源,作業就會失敗。
您應設定的組織政策取決於用途,如下所示:
僅允許在機構、資料夾或專案中執行特定高權限工作負載:
允許在 Standard 叢集的 Autopilot 模式中執行具備特殊權限的工作負載: 設定允許清單的機構政策
事前準備
Enable the Resource Manager API, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.- 如果團隊擁有特權工作負載的許可清單,請要求他們提供 Cloud Storage 中這些許可清單的路徑。
必要角色和權限
如要取得管理組織政策所需的權限,請要求系統管理員授予您組織、資料夾或專案的組織政策管理員 (roles/orgpolicy.policyAdmin) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
設定機構政策,以允許使用許可清單
您可以根據constraints/container.managed.autopilotPrivilegedAdmission受管理限制,建立或更新機構政策,控管機構、資料夾或專案的許可清單核准來源。強制執行這項機構政策後,叢集管理員只能從您在政策中定義的來源安裝允許清單。
除了上述步驟,我們也建議您強制執行機構政策,只允許 Autopilot 叢集在環境中執行。如果環境中沒有標準叢集,只有您核准的具備特殊權限工作負載可以執行。詳情請參閱「設定組織政策,只允許 Autopilot 叢集」一節。
如要為核准的具備特殊權限工作負載許可清單設定機構政策,請選取下列其中一個選項:
控制台
前往 Cloud de Confiance 控制台的「Organization policies」(組織政策) 頁面:
在限制條件表格中,找出
container.managed.autopilotPrivilegedAdmission受管理限制。依序點選 「動作」>「編輯政策」。「編輯政策」頁面隨即開啟。
在「政策來源」部分,選取「覆寫上層政策」。
在「規則」部分,按一下「新增規則」。
在「強制執行」部分中,選取「開啟」。「參數」部分隨即顯示。
如要控管是否可安裝 GKE 核准的許可清單,請按照下列步驟操作:
- 在 allowAnyGKEPath 參數中,按一下「Edit」(編輯) 。「編輯參數值」窗格隨即開啟。
- 在「值類型」部分中,選取「使用者定義」。
在「使用者定義值」部分,選取下列其中一個選項:
- True:管理員可以設定叢集,從以
gke://開頭的任何路徑執行允許清單。這是預設值。 - 錯誤:管理員可以設定叢集,只允許從您在機構政策的
allowPaths參數中指定的路徑執行允許清單。如未在allowPaths參數中指定路徑,叢集就無法從任何來源執行任何允許清單。
- True:管理員可以設定叢集,從以
按一下 [儲存]。「編輯參數值」窗格會關閉。
如要定義可安裝的特定許可清單,請按照下列步驟操作:
- 在 allowPaths 參數中,按一下「編輯」。「編輯參數值」窗格隨即開啟。
- 在「值類型」部分中,選取「使用者定義」。
- 在「使用者定義的值」部分,指定一或多個允許清單來源的路徑。如要進一步瞭解可指定哪些項目,請參閱「允許路徑清單」。
- 按一下 [儲存]。「編輯參數值」窗格會關閉。
- 在「編輯規則」部分中,按一下「完成」。
選用:如要測試強制執行組織政策的影響,請按一下「測試變更」。詳情請參閱「使用 Policy Simulator 測試組織政策變更」。
如要在模擬測試模式下強制執行政策,請按一下「設定模擬測試政策」。
確認組織政策在模擬執行模式中運作正常後,請按一下「設定政策」,設定正式政策。
組織政策變更最多可能需要 15 分鐘才會全面生效。
gcloud
建立定義機構政策的 YAML 檔案:
name: RESOURCE_TYPE/RESOURCE_ID/policies/container.managed.autopilotPrivilegedAdmission spec: rules: - enforce: true parameters: allowAnyGKEPath: ALLOW_GKE_PATHS allowPaths: - ALLOWLIST1_PATH - ALLOWLIST2_PATH更改下列內容:
RESOURCE_TYPE:Cloud de Confiance 資源的類型。必須是下列其中一個值:organizationsfoldersprojects
RESOURCE_ID:組織 ID、資料夾 ID 或專案 ID。ALLOW_GKE_PATHS:是否允許任何 GKE 核准的許可清單。請指定下列其中一個值:True:允許使用任何 GKE 合作夥伴工作負載或經過驗證的開放原始碼工作負載設定叢集。這是預設值。False:只允許使用allowPaths欄位中的路徑設定叢集。
ALLOWLIST1_PATH、ALLOWLIST2_PATH: 許可清單的路徑。如要進一步瞭解可指定哪些項目,請參閱「允許路徑清單」。
選用:如要根據標記設定組織政策的條件,請在
rules欄位中新增condition區塊。如果為組織政策新增條件式規則,您必須至少新增一項無條件規則,否則無法儲存政策。詳情請參閱「使用標記設定組織政策」。如要以模擬測試模式設定機構政策,請在
gcloud org-policies set-policy指令中,為--update-maskdryRunSpec旗標指定值:gcloud org-policies set-policy POLICY_FILEPATH \ --update-mask=dryRunSpec將
POLICY_FILEPATH替換為上一步建立的 YAML 檔案路徑。選用:如要測試強制執行這項組織政策的影響,請使用
gcloud policy-intelligence simulate org-policy指令:gcloud policy-intelligence simulate org-policy \ --organization=ORGANIZATION_ID \ --policy-path=POLICY_FILEPATH請將
ORGANIZATION_ID替換成組織 ID。確認機構政策在模擬執行模式中運作正常後,請在
gcloud org-policies set-policy指令中,為--update-mask標記指定spec值,設定即時政策:gcloud org-policies set-policy POLICY_FILEPATH \ --update-mask=spec組織政策變更最多可能需要 15 分鐘才會全面生效。
設定機構政策,僅允許 Autopilot 叢集
本節說明如何設定機構政策,只允許使用 Autopilot 叢集。除了建立許可清單的組織政策,我們也建議您設定這項政策,因為標準叢集可以執行大多數具備權限的工作負載。只允許 Autopilot 叢集,表示環境只會執行您允許的具備特殊權限工作負載。本節中的步驟為選用。
如要設定這項政策,請選取下列任一選項:
控制台
建立自訂限制,只允許建立 Autopilot 叢集:
前往 Cloud de Confiance 控制台的「Organization policies」(組織政策) 頁面:
按一下「自訂限制」,「建立自訂限制」頁面隨即開啟。
指定限制的顯示名稱和專屬 ID。
在「強制執行」部分,按照下列步驟操作:
- 在「Resource type」(資源類型) 清單中,選取 container.googleapis.com/Cluster。
- 在「Enforcement method」(強制執行方式) 清單中,選取「Enforcement on create」(在建立時強制執行)。
- 在「條件」部分,按一下 「編輯條件」。「新增條件」窗格隨即開啟。
指定下列運算式:
resource.autopilot.enabled == true按一下 [儲存]。「新增條件」窗格隨即會關閉。
在「動作」部分選取「允許」。
按一下「建立限制」。
建立自訂組織政策,強制執行限制:
- 在限制條件表格中,找出您在上一個步驟中建立的自訂限制條件。
- 依序點選 「動作」>「編輯政策」。「編輯政策」頁面隨即開啟。
- 在「政策來源」部分,選取「覆寫上層政策」。
- 點選「新增規則」。
- 在「強制執行」部分中,選取「開啟」。
- 如要測試強制執行機構政策的影響,請按一下「測試變更」。詳情請參閱「使用 Policy Simulator 測試組織政策變更」。
- 如要在模擬測試模式下強制執行政策,請按一下「設定模擬測試政策」。
- 確認組織政策在模擬執行模式中運作正常後,請按一下「設定政策」,設定正式政策。
組織政策變更最多可能需要 15 分鐘才會全面生效。
gcloud
建立自訂限制,只允許建立 Autopilot 叢集:
建立定義自訂限制的 YAML 檔案:
name: organizations/ORGANIZATION_ID/customConstraints/CONSTRAINT_NAME resourceTypes: container.googleapis.com/Cluster methodTypes: - CREATE condition: resource.autopilot.enabled == true actionType: ALLOW displayName: "Allow only Autopilot clusters"更改下列內容:
ORGANIZATION_ID:您的機構 ID。CONSTRAINT_NAME:新限制的名稱。
設定自訂限制:
gcloud org-policies set-custom-constraint CONSTRAINT_FILEPATH將
CONSTRAINT_FILEPATH替換為您在上一步建立的 YAML 檔案路徑。
自訂限制可在機構政策中使用。
建立自訂組織政策,強制執行限制:
建立定義機構政策的 YAML 檔案:
name: RESOURCE_TYPE/RESOURCE_ID/policies/custom.CONSTRAINT_NAME spec: rules: - enforce: true更改下列內容:
RESOURCE_TYPE:Cloud de Confiance 資源的類型。必須是下列其中一個值:organizationsfoldersprojects
RESOURCE_ID:機構、資料夾或專案的 ID。
選用:如要根據標記設定組織政策的條件,請在
rules欄位中新增condition區塊。如果為組織政策新增條件式規則,您必須至少新增一項無條件規則,否則無法儲存政策。詳情請參閱「使用標記設定組織政策」。如要以模擬測試模式設定機構政策,請在
gcloud org-policies set-policy指令中,為--update-maskdryRunSpec旗標指定值:gcloud org-policies set-policy POLICY_FILEPATH \ --update-mask=dryRunSpec將
POLICY_FILEPATH替換為您在上一步建立的 YAML 檔案路徑。如要測試強制執行這項組織政策的影響,請使用
gcloud policy-intelligence simulate org-policy指令:gcloud policy-intelligence simulate org-policy \ --organization=ORGANIZATION_ID \ --policy-path=POLICY_FILEPATH請將
ORGANIZATION_ID替換成組織 ID。確認機構政策在模擬測試模式中運作正常後,請在
gcloud org-policies set-policy指令中為--update-mask旗標指定spec值,設定正式政策:gcloud org-policies set-policy POLICY_FILEPATH \ --update-mask=spec組織政策變更最多可能需要 15 分鐘才會全面生效。
後續步驟
- 請平台管理員在 Autopilot 中執行具備權限的工作負載