管理雲端控制項

法規遵循管理工具內建多項雲端控管機制,可新增至架構並部署至環境。如有需要,您可以建立及管理自訂雲端控管機制,並更新內建雲端控管機制。

事前準備

請先完成這些工作,再完成本頁其餘工作。

設定權限

設定 Google Cloud CLI

在 Google Cloud 控制台啟用 Cloud Shell。

啟用 Cloud Shell

Google Cloud 控制台底部會開啟 Cloud Shell 工作階段,並顯示指令列提示。Cloud Shell 是已安裝 Google Cloud CLI 的殼層環境,並已設定適用於您目前專案的值。工作階段可能要幾秒鐘的時間才能初始化。

如要設定 gcloud CLI,使用服務帳戶模擬功能向 Google API 進行驗證,而非使用使用者憑證,請執行下列指令:

gcloud config set auth/impersonate_service_account SERVICE_ACCT_EMAIL

詳情請參閱「服務帳戶模擬」。

查看雲端控管機制

請完成下列步驟,查看內建雲端控管機制和已建立的自訂雲端控管機制。

控制台

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

    前往「法規遵循」頁面

  2. 選取您的機構或專案。

  3. 在「設定」分頁中,按一下「Cloud 控制項」。系統會顯示可用的雲端控管機制。

    資訊主頁會顯示哪些架構包含雲端控管機制,以及雲端控管機制套用至多少資源 (組織、資料夾和專案)。

  4. 如要查看雲端控管機制的詳細資料,請按一下控管機制名稱。

CLI

您可以查看特定雲端控制項的資訊,或列出組織中的所有雲端控制項。

查看雲端控管機制的詳細資料

如要查看特定雲端控管機制的詳細資料,請執行 gcloud compliance-manager cloud-controls describe 指令:

gcloud compliance-manager cloud-controls describe CLOUD_CONTROL \
   --location=LOCATION \
   --organization=ORGANIZATION \
   [--major-revision-id=MAJOR_REVISION_ID]

替換下列值:

  • CLOUD_CONTROL:雲端控管機制名稱

  • ORGANIZATION:組織 ID

  • LOCATION:儲存雲端控制項的區域

  • MAJOR_REVISION_ID 是選用旗標,用於指定要查看的 CloudControl 版本。如未加入旗標,系統會傳回最新版本。

舉例來說,如要查看名稱為 builtin-block-external-ip-addresses-for-vm-access 且主要修訂版本編號為 1 的雲端控管機制,請執行下列指令:

gcloud compliance-manager cloud-controls describe \
   builtin-block-external-ip-addresses-for-vm-access \
   --organization=3589215982 \
   --location=global \
   --major-revision-id=1

詳情請參閱「gcloud compliance-manager cloud-controls describe」。

取得雲端控管機制清單

如要取得組織中的雲端控管機制清單,請執行 gcloud compliance-manager cloud-controls list 指令:

gcloud compliance-manager cloud-controls list \
   --location=LOCATION \
   --organization=ORGANIZATION

替換下列值:

  • ORGANIZATION:組織 ID

  • LOCATION:儲存雲端控管機制的區域

舉例來說,如要查看組織 3589215982 中儲存在全域位置的所有雲端控管機制,請執行下列指令:

gcloud compliance-manager cloud-controls list \
   --organization=3589215982 \
   --location=global

如要瞭解選用旗標,請參閱「gcloud compliance-manager cloud-controls list」。

建立自訂雲端控管機制

建立自訂雲端控管機制時,您會將規則套用至任何 Cloud Asset Inventory 資源類型。

控制台

使用控制台時,您可以建立自訂雲端控管機制,並設定一項規則,套用至一個 Cloud Asset Inventory 資源類型。

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

    前往「法規遵循」頁面

  2. 選取您的機構或專案。

  3. 在「設定」分頁中,按一下「Cloud 控制項」。畫面上會顯示可用的雲端控制項清單。

  4. 使用 Gemini 或手動建立雲端控管機制:

使用 Gemini

  1. 請 Gemini 生成雲端控管機制。Gemini 會根據提示提供專屬 ID、名稱、相關偵測邏輯和可能的修復步驟。

  2. 查看建議並進行必要變更。

  3. 儲存自訂雲端控管機制。

手動建立

  1. 在「Cloud control ID」(CloudControl ID) 中,提供控管機制的專屬 ID。

  2. 輸入名稱和說明,協助貴組織的使用者瞭解自訂雲端控管機制的用途。

  3. 選用:選取控制項的類別。按一下「繼續」。

  4. 為自訂雲端控管機制選取可用的資源類型。法規遵循管理工具支援所有資源類型。如要查看資源名稱,請參閱「資產類型」。

  5. 以一般運算語言 (CEL) 格式提供 CloudControl 的偵測邏輯。

    CEL 運算式可讓您定義如何評估資源屬性。如需更多資訊和範例,請參閱「編寫自訂雲端控制項規則」。按一下「Continue」(繼續)。

    如果評估規則無效,系統會顯示錯誤。

  6. 選取適當的發現項目嚴重性。

  7. 請撰寫修復操作說明,讓貴組織的事件應變人員和管理員能解決雲端控管機制的任何發現項目。按一下「繼續」。

  8. 檢查輸入內容,然後按一下「建立」。

