本文適用於身分和帳戶管理員,協助他們只允許已核准的具備權限工作負載在機構的任何位置執行。您應該已熟悉下列頁面中的概念:
機構的具備權限工作負載許可控制機制運作方式
根據預設,GKE Autopilot 會對工作負載強制執行一組安全措施。如要執行違反這些限制的工作負載,唯一方法是為這些工作負載安裝允許清單。如要從特定來源安裝許可清單,必須將叢集設定為允許該來源的許可清單。
根據預設, Google Cloud 機構可讓平台管理員設定叢集,允許來自 GKE 合作夥伴和已驗證的開放原始碼專案的允許清單。如果貴機構有安全規定,要將具備高權限的工作負載限制在明確已知的來源集,您可以使用組織政策修改預設行為。
為機構、資料夾或專案強制執行核准的許可清單來源時,平台管理員建立或更新 Autopilot 或標準叢集時,只能指定這些來源。如果建立或更新叢集時指定未獲核准的來源,作業就會失敗。
您應設定的組織政策取決於用途,如下所示:
僅允許在機構、資料夾或專案中執行特定高權限工作負載:
允許在 Standard 叢集的 Autopilot 模式中執行具備特殊權限的工作負載: 設定允許清單的機構政策
事前準備
- 登入 Google Cloud 帳戶。如果您是 Google Cloud新手,歡迎 建立帳戶,親自評估產品在實際工作環境中的成效。新客戶還能獲得價值 $300 美元的免費抵免額,可用於執行、測試及部署工作負載。
Enable the Resource Manager API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.Enable the Resource Manager API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.- 如果團隊擁有特權工作負載的許可清單,請要求他們提供 Cloud Storage 中這些許可清單的路徑。
必要角色和權限
如要取得管理組織政策所需的權限,請要求系統管理員授予您組織、資料夾或專案的組織政策管理員 (roles/orgpolicy.policyAdmin) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
設定機構政策,以允許使用許可清單
您可以根據constraints/container.managed.autopilotPrivilegedAdmission受管理限制,建立或更新機構政策,控管機構、資料夾或專案的許可清單核准來源。強制執行這項機構政策後,叢集管理員只能從您在政策中定義的來源安裝允許清單。
除了上述步驟,我們也建議您強制執行機構政策,只允許 Autopilot 叢集在環境中執行。如果環境中沒有標準叢集,只有您核准的具備特殊權限工作負載可以執行。詳情請參閱「設定組織政策,只允許 Autopilot 叢集」一節。
如要為核准的具備特殊權限工作負載許可清單設定機構政策,請選取下列其中一個選項:
控制台
前往 Google Cloud 控制台的「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:Google Cloud 資源的類型。必須是下列其中一個值: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 叢集:
前往 Google Cloud 控制台的「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:Google Cloud 資源的類型。必須是下列其中一個值: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 中執行具備權限的工作負載