稽核叢集是否符合法規遵循標準

本頁面說明如何自動稽核叢集,找出法規遵循問題,並取得實用建議,以提升 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 資訊主頁。

事前準備

開始之前,請確認你已完成下列工作:

需求條件

如要取得使用法規遵循稽核所需的權限,請要求管理員在 Google Cloud 專案中授予您下列 IAM 角色:

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。

這些預先定義的角色具備使用法規遵循稽核功能所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:

所需權限

如要使用法規遵循稽核功能,必須具備下列權限:

  • 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 控制台,在叢集上啟用法規遵循稽核功能。

  1. 前往 Google Cloud 控制台的「Compliance」(法規遵循) 頁面。

    前往「法規遵循」資訊主頁

  2. 在「設定」資訊卡中,按一下「選取叢集」

  3. 在「稽核已停用」分頁中,選取要新增的叢集核取方塊。

  4. 按一下「啟用」,即可在這些叢集上啟用稽核功能。

部署測試工作負載

部署刻意違反 Pod 安全性標準的範例 Pod。

  1. 將下列資訊清單儲存為 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
    
  2. 將資源套用至叢集:

    kubectl apply -f noncompliant-sample.yaml
    

如要嘗試其他違規行為,請使用不符規定的設定修改 noncompliant-sample.yaml

查看及解決法規遵循問題

初次稽核最多需要 30 分鐘才能傳回結果。 您可以在「法規遵循」頁面查看結果,或將結果做為叢集記錄中的項目。

查看結果

如要查看專案叢集中的法規遵循問題總覽,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「Compliance」(法規遵循) 頁面。

    前往「法規遵循」資訊主頁

  2. 點按「Concerns」(疑慮) 分頁標籤。

  3. 在「Filter concerns」(篩選疑慮) 窗格的「Standards」(標準) 部分,選取要查看詳細資料的標準。

查看標準詳細資料和建議

如要查看特定標準的詳細資訊,請展開標準專區,直到看到說明連結為止,然後點選標準說明開啟「法規遵循限制」窗格。

「詳細資料」分頁會顯示下列資訊:

  • 說明:標準的說明。
  • 建議動作:您可以採取哪些行動來修正法規遵循問題。

「受影響的資源」分頁會列出受標準影響的資源。

查看發現的疑慮記錄

GKE 會在 Cloud Logging 的 _Default 記錄檔儲存空間中,為每個發現的問題新增項目。這些記錄只會保留一段時間,詳情請參閱「記錄保留期限」。

  1. 前往 Google Cloud 控制台的「Logs Explorer」頁面:

    前往記錄檔探索工具
  2. 在「Query」(查詢) 欄位中,指定下列查詢:

    resource.type="k8s_cluster"
    jsonPayload.@type="type.googleapis.com/cloud.kubernetes.security.containersecurity_logging.Finding"
    jsonPayload.type="FINDING_TYPE_MISCONFIG"
    jsonPayload.configuration.violation:*
  3. 點選「執行查詢」

如要在 GKE 將新發現項目新增至 Logging 時收到通知,請為這項查詢設定以記錄為準的快訊。詳情請參閱「設定以記錄為準的快訊」。

清除所用資源

刪除您部署的範例 Pod:

kubectl delete pod wp-non-compliant

停用法規遵循稽核功能

您可以使用 Google Cloud 控制台停用法規遵循稽核。

  1. 前往 Google Cloud 控制台的「Compliance」(法規遵循) 頁面。

    前往「法規遵循」資訊主頁

  2. 在「設定」資訊卡中,按一下「選取叢集」

  3. 在「已啟用稽核」分頁中,選取要移除的叢集核取方塊。

  4. 按一下「停用」,即可停用這些叢集的稽核功能。

限制

  • 不支援 Windows Server 節點集區。
  • 合規性稽核不會掃描 GKE 管理的工作負載,例如 kube-system 命名空間中的工作負載。
  • 法規遵循稽核僅適用於節點數量少於 1,000 個的叢集。

後續步驟