CLI

使用 gcloud CLI 時,您最多可以建立含有三項規則的自訂雲端控制項。每項規則只能套用至一種資源類型。

如要建立自訂雲端控管機制,請執行 gcloud compliance-manager cloud-controls create 指令:

gcloud compliance-manager cloud-controls create CLOUD_CONTROL \
   --location=LOCATION \
   --organization=ORGANIZATION \
   [--display-name=DISPLAY_NAME] \
   [--description=DESCRIPTION] \
   [--categories=[CATEGORIES,...]] \
   [--finding-category=FINDING_CATEGORY] \
   [--parameter-spec=[defaultValue=DEFAULTVALUE],[description=DESCRIPTION],[displayName=DISPLAYNAME],[isRequired=ISREQUIRED],[name=NAME],[substitutionRules=SUBSTITUTIONRULES],[validation=VALIDATION],[valueType=VALUETYPE]] \
   [--remediation-steps=REMEDIATION_STEPS] \
   [--rules=[celExpression=CELEXPRESSION],[description=DESCRIPTION],[ruleActionTypes=RULEACTIONTYPES]] \
   [--severity=SEVERITY] \
   [--supported-cloud-providers=[SUPPORTED_CLOUD_PROVIDERS,…]] \
   [--supported-target-resource-types=[SUPPORTED_TARGET_RESOURCE_TYPES,…]]

