本頁面說明如何自動稽核叢集,找出法規遵循問題,並取得實用建議,以提升 Google Kubernetes Engine (GKE) Enterprise 版叢集的法規遵循程度。法規遵循稽核是 GKE 法規遵循資訊主頁的功能。詳情請參閱「關於 GKE 法規遵循資訊主頁」。
支援的法規遵循標準
合規性稽核會掃描叢集,確認是否符合下列標準,並提供改善合規性狀態的建議:
名稱 |
說明 |
CIS Google Kubernetes Engine 基準 v1.5.0 |
根據 CIS Google Kubernetes Engine (GKE) Benchmarks v1.5.0,為設定 Google Kubernetes Engine (GKE) 提供一組建議的安全控管措施。 |
Pod 安全性標準基準 |
根據 Kubernetes Pod 安全性標準 (PSS) 基準政策,為 Kubernetes 叢集提供一系列建議的保護措施。 |
Pod 安全性標準受限制政策 |
根據 Kubernetes Pod 安全性標準 (PSS) 受限制政策,為 Kubernetes 叢集提供一系列建議的保護措施。 |
預設標準集包含所有三種支援的標準:
- CIS Google Kubernetes Engine 基準 v1.5.0
- Pod 安全性標準基準
- Pod 安全性標準受限制政策
定價
啟用 GKE Enterprise 的使用者可使用 GKE Compliance 資訊主頁。
事前準備
開始之前,請確認你已完成下列工作:
啟用 Container Security API。
需求條件
如要取得使用法規遵循稽核所需的權限,請要求管理員在 Google Cloud 專案中授予您下列 IAM 角色:
-
容器安全性檢視器 (
roles/containersecurity.viewer
) -
機群檢視者 (原稱 GKE Hub 檢視者) (
roles/gkehub.viewer
)
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
這些預先定義的角色具備使用法規遵循稽核功能所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:
所需權限
如要使用法規遵循稽核功能,必須具備下列權限:
-
resourcemanager.projects.get
-
resourcemanager.projects.list
-
containersecurity.locations.list
-
containersecurity.locations.get
-
containersecurity.clusterSummaries.list
-
containersecurity.findings.list
-
container.clusters.list
-
gkehub.features.get
-
gkehub.memberships.list
在現有叢集上啟用稽核功能
您可以使用Google Cloud 控制台,在叢集上啟用法規遵循稽核功能。
前往 Google Cloud 控制台的「Compliance」(法規遵循) 頁面。
在「設定」資訊卡中,按一下「選取叢集」。
在「稽核已停用」分頁中,選取要新增的叢集核取方塊。
按一下「啟用」,即可在這些叢集上啟用稽核功能。
部署測試工作負載
部署刻意違反 Pod 安全性標準的範例 Pod。
將下列資訊清單儲存為
noncompliant-sample.yaml
:apiVersion: v1 kind: Pod metadata: namespace: default name: wp-non-compliant labels: app: wordpress spec: containers: - image: nginx name: wordpress securityContext: capabilities: add: - NET_RAW
將資源套用至叢集:
kubectl apply -f noncompliant-sample.yaml
如要嘗試其他違規行為,請使用不符規定的設定修改 noncompliant-sample.yaml
。
查看及解決法規遵循問題
初次稽核最多需要 30 分鐘才能傳回結果。 您可以在「法規遵循」頁面查看結果,或將結果做為叢集記錄中的項目。
查看結果
如要查看專案叢集中的法規遵循問題總覽,請按照下列步驟操作:
前往 Google Cloud 控制台的「Compliance」(法規遵循) 頁面。
點按「Concerns」(疑慮) 分頁標籤。
在「Filter concerns」(篩選疑慮) 窗格的「Standards」(標準) 部分,選取要查看詳細資料的標準。
查看標準詳細資料和建議
如要查看特定標準的詳細資訊,請展開標準專區,直到看到說明連結為止,然後點選標準說明開啟「法規遵循限制」窗格。
「詳細資料」分頁會顯示下列資訊:
- 說明:標準的說明。
- 建議動作:您可以採取哪些行動來修正法規遵循問題。
「受影響的資源」分頁會列出受標準影響的資源。
查看發現的疑慮記錄
GKE 會在 Cloud Logging 的 _Default
記錄檔儲存空間中,為每個發現的問題新增項目。這些記錄只會保留一段時間,詳情請參閱「記錄保留期限」。
前往 Google Cloud 控制台的「Logs Explorer」頁面:
前往記錄檔探索工具在「Query」(查詢) 欄位中,指定下列查詢:
resource.type="k8s_cluster" jsonPayload.@type="type.googleapis.com/cloud.kubernetes.security.containersecurity_logging.Finding" jsonPayload.type="FINDING_TYPE_MISCONFIG" jsonPayload.configuration.violation:*
點選「執行查詢」
如要在 GKE 將新發現項目新增至 Logging 時收到通知,請為這項查詢設定以記錄為準的快訊。詳情請參閱「設定以記錄為準的快訊」。
清除所用資源
刪除您部署的範例 Pod:
kubectl delete pod wp-non-compliant
停用法規遵循稽核功能
您可以使用 Google Cloud 控制台停用法規遵循稽核。
前往 Google Cloud 控制台的「Compliance」(法規遵循) 頁面。
在「設定」資訊卡中,按一下「選取叢集」。
在「已啟用稽核」分頁中,選取要移除的叢集核取方塊。
按一下「停用」,即可停用這些叢集的稽核功能。
限制
- 不支援 Windows Server 節點集區。
- 合規性稽核不會掃描 GKE 管理的工作負載,例如 kube-system 命名空間中的工作負載。
- 法規遵循稽核僅適用於節點數量少於 1,000 個的叢集。