替換下列值:

  • CLOUD_CONTROL:雲端控制項的專屬英數字元名稱

  • ORGANIZATION:組織 ID

  • LOCATION:儲存雲端控制項的區域

  • DISPLAY_NAME:雲端控管機制的人類可讀名稱

  • DESCRIPTION:雲端控制項用途的選用說明

  • CATEGORIES,…:選用參數,定義雲端控管機制所屬的類別。如需允許的類別清單,請參閱「gcloud compliance-manager cloud-controls create」。

  • FINDING_CATEGORY:雲端控制項產生發現項目時,Security Command Center 發現項目資訊主頁中顯示的值

  • --parameter-spec=[defaultValue=DEFAULTVALUE], \
     [description=DESCRIPTION], \
     [displayName= DISPLAYNAME], \
     [isRequired=ISREQUIRED], \
     [name=NAME], \
     [substitutionRules=SUBSTITUTIONRULES], \
     [validation=VALIDATION], \
     [valueType=VALUETYPE]...]
    

    是雲端控管機制的選用參數資訊,格式如下:

    • DEFAULTVALUE:如果使用者在部署架構時未自訂參數,則會套用這項資料。支援的值類型為 boolValue、numberValue、stringListValue 或 stringValue。

    • DESCRIPTION:控制項的選用說明

    • ISREQUIRED:如果控制項需要設定參數,則為 true

    • NAME:參數名稱

    • SUBSTITUTIONRULES:法規遵循管理員插入參數自訂值的方式和位置。使用 proto 點標記法 (例如 rules[0].org_policy_constraint...) 指定規則中的目標路徑。請選擇下列其中一個選項:

      • attributeSubstitutionRule:如要將參數值直接插入規則的結構欄位 (例如在組織政策限制規則範本中填入受限制值清單),請使用這個選項。

      • 如果規則使用文字字串 (或 CEL 運算式),則為 placeholderSubstitutionRule。字串必須包含前置字元為 $ 的預留位置變數 (例如 $deniedServices),而這項規則會指示編譯器將參數對應至該預留位置。

      以下範例會建立名為 deniedServices 的清單參數,類型為 STRINGLIST。部署時,它會使用 attributeSubstitutionRule,將使用者提供的服務名稱 (例如 compute.googleapis.com) 直接新增至結構化自訂組織政策規則 (denied_values):

      --parameter-spec='name=deniedServices,isRequired=true,valueType=STRINGLIST,substitutionRules=[{attributeSubstitutionRule={attribute="rules[0].org_policy_constraint.policy_rules[0].values.denied_values"}}]'
    • VALIDATION 是允許的值組合。請選擇下列其中一個選項:

      • 使用 allowedValues 強制執行靜態許可清單,例如將位置參數限制為特定字串欄位:validation={allowedValues={values=[{stringValue=us-central1},{stringValue=us-west1}]}}

      • 使用 intRange 對整數強制執行數值界限,例如將保留期限設為 1 到 365 之間: validation={intRange={min=1,max=365}}

      • 使用 regexpPattern 對字串文字強制執行規則運算式比對,例如要求嚴格的英數字元命名:validation={regexpPattern={pattern="^[a-z][-a-z0-9]*$"}}

    • VALUETYPE:使用者為這個參數提供的值,其資料類型或格式。支援的值類型為 STRING、BOOLEAN、STRINGLIST、NUMBER 和 ONEOF。

    或者,您也可以指定定義參數的 JSON 或 YAML 檔案。例如:--parameter-spec=path_to_file.(yaml|json)。展開下列部分,即可查看 JSON 和 YAML 檔案範例。

    JSON 檔案範例

      [
        {
          "name": "deniedServices",
          "displayName": "Services Requiring CMEK",
          "description": "List of service names that must use Customer-Managed Encryption Keys.",
          "isRequired": true,
          "valueType": "STRINGLIST",
          "substitutionRules": [
            {
              "attributeSubstitutionRule": {
                "attribute": "rules[0].org_policy_constraint.policy_rules[0].values.denied_values"
              }
            }
          ]
        }
      ]
          

    YAML 檔案範例

      - name: deniedServices
        displayName: "Services Requiring CMEK"
        description: "List of service names that must use Customer-Managed Encryption Keys."
        isRequired: true
        valueType: STRINGLIST
        substitutionRules:
        - attributeSubstitutionRule:
            attribute: "rules[0].org_policy_constraint.policy_rules[0].values.denied_values"
          
  • REMEDIATION_STEPS:解決任何發現項目所需的步驟。這個字串長度上限為 400 個半形字元。

  • --rules=[celExpression=CELEXPRESSION],[description=DESCRIPTION],[ruleActionTypes=RULEACTIONTYPES] 是您要強制執行的規則,格式如下:

    • CELEXPRESSION:規則的一般運算語言 (CEL) 運算式。如要瞭解如何編寫 CEL 運算式,請參閱「編寫自訂雲端控管機制的規則」。包含下列項目:

      • expression:CEL 運算式,最多 1, 000 個字元

      • resourceTypesValues:資源名稱,格式為 SERVICE_NAME/type。使用 values 陣列列出要套用規則的所有資源類型,例如 values=[compute.googleapis.com/Instance]。

    • DESCRIPTION:規則說明

    • RULEACTIONTYPES:規則執行的動作。支援的值為 rule-action-type-detective、rule-action-type-preventive 和 rule-action-type-audit。

    舉例來說,如要檢查 Cloud Key Management Service 金鑰輪替週期,請輸入下列指令:

    --rules="[
      {
        \"celExpression\": {
          \"expression\": \"has(resource.data.rotationPeriod) && resource.data.rotationPeriod < duration('60h')\",
          \"resourceTypesValues\": {
            \"values\": [
              \"cloudkms.googleapis.com/CryptoKey\"
            ]
          }
        },
        \"description\": \"Check KMS key rotation period\",
        \"ruleActionTypes\": [
          \"rule-action-type-detective\"
        ]
      }
    ]"
    

    或者,您也可以指定定義規則的 JSON 或 YAML 檔案。例如 --rules=path_to_file.(yaml|json)。展開下列部分,即可查看 JSON 和 YAML 檔案範例。

    JSON 檔案範例

      [
        {
          "celExpression": {
            "expression": "has(resource.data.rotationPeriod) && resource.data.rotationPeriod < duration('60h')",
            "resourceTypesValues": {
              "values": [
                "cloudkms.googleapis.com/CryptoKey"
              ]
            }
          },
          "description": "Check KMS key rotation period to ensure it is under 60 hours.",
          "ruleActionTypes": [
            "rule-action-type-detective"
          ]
        }
      ]
          

    YAML 檔案範例

      - celExpression:
          expression: "has(resource.data.rotationPeriod) && resource.data.rotationPeriod < duration('60h')"
          resourceTypesValues:
            values:
            - cloudkms.googleapis.com/CryptoKey
        description: "Check KMS key rotation period to ensure it is under 60 hours."
        ruleActionTypes:
        - rule-action-type-detective
          
  • SEVERITY:雲端控管機制的關鍵程度。支援的值為 critical、high、medium 和 low。

  • SUPPORTED_CLOUD_PROVIDERS,…:這項雲端控管機制適用的雲端服務供應商。目前僅支援 gcp。

  • SUPPORTED_TARGET_RESOURCE_TYPES,…:雲端控制項支援的資源類型 (App Hub 中的組織、資料夾、專案或已啟用應用程式管理功能的資料夾)。支援的值為 target-resource-crm-type-folder、target-resource-crm-type-org、target-resource-crm-type-project 和 target-resource-type-application。

舉例來說,如要建立強制執行資源位置的雲端控制項,請執行下列指令:

  gcloud compliance-manager cloud-controls create \
     restrict-resource-locations \
     --organization=3589215982 \
     --location=global \
     --display-name="Restrict Resource Locations" \
     --description="Enforces checks to ensure resources are only deployed in approved cloud regions." \
     --severity=high \
     --finding-category="LOCATION_VIOLATION" \
     --supported-cloud-providers="gcp" \
     --supported-target-resource-types="target-resource-crm-type-project" \
     --parameter-spec='name=allowedLocations,isRequired=true,valueType=STRINGLIST,substitutionRules=[{placeholderSubstitutionRule={attribute="rules[0].cel_expression.expression"}}]' \
     --rules="[{\"celExpression\": {\"expression\": \"resource.location in \$allowedLocations\", \"resourceTypesValues\": {\"values\": [\"compute.googleapis.com/Instance\"]}}, \"description\": \"Check Compute Engine instance locations\", \"ruleActionTypes\": [\"rule-action-type-detective\"]}]"

如要建立相同的控制項,但使用 YAML 檔案定義參數和規則,請執行下列指令:

     gcloud compliance-manager cloud-controls create \
     restrict-resource-locations \
     --organization=3589215982 \
     --location=global \
     --display-name="Restrict Resource Locations" \
     --description="Enforces checks to ensure resources are only deployed in approved cloud regions." \
     --severity=high \
     --finding-category="LOCATION_VIOLATION" \
     --supported-cloud-providers="gcp" \
     --supported-target-resource-types="target-resource-crm-type-project" \
     --parameter-spec=parameters.yaml \
     --rules=rules.yaml

詳情請參閱「gcloud compliance-manager cloud-controls create」。

Terraform

使用 Terraform 時,您最多可以建立含有三項規則的自訂雲端控管機制。每項規則只能套用至一種資源類型。

以下範例說明如何使用 Terraform 建立自訂雲端控制項。

resource "google_cloud_security_compliance_cloud_control" "example" {
  parent              = "organizations/123456789"
  location            = "global"
  cloud_control_id    = "example-cloudcontrol"

  display_name      = "TF test CloudControl Name"
  description       = "A test cloud control for security compliance"
  categories        = ["CC_CATEGORY_INFRASTRUCTURE"]
  severity          = "HIGH"
  finding_category  = "SECURITY_POLICY"
  remediation_steps = "Review and update the security configuration according to best practices."

  supported_cloud_providers        = ["GCP"]

  rules {
    description         = "Ensure compute instances have secure boot enabled"
    rule_action_types   = ["RULE_ACTION_TYPE_DETECTIVE"]

    cel_expression {
      expression = "resource.data.shieldedInstanceConfig.enableSecureBoot == true"
      resource_types_values {
        values = ["compute.googleapis.com/Instance"]
      }
    }
  }

  parameter_spec {
    name         = "location"
    display_name = "Resource Location"
    description  = "The location where the resource should be deployed"
    value_type   = "STRING"
    is_required  = true

    default_value {
      string_value = "us-central1"
    }

    validation {
      regexp_pattern {
        pattern = "^[a-z]+-[a-z]+[0-9]$"
      }
    }
  }

  parameter_spec {
    name         = "enable_secure_boot"
    display_name = "Enable Secure Boot"
    description  = "Whether to enable secure boot for instances"
    value_type   = "BOOLEAN"
    is_required  = true

    default_value {
      bool_value = true
    }

    substitution_rules {
      attribute_substitution_rule {
        attribute = "rules[0].cel_expression.expression"
      }
    }

    validation {
      allowed_values {
        values {
          bool_value = true
        }
      }
    }
  }

  parameter_spec {
    name         = "max_instances"
    display_name = "Maximum Instances"
    description  = "Maximum number of instances allowed"
    value_type   = "NUMBER"
    is_required  = false

    default_value {
      number_value = 10
    }

    substitution_rules {
      placeholder_substitution_rule {
        attribute = "rules[0].description"
      }
    }

    validation {
      int_range {
        min = "1"
        max = "100"
      }
    }
  }

  parameter_spec {
    name         = "allowed_regions"
    display_name = "Allowed Regions"
    description  = "List of regions where resources can be deployed"
    value_type   = "STRINGLIST"
    is_required  = true

    default_value {
      string_list_value {
        values = ["us-central1", "us-east1", "us-west1"]
      }
    }

    validation {
      allowed_values {
        values {
          string_list_value {
            values = ["us-central1", "us-east1"]
          }
        }
        values {
          string_list_value {
            values = ["us-west1", "us-west2"]
          }
        }
      }
    }
  }

  parameter_spec {
    name         = "environment_type"
    display_name = "Environment Type"
    description  = "The type of environment"
    value_type   = "STRING"
    is_required  = true

    default_value {
      string_value = "production"
    }

    validation {
      allowed_values {
        values {
          string_value = "production"
        }
        values {
          string_value = "staging"
        }
        values {
          number_value = 1
        }
      }
    }
  }
}

編輯自訂雲端控管機制

建立雲端控管機制後,您可以變更其名稱、說明、規則、修復步驟和嚴重性等級。您無法變更雲端控管機制類別。

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

    前往「法規遵循」頁面

  2. 選取您的機構或專案。

  3. 在「設定」分頁中,按一下「Cloud 控制項」。系統會顯示可用的雲端控制項清單。

  4. 按一下要編輯的雲端控制項。

  5. 在「Cloud controls details」(雲端控管機制詳細資料) 頁面中,確認雲端控管機制未包含在架構中。如有需要,請編輯架構以移除雲端控管機制。

  6. 按一下 [編輯]。

  7. 在「Edit custom cloud control」(編輯自訂雲端控管機制) 頁面中,視需要變更名稱和說明。按一下「Continue」(繼續)。

  8. 更新規則、發現項目嚴重性和修復步驟。按一下「繼續」。

  9. 檢查變更,然後按一下「儲存」。

將內建 CloudControl 更新至新版本

Google 會在服務部署新功能或出現新的最佳做法時,定期更新內建的雲端控制項。更新內容可能包括新的控管機制,或對現有控管機制進行變更。

您可以在「Configure」(設定) 分頁的雲端控制項資訊主頁,或雲端控制項詳細資料頁面,查看內建雲端控制項的版本。

收到通知後,如要更新雲端控管機制,您必須更新包含該雲端控管機制的已部署架構。如需操作說明,請參閱「將內建架構更新至較新版本」。

刪除自訂雲端控管機制

如果不再需要 CloudControl,可以刪除。您只能刪除自己建立的雲端控管機制。無法刪除內建的雲端控制項。

控制台

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

    前往「法規遵循」頁面

  2. 選取您的機構或專案。

  3. 在「設定」分頁中,按一下「Cloud 控制項」。系統會顯示可用的雲端控制項清單。

  4. 按一下要刪除的雲端控制項。

  5. 在「Cloud controls details」(雲端控管機制詳細資料) 頁面中,確認雲端控管機制未包含在架構中。如有需要,請編輯架構以移除雲端控管機制。

  6. 點選「刪除」。

  7. 在「刪除」視窗中,查看訊息。輸入 Delete,然後按一下「Confirm」(確認)。

CLI

如要刪除自訂雲端控管機制,請執行 gcloud compliance-manager cloud-controls delete 指令:

gcloud compliance-manager cloud-controls delete CLOUD_CONTROL \
   --location=LOCATION \
   --organization=ORGANIZATION

替換下列值:

  • CLOUD_CONTROL:雲端控管機制名稱

  • ORGANIZATION:組織 ID

  • LOCATION:儲存雲端控制項的區域

舉例來說,如要刪除名為 restrict-resource-locations 的雲端控制項,請執行下列指令:

gcloud compliance-manager cloud-controls delete \
   restrict-resource-locations \
   --organization=3589215982 \
   --location=global

詳情請參閱「gcloud compliance-manager cloud-controls delete」。

安全狀態分析偵測工具與雲端控管機制的對應關係

下表顯示 Compliance Manager 雲端控管機制如何對應至安全狀態分析偵測工具。

位址

位址

安全狀態分析中的發現項目類別 Compliance Manager 中的雲端控管機制名稱

ACCESS_TRANSPARENCY_DISABLED

啟用資料存取透明化控管機制

ADMIN_SERVICE_ACCOUNT

禁止服務帳戶取得管理員角色

ALLOWED_INGRESS_ORG_POLICY

設定 Cloud Run 組織政策限制的允許輸入設定

ALLOWED_VPC_EGRESS_ORG_POLICY

設定 Cloud Run 組織政策限制的「允許的虛擬私有雲輸出設定」

ALLOYDB_AUTO_BACKUP_DISABLED

啟用 AlloyDB 叢集自動備份功能

ALLOYDB_BACKUPS_DISABLED

啟用叢集的 AlloyDB 備份功能

ALLOYDB_CMEK_DISABLED

為 AlloyDB 叢集啟用 CMEK

ALLOYDB_LOG_ERROR_VERBOSITY

設定 AlloyDB 執行個體的記錄錯誤詳細程度旗標

ALLOYDB_LOG_MIN_ERROR_STATEMENT_SEVERITY

設定 AlloyDB 執行個體的 log_min_error_statement 旗標

ALLOYDB_LOG_MIN_MESSAGES

設定 AlloyDB 執行個體的 log_min_messages 旗標

ALLOYDB_PUBLIC_IP

封鎖 AlloyDB 叢集執行個體的公開 IP 位址

ALLOYDB_SSL_NOT_ENFORCED

為 AlloyDB 執行個體啟用 SSL 加密

ALPHA_CLUSTER_ENABLED

停用 GKE 叢集的 Alpha 版功能

API_KEY_APIS_UNRESTRICTED

限制 API 金鑰,僅用於必要 API

API_KEY_APPS_UNRESTRICTED

設定 API 金鑰的應用程式限制

API_KEY_EXISTS

必須有 API 金鑰

API_KEY_NOT_ROTATED

要求輪替 API 金鑰

AUDIT_CONFIG_NOT_MONITORED

設定稽核記錄變更的記錄指標和警告

AUDIT_LOGGING_DISABLED

為 Google Cloud 服務實作事件記錄

AUTO_BACKUP_DISABLED

啟用 Cloud SQL 資料庫的自動備份功能

AUTO_REPAIR_DISABLED

啟用 GKE 叢集的自動修復功能

AUTO_UPGRADE_DISABLED

在 GKE 叢集啟用自動升級功能

BIGQUERY_TABLE_CMEK_DISABLED

為 BigQuery 資料表啟用 CMEK

BINARY_AUTHORIZATION_DISABLED

要求叢集使用二進位授權

BUCKET_CMEK_DISABLED

為 Cloud Storage bucket 啟用 CMEK

BUCKET_IAM_NOT_MONITORED

設定 Cloud Storage IAM 政策變更的記錄指標和警告

BUCKET_LOGGING_DISABLED

必須啟用 Cloud Storage bucket 記錄功能

BUCKET_POLICY_ONLY_DISABLED

啟用 Cloud Storage bucket 的統一 bucket 層級存取權

CLOUD_ASSET_API_DISABLED

啟用 Cloud Asset Inventory 服務

CLUSTER_LOGGING_DISABLED

在 GKE 叢集啟用 Cloud Logging

CLUSTER_MONITORING_DISABLED

在 GKE 叢集上啟用 Cloud Monitoring

CLUSTER_PRIVATE_GOOGLE_ACCESS_DISABLED

在執行個體上啟用 Private Google Access

CLUSTER_SECRETS_ENCRYPTION_DISABLED

啟用 GKE 叢集加密功能

CLUSTER_SHIELDED_NODES_DISABLED

在叢集上啟用 Shielded GKE 節點

COMPUTE_PROJECT_WIDE_SSH_KEYS_ALLOWED

封鎖 Compute Engine 執行個體上的專案層級安全殼層金鑰

COMPUTE_SECURE_BOOT_DISABLED

在 Compute Engine 執行個體上啟用安全啟動功能

COMPUTE_SERIAL_PORTS_ENABLED

封鎖 Compute Engine 執行個體的序列埠

CONFIDENTIAL_COMPUTING_DISABLED

為 Compute Engine 執行個體啟用機密運算

COS_NOT_USED

要求 GKE 叢集使用 Container-Optimized OS

CUSTOM_ORG_POLICY_VIOLATION

強制執行自訂組織政策

CUSTOM_ROLE_NOT_MONITORED

設定自訂角色變更的記錄指標和警告

DATAPROC_CMEK_DISABLED

Dataproc 叢集必須使用 CMEK

DATAPROC_IMAGE_OUTDATED

在 Dataproc 叢集使用最新映像檔版本

DATASET_CMEK_DISABLED

為 BigQuery 資料集啟用 CMEK

DEFAULT_NETWORK

使用設有自訂防火牆規則的網路

DEFAULT_SERVICE_ACCOUNT_USED

為 Compute Engine 執行個體使用自訂服務帳戶

DISABLE_VPC_EXTERNAL_IP_V6_ORG_POLICY

設定「停用虛擬私有雲外部 IPv6 用量」組織政策

DISABLE_VPC_INTERNAL_IP_V6_ORG_POLICY

設定「停用虛擬私有雲外部 IPv6 用量」組織政策

DISABLED_SERIAL_PORT_ACCESS_ORG_POLICY

設定「停用 Stackdriver 的 VM 序列埠記錄功能」組織政策

DISK_CMEK_DISABLED

在 Compute Engine 永久磁碟上啟用 CMEK

DISK_CSEK_DISABLED

在 Compute Engine 永久磁碟上啟用 CSEK

DNS_LOGGING_DISABLED

啟用 Cloud DNS 記錄監控功能

DNSSEC_DISABLED

為 Cloud DNS 啟用 DNSSEC

EGRESS_DENY_RULE_NOT_SET

強制執行「拒絕所有輸出」防火牆規則

ESSENTIAL_CONTACTS_NOT_CONFIGURED

定義重要聯絡人

FIREWALL_NOT_MONITORED

設定虛擬私有雲網路防火牆變更的記錄指標和警告

FIREWALL_RULE_LOGGING_DISABLED

啟用防火牆規則記錄功能

FLOW_LOGS_DISABLED

啟用子網路流量記錄

FULL_API_ACCESS

限制 Compute Engine 執行個體對 Google Cloud API 的 API 存取權

HTTP_LOAD_BALANCER

強制僅限 HTTPS 流量

INSTANCE_OS_LOGIN_DISABLED

要求在 Compute Engine 執行個體上使用 OS 登入功能

INTEGRITY_MONITORING_DISABLED

在 GKE 叢集啟用完整性監控功能

INTRANODE_VISIBILITY_DISABLED

啟用 GKE 叢集的節點內流量瀏覽權限

IP_ALIAS_DISABLED

為 GKE 叢集啟用 IP 別名範圍

IP_FORWARDING_ENABLED

防止 Compute Engine 執行個體轉送 IP

KMS_KEY_NOT_ROTATED

定義 Cloud KMS 金鑰的輪替週期

KMS_PROJECT_HAS_OWNER

無法使用

KMS_PUBLIC_KEY

禁止公開存取 Cloud KMS 金鑰

KMS_ROLE_SEPARATION

強制分散權責

LEGACY_AUTHORIZATION_ENABLED

封鎖 GKE 叢集的舊版授權

LEGACY_METADATA_ENABLED

停用 Compute Engine 的舊版中繼資料伺服器端點

LEGACY_NETWORK

不使用舊版網路

LOAD_BALANCER_LOGGING_DISABLED

啟用負載平衡器記錄功能

LOCKED_RETENTION_POLICY_NOT_SET

鎖定 Storage bucket 資料保留政策

LOG_NOT_EXPORTED

設定記錄檔接收器

MASTER_AUTHORIZED_NETWORKS_DISABLED

在 GKE 叢集啟用控制層授權網路

MFA_NOT_ENFORCED

強制執行兩步驟驗證

NETWORK_NOT_MONITORED

設定虛擬私有雲網路變更的記錄指標和警告

NETWORK_POLICY_DISABLED

在 GKE 叢集上啟用網路政策

NODEPOOL_BOOT_CMEK_DISABLED

在 GKE 節點集區開機磁碟上啟用 CMEK

NODEPOOL_SECURE_BOOT_DISABLED

為 Shielded GKE 節點啟用安全啟動功能

NON_ORG_IAM_MEMBER

封鎖外部使用者的 IAM 權限

OBJECT_VERSIONING_DISABLED

啟用 bucket 的物件版本管理功能

OPEN_CASSANDRA_PORT

禁止一般存取 Cassandra 通訊埠

OPEN_CISCOSECURE_WEBSM_PORT

封鎖 CiscoSecure/WebSM 通訊埠的一般存取權

OPEN_DIRECTORY_SERVICES_PORT

封鎖目錄服務通訊埠的一般存取權

OPEN_DNS_PORT

禁止所有 IP 位址一般存取 DNS 連接埠

OPEN_ELASTICSEARCH_PORT

禁止所有 IP 位址一般存取 Elasticsearch 通訊埠

OPEN_FIREWALL

封鎖過於寬鬆的防火牆規則

OPEN_FTP_PORT

禁止一般存取 FTP 通訊埠

OPEN_GROUP_IAM_MEMBER

限制開放式 Google 群組帳戶

OPEN_HTTP_PORT

封鎖 HTTP 通訊埠的一般存取權

OPEN_LDAP_PORT

禁止一般存取 LDAP 通訊埠

OPEN_MEMCACHED_PORT

禁止一般存取 Memcached 通訊埠

OPEN_MONGODB_PORT

封鎖 MongoDB 通訊埠的一般存取權

OPEN_MYSQL_PORT

禁止一般存取 MySQL 通訊埠

OPEN_NETBIOS_PORT

封鎖所有 IP 位址對 NetBIOS 連接埠的一般存取

OPEN_ORACLEDB_PORT

禁止一般存取 Oracle Database 連接埠

OPEN_POP3_PORT

封鎖 POP3 伺服器通訊埠的一般存取權

OPEN_POSTGRESQL_PORT

禁止所有 IP 位址一般存取 PostgreSQL 伺服器通訊埠

OPEN_RDP_PORT

封鎖 RDP 通訊埠的一般存取權

OPEN_REDIS_PORT

禁止所有 IP 位址一般存取 Redis 伺服器通訊埠

OPEN_SMTP_PORT

封鎖對 SMTP 伺服器通訊埠的一般存取

OPEN_SSH_PORT

封鎖 SSH 通訊埠的一般存取權

OPEN_TELNET_PORT

封鎖 Telnet 伺服器通訊埠的一般存取權

ORG_POLICY_CONFIDENTIAL_VM_POLICY

啟用 Confidential VM 組織政策限制

ORG_POLICY_LOCATION_RESTRICTION

強制執行位置限制

OS_LOGIN_DISABLED

在專案層級為所有執行個體啟用 OS 登入功能

OVER_PRIVILEGED_ACCOUNT

為 GKE 叢集使用最小權限服務帳戶

OVER_PRIVILEGED_SCOPES

建立權限有限的 GKE 叢集

OVER_PRIVILEGED_SERVICE_ACCOUNT_USER

禁止服務帳戶取得管理員角色

OWNER_NOT_MONITORED

為專案擁有者角色指派和變更作業設定記錄指標和警告

POD_SECURITY_POLICY_DISABLED

為 GKE 叢集啟用 PodSecurityPolicies

PRIMITIVE_ROLES_USED

限制舊版 IAM 角色

PRIVATE_CLUSTER_DISABLED

啟用 GKE 私人叢集

PRIVATE_GOOGLE_ACCESS_DISABLED

為虛擬私有雲子網路啟用 Private Google Access

PUBLIC_BUCKET_ACL

限制 Cloud Storage bucket 的公開存取權

PUBLIC_COMPUTE_IMAGE

限制公開存取 Compute 映像檔

PUBLIC_DATASET

限制 BigQuery 資料集的公開存取權

PUBLIC_IP_ADDRESS

限制 Compute Engine 執行個體的公開 IP 位址

PUBLIC_LOG_BUCKET

限制 Cloud Storage bucket 的公開存取權

PUBLIC_SQL_INSTANCE

限制 Cloud SQL 資料庫執行個體的公開存取權

PUBSUB_CMEK_DISABLED

使用 CMEK 加密 Pub/Sub 主題

REDIS_ROLE_USED_ON_ORG

在專案層級指派 Redis 角色

RELEASE_CHANNEL_DISABLED

將 GKE 叢集訂閱至發布管道

REQUIRE_OS_LOGIN_ORG_POLICY

啟用 OS 登入功能

REQUIRE_VPC_CONNECTOR_ORG_POLICY

定義 Cloud Run 函式的虛擬私有雲連接器輸出

RESTRICT_AUTHORIZED_NETWORKS_ORG_POLICY

啟用「限制 Cloud SQL 執行個體的授權網路」組織政策限制

ROUTE_NOT_MONITORED

設定虛擬私有雲路由變更的記錄指標和警告

RSASHA1_FOR_SIGNING

避免使用 RSASHA1 簽署 DNSSEC

S3_BUCKET_ACCESS_LOGGING_ENABLED_CLOUDTRAIL_S3_BUCKET

無法使用

S3_BUCKETS_CONFIGURED_BLOCK_PUBLIC_ACCESS_BUCKET_AND_ACCOUNT_SETTINGS

無法使用

SERVICE_ACCOUNT_KEY_NOT_ROTATED

要求服務帳戶金鑰輪替

SERVICE_ACCOUNT_ROLE_SEPARATION

強制分散權責

SHIELDED_VM_DISABLED

為 Compute Engine 執行個體啟用 Shielded VM

SKIP_DEFAULT_NETWORK_CREATION_ORG_POLICY

限制 Compute Engine 執行個體建立預設網路

SQL_CMEK_DISABLED

為 Cloud SQL 資料庫啟用 CMEK

SQL_CONTAINED_DATABASE_AUTHENTICATION

關閉 SQL Server 的 contained database authentication 旗標

SQL_CROSS_DB_OWNERSHIP_CHAINING

關閉 SQL Server 的跨資料庫擁有權鏈結旗標

SQL_EXTERNAL_SCRIPTS_ENABLED

關閉 SQL Server 的外部指令碼旗標

SQL_INSTANCE_NOT_MONITORED

設定 Cloud SQL 設定變更的記錄指標和警告

SQL_LOCAL_INFILE

關閉 MySQL 的本機 infile 旗標

SQL_LOG_CHECKPOINTS_DISABLED

啟用 PostgreSQL 的記錄檢查點旗標

SQL_LOG_CONNECTIONS_DISABLED

啟用 PostgreSQL 的 Log Connections 旗標

SQL_LOG_DISCONNECTIONS_DISABLED

啟用 PostgreSQL 的「記錄中斷連線」旗標

SQL_LOG_DURATION_DISABLED

為 PostgreSQL 執行個體啟用記錄時間長度旗標

SQL_LOG_ERROR_VERBOSITY

啟用 PostgreSQL 的記錄錯誤詳細程度旗標

SQL_LOG_EXECUTOR_STATS_ENABLED

關閉 PostgreSQL 的記錄執行程式統計資料旗標

SQL_LOG_HOSTNAME_ENABLED

關閉 PostgreSQL 的記錄檔主機名稱旗標

SQL_LOG_LOCK_WAITS_DISABLED

為 PostgreSQL 執行個體啟用記錄鎖定等待旗標

SQL_LOG_MIN_DURATION_STATEMENT_ENABLED

關閉 PostgreSQL 的 log_min_duration_statement 旗標

SQL_LOG_MIN_ERROR_STATEMENT

啟用 PostgreSQL 的「log_min_error_statement」旗標

SQL_LOG_MIN_ERROR_STATEMENT_SEVERITY

啟用 PostgreSQL 的「log_min_error_statement」旗標

SQL_LOG_MIN_MESSAGE

為 PostgreSQL 啟用 Log Min Messages 旗標

SQL_LOG_PARSER_STATS_ENABLED

關閉 PostgreSQL 的記錄剖析器統計資料旗標

SQL_LOG_PLANNER_STATS_ENABLED

關閉 PostgreSQL 的記錄規劃工具統計資料旗標

SQL_LOG_STATEMENT

啟用 PostgreSQL 的記錄陳述式旗標

SQL_LOG_STATEMENT_STATS_ENABLED

關閉 PostgreSQL 的記錄陳述式統計資料旗標

SQL_LOG_TEMP_FILES

為 PostgreSQL 執行個體啟用「Log Temp Files」旗標

SQL_NO_ROOT_PASSWORD

強制執行 MySQL 資料庫密碼

SQL_PUBLIC_IP

封鎖 Cloud SQL 執行個體的公開 IP 位址

SQL_REMOTE_ACCESS_ENABLED

關閉 SQL Server 的遠端存取旗標

SQL_SKIP_SHOW_DATABASE_DISABLED

啟用 MySQL 的略過顯示資料庫旗標

SQL_TRACE_FLAG_3625

為 SQL Server 啟用 3625 追蹤資料庫旗標

SQL_USER_CONNECTIONS_CONFIGURED

請勿對 SQL Server 使用 User Connections 旗標

SQL_USER_OPTIONS_CONFIGURED

請勿使用 SQL Server 的 User Options 旗標

SQL_WEAK_ROOT_PASSWORD

強制 Cloud SQL 執行個體使用高強度密碼

SSL_NOT_ENFORCED

對所有傳入資料庫連線強制執行 SSL

TOO_MANY_KMS_USERS

將 KMS 加密編譯金鑰使用者人數限制為三人

UNIFORM_BUCKET_LEVEL_ACCESS_ORG_POLICY

為 Cloud Storage bucket 設定統一 bucket 層級存取權

USER_MANAGED_SERVICE_ACCOUNT_KEY

限制使用者自行管理的服務帳戶金鑰

VPC_FLOW_LOGS_SETTINGS_NOT_RECOMMENDED

啟用虛擬私有雲子網路的流量記錄

WEAK_SSL_POLICY

限制 Compute Engine 執行個體的不安全 SSL 政策

WEB_UI_ENABLED

請勿使用 Kubernetes 網頁版使用者介面

WORKLOAD_IDENTITY_DISABLED

為叢集啟用 Workload Identity Federation for GKE

後續步驟