Cloud-Kontrollen verwalten

Compliance Manager enthält viele integrierte Cloud-Kontrollen, die Sie Frameworks hinzufügen und in Ihrer Umgebung bereitstellen können. Bei Bedarf können Sie eigene benutzerdefinierte Cloud-Kontrollen erstellen und verwalten sowie integrierte Cloud-Kontrollen aktualisieren.

Hinweis

Führen Sie diese Aufgaben aus, bevor Sie die verbleibenden Aufgaben auf dieser Seite ausführen.

Berechtigungen einrichten

Google Cloud CLI einrichten

Aktivieren Sie Cloud Shell in der Google Cloud Console.

Cloud Shell aktivieren

Unten in der Google Cloud Console wird eine Cloud Shell-Sitzung gestartet und eine Eingabeaufforderung angezeigt. Cloud Shell ist eine Shell-Umgebung, in der das Google Cloud CLI bereits installiert ist und Werte für Ihr aktuelles Projekt bereits festgelegt sind. Das Initialisieren der Sitzung kann einige Sekunden dauern.

Führen Sie den folgenden Befehl aus, um die gcloud CLI so einzurichten, dass die Authentifizierung bei Google APIs über die Identitätsübernahme des Dienstkontos anstelle Ihrer Nutzeranmeldedaten erfolgt:

gcloud config set auth/impersonate_service_account SERVICE_ACCT_EMAIL

Weitere Informationen finden Sie unter Identitätsübernahme des Dienstkontos.

Cloud-Kontrollen ansehen

Führen Sie die folgenden Schritte aus, um integrierte Cloud-Steuerelemente und alle benutzerdefinierten Cloud-Steuerelemente aufzurufen, die Sie bereits erstellt haben.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Compliance auf.

    Zu Compliance

  2. Wählen Sie Ihre Organisation oder das Projekt aus.

  3. Klicken Sie auf dem Tab Konfigurieren auf Cloud-Steuerelemente. Die verfügbaren Cloud-Kontrollen werden angezeigt.

    Das Dashboard enthält Informationen dazu, in welchen Frameworks die Cloud-Kontrolle enthalten ist, und die Anzahl der Ressourcen (Organisation, Ordner und Projekte), auf die die Cloud-Kontrolle angewendet wird.

  4. Wenn Sie Details zu einer Cloud-Steuerung aufrufen möchten, klicken Sie auf den Namen der Steuerung.

Befehlszeile

Sie können Informationen zu einer bestimmten Cloud-Kontrolle aufrufen oder alle Cloud-Kontrollen in Ihrer Organisation auflisten.

Details zu einer Cloud-Kontrolle ansehen

Wenn Sie Details zu einem bestimmten Cloud-Steuerelement aufrufen möchten, führen Sie den Befehl gcloud compliance-manager cloud-controls describe aus:

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

Ersetzen Sie die folgenden Werte:

  • CLOUD_CONTROL: Der Name des Cloud-Steuerelements

  • ORGANIZATION: Ihre Organisations-ID.

  • LOCATION: Die Region, in der die Cloud-Steuerung gespeichert ist.

  • MAJOR_REVISION_ID ist ein optionales Flag, mit dem angegeben wird, welche Version der Cloud-Kontrolle angezeigt werden soll. Wenn Sie das Flag nicht angeben, wird die neueste Version zurückgegeben.

Wenn Sie beispielsweise eine Cloud-Steuerung mit dem Namen builtin-block-external-ip-addresses-for-vm-access und der Hauptversion 1 aufrufen möchten, führen Sie Folgendes aus:

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

Weitere Informationen finden Sie unter gcloud compliance-manager cloud-controls describe.

Liste der Cloud-Kontrollen abrufen

Führen Sie den Befehl gcloud compliance-manager cloud-controls list aus, um die Liste der Cloud-Steuerelemente in Ihrer Organisation abzurufen:

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

Ersetzen Sie die folgenden Werte:

  • ORGANIZATION: Ihre Organisations-ID.

  • LOCATION: die Region, in der die Cloud-Steuerelemente gespeichert sind

Wenn Sie beispielsweise alle Cloud-Steuerelemente in der Organisation 3589215982 aufrufen möchten, die am globalen Standort gespeichert sind, führen Sie Folgendes aus:

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

Informationen zu optionalen Flags finden Sie unter gcloud compliance-manager cloud-controls list.

Benutzerdefinierte Cloud-Kontrolle erstellen

Wenn Sie eine benutzerdefinierte Cloud-Steuerung erstellen, wenden Sie eine Regel auf einen beliebigen Ressourcentyp von Cloud Asset Inventory an.

Console

Wenn Sie die Console verwenden, können Sie benutzerdefinierte Cloud-Steuerelemente mit einer Regel erstellen, die für einen Ressourcentyp gilt.

  1. Rufen Sie in der Google Cloud Console die Seite Compliance auf.

    Zu Compliance

  2. Wählen Sie Ihre Organisation oder das Projekt aus.

  3. Klicken Sie auf dem Tab Konfigurieren auf Cloud-Steuerelemente. Die Liste der verfügbaren Cloud-Steuerelemente wird angezeigt.

  4. Erstellen Sie eine Cloud-Kontrolle mit Gemini oder manuell:

Gemini verwenden

  1. Lassen Sie Gemini eine Cloud-Kontrolle für Sie generieren. Gemini liefert basierend auf Ihrem Prompt eine eindeutige Kennung, einen Namen, die zugehörige Erkennungslogik und mögliche Abhilfemaßnahmen.

  2. Prüfen Sie die Empfehlungen und nehmen Sie die erforderlichen Änderungen vor.

  3. Speichern Sie Ihre benutzerdefinierte Cloud-Kontrolle.

Manuell erstellen

  1. Geben Sie unter ID der Cloud-Kontrolle eine eindeutige Kennung für Ihre Steuerung an.

  2. Geben Sie einen Namen und eine Beschreibung ein, damit Nutzer in Ihrer Organisation den Zweck der benutzerdefinierten Cloud-Kontrolle nachvollziehen können.

  3. Optional: Wählen Sie die Kategorien für die Kontrollgruppe aus. Klicken Sie auf Weiter.

  4. Wählen Sie einen verfügbaren Ressourcentyp für Ihre benutzerdefinierte Cloud-Kontrolle aus. Compliance Manager unterstützt alle Ressourcentypen. Den Namen einer Ressource finden Sie unter Asset-Typen.

  5. Geben Sie die Erkennungslogik für Ihre Cloud-Kontrolle im CEL-Format (Common Expression Language) an.

    Mit CEL-Ausdrücken können Sie definieren, wie die Attribute einer Ressource ausgewertet werden sollen. Weitere Informationen und Beispiele finden Sie unter Regeln für benutzerdefinierte Cloud-Steuerungen schreiben. Klicken Sie auf Weiter.

    Wenn Ihre Auswertungsregel ungültig ist, wird ein Fehler angezeigt.

  6. Wählen Sie einen angemessenen Schweregrad für die Ergebnisse aus.

  7. Formulieren Sie die Anweisungen zur Fehlerbehebung so, dass die für die Reaktion auf Vorfälle zuständigen Mitarbeiter und Administratoren in Ihrer Organisation alle Ergebnisse für die Cloud-Steuerung beheben können. Klicken Sie auf Weiter.

  8. Prüfen Sie Ihre Einträge und klicken Sie dann auf Erstellen.

Befehlszeile

Wenn Sie die gcloud CLI verwenden, können Sie eine benutzerdefinierte Cloud-Steuerung mit maximal drei Regeln erstellen. Jede Regel kann nur auf einen Ressourcentyp angewendet werden.

Führen Sie den Befehl gcloud compliance-manager cloud-controls create aus, um eine benutzerdefinierte Cloud-Kontrolle zu erstellen:

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,…]]

Ersetzen Sie die folgenden Werte:

  • CLOUD_CONTROL: Ein eindeutiger alphanumerischer Name für die Cloud-Steuerung.

  • ORGANIZATION: Ihre Organisations-ID.

  • LOCATION: Die Region, in der die Cloud-Steuerung gespeichert ist.

  • DISPLAY_NAME: Ein für Menschen lesbarer Name für die Cloud-Steuerung.

  • DESCRIPTION: Eine optionale Beschreibung des Zwecks der Cloud-Steuerung.

  • CATEGORIES,…: Ein optionaler Parameter, der die Kategorien definiert, zu denen die Cloud-Steuerung gehört. Eine Liste der zulässigen Kategorien finden Sie unter gcloud compliance-manager cloud-controls create.

  • FINDING_CATEGORY: Der Wert, der im Security Command Center-Dashboard für Ergebnisse angezeigt wird, wenn das Cloud-Steuerelement ein Ergebnis generiert.

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

    ist der optionale Parameter für die Cloud-Steuerung im folgenden Format:

    • DEFAULTVALUE: Die Daten, die angewendet werden, wenn ein Nutzer den Parameter bei der Bereitstellung eines Frameworks nicht anpasst. Unterstützte Wertetypen sind boolValue, numberValue, stringListValue oder stringValue.

    • DESCRIPTION: eine optionale Beschreibung des Steuerelements

    • ISREQUIRED: true, wenn für die Steuerung ein Parameter festgelegt werden muss

    • NAME: der Name des Parameters

    • SUBSTITUTIONRULES: Gibt an, wie und wo Compliance Manager den benutzerdefinierten Wert für den Parameter einfügt. Geben Sie den Zielpfad in der Regel mit der Proto-Punktnotation an (z. B. rules[0].org_policy_constraint...). Wählen Sie eine der folgenden Optionen aus:

      • attributeSubstitutionRule, wenn Sie den Parameterwert direkt in ein Strukturfeld Ihrer Regel einschleusen möchten, z. B. um eine Liste mit eingeschränkten Werten in eine Vorlage für eine Organisationsrichtlinien-Einschränkungsregel einzufügen.

      • placeholderSubstitutionRule, wenn in Ihrer Regel ein Textstring (oder ein CEL-Ausdruck) verwendet wird. Der String muss eine Platzhaltervariable enthalten, die mit $ beginnt (z. B. $deniedServices). Mit dieser Regel wird der Compiler angewiesen, den Parameter dieser Platzhaltervariable zuzuordnen.

      Im folgenden Beispiel wird ein Listenparameter mit dem Namen deniedServices vom Typ STRINGLIST erstellt. Dabei wird attributeSubstitutionRule verwendet, um vom Nutzer bereitgestellte Dienstnamen (z. B. compute.googleapis.com) direkt in eine strukturelle benutzerdefinierte Organisationsrichtlinienregel (denied_values) einzufügen, wenn sie bereitgestellt wird:

      --parameter-spec='name=deniedServices,isRequired=true,valueType=STRINGLIST,substitutionRules=[{attributeSubstitutionRule={attribute="rules[0].org_policy_constraint.policy_rules[0].values.denied_values"}}]'
    • VALIDATION ist die zulässige Menge von Werten. Wählen Sie eine der folgenden Optionen aus:

      • Mit allowedValues können Sie eine statische Zulassungsliste erzwingen, z. B. um Standortparameter auf bestimmte Stringfelder zu beschränken: validation={allowedValues={values=[{stringValue=us-central1},{stringValue=us-west1}]}}

      • Mit intRange können Sie numerische Grenzen für Ganzzahlen erzwingen. Legen Sie beispielsweise einen Aufbewahrungszeitraum zwischen 1 und 365 Tagen fest: validation={intRange={min=1,max=365}}

      • Verwenden Sie regexpPattern, um den Abgleich mit regulären Ausdrücken für String-Text zu erzwingen, z. B. um eine strenge alphanumerische Benennung zu erzwingen: validation={regexpPattern={pattern="^[a-z][-a-z0-9]*$"}}

    • VALUETYPE: Der Datentyp oder das Format des Werts, den ein Nutzer für diesen Parameter angibt. Unterstützte Wertetypen sind STRING, BOOLEAN, STRINGLIST, NUMBER und ONEOF.

    Alternativ können Sie eine JSON- oder YAML-Datei angeben, in der die Parameter definiert sind. Beispiel: --parameter-spec=path_to_file.(yaml|json). Maximieren Sie den folgenden Abschnitt, um Beispiel-JSON- und ‑YAML-Dateien aufzurufen.

    Beispiel für eine JSON-Datei

      [
        {
          "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"
              }
            }
          ]
        }
      ]
          

    Beispiel für eine YAML-Datei

      - 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: Die Schritte, die erforderlich sind, um alle Ergebnisse zu beheben. Dieser String ist auf 400 Zeichen begrenzt.

  • --rules=[celExpression=CELEXPRESSION],[description=DESCRIPTION],[ruleActionTypes=RULEACTIONTYPES] ist die Regel, die Sie erzwingen möchten, im folgenden Format:

    • CELEXPRESSION: Der CEL-Ausdruck (Common Expression Language) der Regel. Informationen zum Schreiben von CEL-Ausdrücken finden Sie unter Regeln für benutzerdefinierte Cloud-Steuerelemente schreiben. Folgendes mit aufnehmen:

      • expression: Der CEL-Ausdruck mit maximal 1.000 Zeichen

      • resourceTypesValues: der Name der Ressourcen im Format SERVICE_NAME/type. Verwenden Sie ein values-Array, um alle Ressourcentypen aufzulisten, auf die Sie die Regel anwenden möchten, z. B. values=[compute.googleapis.com/Instance].

    • DESCRIPTION: eine Beschreibung der Regel

    • RULEACTIONTYPES: die Aktion, die von der Regel ausgeführt wird. Unterstützte Werte sind rule-action-type-detective, rule-action-type-preventive und rule-action-type-audit.

    Wenn Sie beispielsweise den Zeitraum für die Schlüsselrotation im Cloud Key Management Service prüfen möchten, geben Sie Folgendes ein:

    --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\"
        ]
      }
    ]"
    

    Alternativ können Sie eine JSON- oder YAML-Datei angeben, in der die Regel definiert ist. Beispiel: --rules=path_to_file.(yaml|json). Maximieren Sie den folgenden Abschnitt, um Beispiele für JSON- und YAML-Dateien aufzurufen.

    Beispiel für eine JSON-Datei

      [
        {
          "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"
          ]
        }
      ]
          

    Beispiel für eine YAML-Datei

      - 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: Die Kritikalitätsstufe für die Cloud-Steuerung. Unterstützte Werte sind critical, high, medium und low.

  • SUPPORTED_CLOUD_PROVIDERS,…: Die Cloud-Anbieter, für die diese Cloud-Steuerung gilt. Der einzige unterstützte Wert ist gcp.

  • SUPPORTED_TARGET_RESOURCE_TYPES,…: Die Ressourcentypen (Organisation, Ordner, Projekt oder App-fähiger Ordner in App Hub), die von der Cloud-Steuerung unterstützt werden. Unterstützte Werte sind target-resource-crm-type-folder, target-resource-crm-type-org, target-resource-crm-type-project und target-resource-type-application.

Wenn Sie beispielsweise eine Cloud-Steuerung erstellen möchten, mit der Ressourcenstandorte erzwungen werden, führen Sie den folgenden Befehl aus:

  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\"]}]"

So erstellen Sie dieselbe Kontrollfunktion, verwenden aber YAML-Dateien zum Definieren der Parameter und Regeln:

     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

Weitere Informationen finden Sie unter gcloud compliance-manager cloud-controls create.

Terraform

Wenn Sie Terraform verwenden, können Sie eine benutzerdefinierte Cloud-Steuerung mit maximal drei Regeln erstellen. Jede Regel kann nur auf einen Ressourcentyp angewendet werden.

Das folgende Beispiel zeigt, wie Sie mit Terraform eine benutzerdefinierte Cloud-Steuerung erstellen können.

resource "google_cloud_security_compliance_cloud_control" "example" {
  organization        = "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
        }
      }
    }
  }
}

Benutzerdefinierte Cloud-Kontrolle bearbeiten

Nachdem Sie eine Cloud-Kontrolle erstellt haben, können Sie ihren Namen, ihre Beschreibung, ihre Regeln, ihre Abhilfemaßnahmen und ihren Schweregrad ändern. Sie können die Kategorie der Cloud-Steuerung nicht ändern.

  1. Rufen Sie in der Google Cloud Console die Seite Compliance auf.

    Zu Compliance

  2. Wählen Sie Ihre Organisation oder das Projekt aus.

  3. Klicken Sie auf dem Tab Konfigurieren auf Cloud-Steuerelemente. Die Liste der verfügbaren Cloud-Steuerelemente wird angezeigt.

  4. Klicken Sie auf die Cloud-Steuerung, die Sie bearbeiten möchten.

  5. Prüfen Sie auf der Seite Details zu Cloud-Kontrollen, ob die Cloud-Kontrolle in einem Framework enthalten ist. Bearbeiten Sie das Framework bei Bedarf, um die Cloud-Steuerung zu entfernen.

  6. Klicken Sie auf Bearbeiten.

  7. Ändern Sie auf der Seite Benutzerdefinierte Cloud-Kontrolle bearbeiten den Namen und die Beschreibung nach Bedarf. Klicken Sie auf Weiter.

  8. Aktualisieren Sie die Regeln, die Wichtigkeit der Ergebnisse und die Schritte zur Fehlerbehebung. Klicken Sie auf Weiter.

  9. Prüfen Sie die Änderungen und klicken Sie auf Speichern.

Integrierte Cloud-Steuerung auf einen neueren Release aktualisieren

Google veröffentlicht regelmäßig Updates für die integrierten Cloud-Steuerelemente, wenn in Diensten neue Funktionen bereitgestellt werden oder neue Best Practices entstehen. Updates können neue Steuerelemente oder Änderungen an vorhandenen Steuerelementen enthalten.

Sie können die Releases von integrierten Cloud-Steuerelementen im Cloud-Steuerelemente-Dashboard auf dem Tab Konfigurieren oder auf der Detailseite des Cloud-Steuerelements ansehen.

Google benachrichtigt Sie in den Versionshinweisen, wenn die folgenden Elemente aktualisiert werden:

  • Name der Cloud-Kontrolle
  • Ergebniskategorie
  • Änderung der Erkennungs- oder Präventionslogik in einer Regel
  • Zugrunde liegende Logik einer Regel

Wenn Sie eine Cloud-Steuerung nach Erhalt einer Benachrichtigung aktualisieren möchten, müssen Sie die Frameworks, die die Cloud-Steuerung enthalten, entfernen und neu bereitstellen. Eine Anleitung dazu finden Sie unter Framework auf eine neuere Version aktualisieren.

Benutzerdefinierte Cloud-Kontrolle löschen

Sie können eine Cloud-Kontrolle löschen, wenn sie nicht mehr benötigt wird. Sie können nur Cloud-Kontrollen löschen, die Sie selbst erstellt haben. Integrierte Cloud-Kontrollen können nicht gelöscht werden.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Compliance auf.

    Zu Compliance

  2. Wählen Sie Ihre Organisation oder das Projekt aus.

  3. Klicken Sie auf dem Tab Konfigurieren auf Cloud-Steuerelemente. Die Liste der verfügbaren Cloud-Steuerelemente wird angezeigt.

  4. Klicken Sie auf die Cloud-Steuerung, die Sie löschen möchten.

  5. Prüfen Sie auf der Seite Details zu Cloud-Kontrollen, ob die Cloud-Kontrolle in einem Framework enthalten ist. Bearbeiten Sie das Framework bei Bedarf, um die Cloud-Steuerung zu entfernen.

  6. Klicken Sie auf Löschen.

  7. Sehen Sie sich im Fenster Löschen die Meldung an. Geben Sie Delete ein und klicken Sie auf Bestätigen.

Befehlszeile

Führen Sie zum Löschen einer benutzerdefinierten Cloud-Steuerung den Befehl gcloud compliance-manager cloud-controls delete aus:

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

Ersetzen Sie die folgenden Werte:

  • CLOUD_CONTROL: Der Name des Cloud-Steuerelements

  • ORGANIZATION: Ihre Organisations-ID.

  • LOCATION: Die Region, in der die Cloud-Steuerung gespeichert ist.

Wenn Sie beispielsweise eine Cloud-Steuerung mit dem Namen restrict-resource-locations löschen möchten, führen Sie Folgendes aus:

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

Weitere Informationen finden Sie unter gcloud compliance-manager cloud-controls delete.

Zuordnung von Security Health Analytics-Detektoren zu Cloud-Kontrollen

In der folgenden Tabelle sehen Sie, wie Compliance Manager-Cloud-Steuerelemente Security Health Analytics-Detektoren zugeordnet werden.

Ergebniskategorie in Security Health Analytics Name der Cloud-Kontrolle in Compliance Manager

ACCESS_TRANSPARENCY_DISABLED

Access Transparency aktivieren

ADMIN_SERVICE_ACCOUNT

Administratorrollen für Dienstkonten blockieren

ALLOWED_INGRESS_ORG_POLICY

Einschränkung „Organisationsrichtlinie für zulässige Einstellungen für eingehenden Traffic für Cloud Run“ konfigurieren

ALLOWED_VPC_EGRESS_ORG_POLICY

Einschränkung der Organisationsrichtlinie „Zulässige Einstellungen für ausgehenden VPC-Traffic für Cloud Run“ konfigurieren

ALLOYDB_AUTO_BACKUP_DISABLED

Automatische AlloyDB-Sicherungen für Cluster aktivieren

ALLOYDB_BACKUPS_DISABLED

AlloyDB-Sicherungen für Cluster aktivieren

ALLOYDB_CMEK_DISABLED

CMEK für AlloyDB-Cluster aktivieren

ALLOYDB_LOG_ERROR_VERBOSITY

Flag für die Ausführlichkeit von Fehlern in AlloyDB-Logs festlegen

ALLOYDB_LOG_MIN_ERROR_STATEMENT_SEVERITY

Flag „log_min_error_statement“ für AlloyDB-Instanzen festlegen

ALLOYDB_LOG_MIN_MESSAGES

Flag „Log Min Messages“ für AlloyDB-Instanzen festlegen

ALLOYDB_PUBLIC_IP

Öffentliche IP-Adressen für AlloyDB-Clusterinstanzen blockieren

ALPHA_CLUSTER_ENABLED

Alpha-Features in GKE-Clustern deaktivieren

API_KEY_APPS_UNRESTRICTED

API-Schlüssel nur für erforderliche APIs einschränken

API_KEY_EXISTS

Nicht verfügbar

API_KEY_NOT_ROTATED

Rotation des API-Schlüssels erforderlich

AUDIT_CONFIG_NOT_MONITORED

Logmesswerte und Benachrichtigungen für Änderungen am Audit-Logging konfigurieren

AUDIT_LOGGING_DISABLED

Ereignisprotokollierung für Google Cloud-Dienste implementieren

AUTO_BACKUP_DISABLED

Automatische Sicherungen für Cloud SQL-Datenbanken aktivieren

AUTO_REPAIR_DISABLED

Automatische Reparatur für GKE-Cluster aktivieren

AUTO_UPGRADE_DISABLED

Automatisches Upgrade für GKE-Cluster aktivieren

BIGQUERY_TABLE_CMEK_DISABLED

CMEK für BigQuery-Tabellen aktivieren

BINARY_AUTHORIZATION_DISABLED

Binärautorisierung für einen Cluster anfordern

BUCKET_CMEK_DISABLED

CMEK für Cloud Storage-Buckets aktivieren

BUCKET_IAM_NOT_MONITORED

Logmesswerte und Benachrichtigungen für Änderungen an Cloud Storage-IAM-Richtlinien konfigurieren

BUCKET_LOGGING_DISABLED

Cloud Storage-Bucket-Logging erforderlich

BUCKET_POLICY_ONLY_DISABLED

Einheitlichen Zugriff auf Bucket-Ebene für Cloud Storage-Buckets aktivieren

CLOUD_ASSET_API_DISABLED

Cloud Asset Inventory-Dienst aktivieren

CLUSTER_LOGGING_DISABLED

Cloud Logging in GKE-Clustern aktivieren

CLUSTER_MONITORING_DISABLED

Cloud Monitoring für GKE-Cluster aktivieren

CLUSTER_PRIVATE_GOOGLE_ACCESS_DISABLED

Privaten Google-Zugriff für eine Instanz aktivieren

CLUSTER_SECRETS_ENCRYPTION_DISABLED

Verschlüsselung in GKE-Clustern aktivieren

CLUSTER_SHIELDED_NODES_DISABLED

Shielded GKE-Knoten in einem Cluster aktivieren

COMPUTE_PROJECT_WIDE_SSH_KEYS_ALLOWED

Projektweite SSH-Schlüssel für Compute Engine-Instanzen blockieren

COMPUTE_SECURE_BOOT_DISABLED

Secure Boot auf Compute Engine-Instanzen aktivieren

COMPUTE_SERIAL_PORTS_ENABLED

Serielle Ports für Compute Engine-Instanzen blockieren

CONFIDENTIAL_COMPUTING_DISABLED

Confidential Computing für Compute Engine-Instanzen aktivieren

COS_NOT_USED

Container-Optimized OS für einen GKE-Cluster erforderlich machen

CUSTOM_ORG_POLICY_VIOLATION

Nicht verfügbar

CUSTOM_ROLE_NOT_MONITORED

Logmesswerte und Benachrichtigungen für Änderungen an benutzerdefinierten Rollen konfigurieren

DATAPROC_CMEK_DISABLED

CMEK für Dataproc-Cluster erforderlich machen

DATAPROC_IMAGE_OUTDATED

Neueste Image-Versionen in Dataproc-Clustern verwenden

DATASET_CMEK_DISABLED

CMEK für BigQuery-Datasets aktivieren

DEFAULT_NETWORK

Netzwerke mit benutzerdefinierten Firewallregeln verwenden

DEFAULT_SERVICE_ACCOUNT_USED

Benutzerdefinierte Dienstkonten für Compute Engine-Instanzen verwenden

DISABLE_VPC_EXTERNAL_IP_V6_ORG_POLICY

Organisationsrichtlinie „Externe VPC-IPv6-Nutzung deaktivieren“ konfigurieren

DISABLE_VPC_INTERNAL_IP_V6_ORG_POLICY

Organisationsrichtlinie „Externe VPC-IPv6-Nutzung deaktivieren“ konfigurieren

DISABLED_SERIAL_PORT_ACCESS_ORG_POLICY

Organisationsrichtlinie „Disable VM Serial Port Logging to Stackdriver“ konfigurieren

DISK_CMEK_DISABLED

CMEK für nichtflüchtige Compute Engine-Speicher aktivieren

DISK_CSEK_DISABLED

CSEK für nichtflüchtige Compute Engine-Speicher aktivieren

DNS_LOGGING_DISABLED

Cloud DNS-Logs-Monitoring aktivieren

DNSSEC_DISABLED

DNSSEC für Cloud DNS aktivieren

EGRESS_DENY_RULE_NOT_SET

Firewallregel „Alle ausgehenden Verbindungen ablehnen“ erzwingen

ESSENTIAL_CONTACTS_NOT_CONFIGURED

Wichtige Kontakte definieren

FIREWALL_NOT_MONITORED

Logmesswerte und Benachrichtigungen für Änderungen an der VPC-Netzwerk-Firewall konfigurieren

FIREWALL_RULE_LOGGING_DISABLED

Logging von Firewallregeln aktivieren

FLOW_LOGS_DISABLED

Flusslogs für VPC-Subnetz aktivieren

FULL_API_ACCESS

API-Zugriff auf Google Cloud APIs für Compute Engine-Instanzen einschränken

HTTP_LOAD_BALANCER

Nur HTTPS-Traffic erzwingen

INCORRECT_BQ4G_SERVICE_PERIMETER

Dienstperimeter in VPC Service Controls definieren

INSTANCE_OS_LOGIN_DISABLED

OS Login aktivieren

INTEGRITY_MONITORING_DISABLED

Integritätsmonitoring für GKE-Cluster aktivieren

INTRANODE_VISIBILITY_DISABLED

Knoteninterne Sichtbarkeit für GKE-Cluster aktivieren

IP_ALIAS_DISABLED

IP-Aliasbereich für GKE-Cluster aktivieren

IP_FORWARDING_ENABLED

IP-Weiterleitung für Compute Engine-Instanzen verhindern

KMS_KEY_NOT_ROTATED

Rotationszeitraum für Cloud KMS-Schlüssel definieren

KMS_PROJECT_HAS_OWNER

Nicht verfügbar

KMS_PUBLIC_KEY

Nicht verfügbar

KMS_ROLE_SEPARATION

Aufgabentrennung erzwingen

LEGACY_AUTHORIZATION_ENABLED

Legacy-Autorisierung in GKE-Clustern blockieren

LEGACY_METADATA_ENABLED

Legacy-Metadatenserver-Endpunkte in Compute Engine deaktivieren

LEGACY_NETWORK

Legacy-Netzwerke nicht verwenden

LOAD_BALANCER_LOGGING_DISABLED

Load-Balancer-Logging aktivieren

LOCKED_RETENTION_POLICY_NOT_SET

Aufbewahrungsrichtlinien für Speicher-Buckets sperren

LOG_NOT_EXPORTED

Logsenken konfigurieren

MASTER_AUTHORIZED_NETWORKS_DISABLED

Autorisierte Netzwerke der Steuerungsebene in GKE-Clustern aktivieren

MFA_NOT_ENFORCED

Nicht verfügbar

NETWORK_NOT_MONITORED

Logmesswerte und Benachrichtigungen für Änderungen am VPC-Netzwerk konfigurieren

NETWORK_POLICY_DISABLED

Netzwerkrichtlinie für GKE-Cluster aktivieren

NODEPOOL_BOOT_CMEK_DISABLED

CMEK für GKE-Knotenpool-Bootlaufwerke aktivieren

NODEPOOL_SECURE_BOOT_DISABLED

Aktivieren Sie Secure Boot für Shielded GKE-Knoten

NON_ORG_IAM_MEMBER

Nicht verfügbar

OBJECT_VERSIONING_DISABLED

Objektversionierung für Buckets aktivieren

OPEN_CASSANDRA_PORT

Verbindungen zu Cassandra-Ports von allen IP-Adressen blockieren

OPEN_CISCOSECURE_WEBSM_PORT

Verbindungen zu CiscoSecure/WebSM-Ports von allen IP-Adressen blockieren

OPEN_DIRECTORY_SERVICES_PORT

Verbindungen zu Ports von Verzeichnisdiensten von allen IP-Adressen blockieren

OPEN_DNS_PORT

Verbindungen zu DNS-Ports von allen IP-Adressen blockieren

OPEN_ELASTICSEARCH_PORT

Verbindungen zu Elasticsearch-Ports von allen IP-Adressen blockieren

OPEN_FIREWALL

Nicht verfügbar

OPEN_FTP_PORT

Verbindungen zu FTP-Ports von allen IP-Adressen blockieren

OPEN_GROUP_IAM_MEMBER

Nicht verfügbar

OPEN_HTTP_PORT

Verbindungen zu HTTP-Ports von allen IP-Adressen blockieren

OPEN_LDAP_PORT

Verbindungen zu LDAP-Ports von allen IP-Adressen blockieren

OPEN_MEMCACHED_PORT

Verbindungen zu Memcached-Ports von allen IP-Adressen blockieren

OPEN_MONGODB_PORT

Verbindungen zu MongoDB-Ports von allen IP-Adressen blockieren

OPEN_MYSQL_PORT

Verbindungen zu MySQL-Ports von allen IP-Adressen blockieren

OPEN_NETBIOS_PORT

Verbindungen zu NetBIOS-Ports von allen IP-Adressen blockieren

OPEN_ORACLEDB_PORT

Verbindungen zu Oracle-Datenbankports von allen IP-Adressen blockieren

OPEN_POP3_PORT

Verbindungen zu POP3-Serverports von allen IP-Adressen blockieren

OPEN_POSTGRESQL_PORT

Verbindungen zu PostgreSQL-Serverports von allen IP-Adressen blockieren

OPEN_RDP_PORT

Zugriff auf RDP-Port blockieren

OPEN_REDIS_PORT

Verbindungen zu Redis-Serverports von allen IP-Adressen blockieren

OPEN_SMTP_PORT

Verbindungen zu SMTP-Serverports von allen IP-Adressen blockieren

OPEN_SSH_PORT

Zugriff auf SSH-Port blockieren

OPEN_TELNET_PORT

Verbindungen zu Telnet-Serverports von allen IP-Adressen blockieren

ORG_POLICY_CONFIDENTIAL_VM_POLICY

Einschränkung für Organisationsrichtlinie für Confidential VMs aktivieren

OS_LOGIN_DISABLED

OS Login für alle Instanzen auf Projektebene aktivieren

OVER_PRIVILEGED_ACCOUNT

Dienstkonten mit minimalen Berechtigungen für GKE-Cluster verwenden

OVER_PRIVILEGED_SCOPES

GKE-Cluster mit eingeschränkten Dienstkonto-Zugriffsbereichen erstellen

OVER_PRIVILEGED_SERVICE_ACCOUNT_USER

Administratorrollen für Dienstkonten blockieren

OWNER_NOT_MONITORED

Nicht verfügbar

POD_SECURITY_POLICY_DISABLED

Nicht verfügbar

PRIMITIVE_ROLES_USED

Alte IAM-Rollen einschränken

PRIVATE_CLUSTER_DISABLED

Private Cluster für GKE aktivieren

PRIVATE_GOOGLE_ACCESS_DISABLED

Privaten Google-Zugriff für VPC-Subnetze aktivieren

PUBLIC_BUCKET_ACL

Öffentlichen Zugriff auf Cloud Storage-Buckets einschränken

PUBLIC_COMPUTE_IMAGE

Öffentlichen Zugriff auf Compute-Images einschränken

PUBLIC_DATASET

Öffentlichen Zugriff auf BigQuery-Datasets einschränken

PUBLIC_IP_ADDRESS

Öffentliche IP-Adressen auf Compute Engine-Instanzen beschränken

PUBLIC_LOG_BUCKET

Öffentlichen Zugriff auf Cloud Storage-Buckets einschränken

PUBLIC_SQL_INSTANCE

Öffentlichen Zugriff auf Cloud SQL-Datenbankinstanzen einschränken

PUBSUB_CMEK_DISABLED

Pub/Sub-Thema mit CMEK verschlüsseln

QL_LOG_STATEMENT_STATS_ENABLED

Flag „log_statement“ für PostgreSQL aktivieren

REDIS_ROLE_USED_ON_ORG

Nicht verfügbar

RELEASE_CHANNEL_DISABLED

GKE-Cluster für eine Release-Version registrieren

REQUIRE_OS_LOGIN_ORG_POLICY

OS Login aktivieren

REQUIRE_VPC_CONNECTOR_ORG_POLICY

Ausgehenden Traffic des VPC-Connectors für Cloud Run-Funktionen definieren

RESTRICT_AUTHORIZED_NETWORKS_ORG_POLICY

Einschränkung der Organisationsrichtlinie „Autorisierte Netzwerke auf Cloud SQL-Instanzen einschränken“ aktivieren

ROUTE_NOT_MONITORED

Logmesswerte und Benachrichtigungen für Änderungen an VPC-Routen konfigurieren

RSASHA1_FOR_SIGNING

RSASHA1 für DNSSEC-Signierung vermeiden

S3_BUCKET_ACCESS_LOGGING_ENABLED_CLOUDTRAIL_S3_BUCKET

Nicht verfügbar

S3_BUCKETS_CONFIGURED_BLOCK_PUBLIC_ACCESS_BUCKET_AND_ACCOUNT_SETTINGS

Nicht verfügbar

SERVICE_ACCOUNT_KEY_NOT_ROTATED

Rotation von Dienstkontoschlüsseln erzwingen

SERVICE_ACCOUNT_ROLE_SEPARATION

Aufgabentrennung erzwingen

SHIELDED_VM_DISABLED

Shielded VMs für Compute Engine-Instanzen aktivieren

SKIP_DEFAULT_NETWORK_CREATION_ORG_POLICY

Erstellung von Standardnetzwerken für Compute Engine-Instanzen einschränken

SQL_CMEK_DISABLED

CMEK für Cloud SQL-Datenbanken aktivieren

SQL_CONTAINED_DATABASE_AUTHENTICATION

Deaktivieren des Flags „Authentifizierung für eigenständige Datenbanken“ für SQL Server

SQL_CROSS_DB_OWNERSHIP_CHAINING

Deaktivieren des Flags „cross db ownership chaining“ für SQL Server

SQL_EXTERNAL_SCRIPTS_ENABLED

Flag „external scripts enabled“ für SQL Server deaktivieren

SQL_INSTANCE_NOT_MONITORED

Logmesswerte und Benachrichtigungen für Änderungen an der Cloud SQL-Konfiguration konfigurieren

SQL_LOCAL_INFILE

„local_infile“-Flag für MySQL deaktivieren

SQL_LOG_CHECKPOINTS_DISABLED

Flag „log_checkpoints“ für PostgreSQL aktivieren

SQL_LOG_CONNECTIONS_DISABLED

Flag „Log Connections“ für PostgreSQL aktivieren

SQL_LOG_DISCONNECTIONS_DISABLED

Flag „Log Disconnections“ für PostgreSQL aktivieren

SQL_LOG_DURATION_DISABLED

Flag „log_duration“ für PostgreSQL-Instanz aktivieren

SQL_LOG_ERROR_VERBOSITY

Flag für die Ausführlichkeit von Fehlermeldungen für PostgreSQL aktivieren

SQL_LOG_EXECUTOR_STATS_ENABLED

Flag „Log Executor Stats“ für PostgreSQL deaktivieren

SQL_LOG_HOSTNAME_ENABLED

Deaktivieren des Flags „Log Hostname“ für PostgreSQL

SQL_LOG_LOCK_WAITS_DISABLED

Das Flag „Log Locks Wait“ für die PostgreSQL-Instanz aktivieren

SQL_LOG_MIN_DURATION_STATEMENT_ENABLED

Flag „SQL Log Minimum Duration Statement Enabled“ für PostgreSQL deaktivieren

SQL_LOG_MIN_ERROR_STATEMENT_SEVERITY

Flag „Log Min Error Statement“ für PostgreSQL aktivieren

SQL_LOG_MIN_ERROR_STATEMENT_SEVERITY

Nicht verfügbar

SQL_LOG_MIN_MESSAGE

Flag „log_min_messages“ für PostgreSQL aktivieren

SQL_LOG_PARSER_STATS_ENABLED

Flag „Statistiken für Logparser“ für PostgreSQL deaktivieren

SQL_LOG_PLANNER_STATS_ENABLED

Flag „Log Planner Stats“ für PostgreSQL deaktivieren

SQL_LOG_STATEMENT

Flag „log_statement“ für PostgreSQL aktivieren

SQL_LOG_TEMP_FILES

Flag „Temporäre Dateien protokollieren“ für PostgreSQL-Instanz aktivieren

SQL_NO_ROOT_PASSWORD

Nicht verfügbar

SQL_PUBLIC_IP

Öffentliche IP-Adressen für Cloud SQL-Instanzen blockieren

SQL_REMOTE_ACCESS_ENABLED

Flag für den Remote-Zugriff für SQL Server deaktivieren

SQL_SCANNER

SSL-Verschlüsselung für AlloyDB-Instanzen aktivieren

SQL_SKIP_SHOW_DATABASE_DISABLED

Flag „skip_show_database“ für MySQL aktivieren

SQL_TRACE_FLAG_3625

Aktivieren des Datenbank-Flags „3625“ für SQL Server

SQL_USER_CONNECTIONS_CONFIGURED

Flag „user connections“ für SQL Server nicht verwenden

SQL_USER_OPTIONS_CONFIGURED

Das Flag „user options“ für SQL Server nicht verwenden

SQL_WEAK_ROOT_PASSWORD

Nicht verfügbar

SSL_NOT_ENFORCED

SSL für alle eingehenden Datenbankverbindungen erzwingen

TOO_MANY_KMS_USERS

Anzahl der Nutzer von KMS-Crypto-Schlüsseln auf drei beschränken

UNIFORM_BUCKET_LEVEL_ACCESS_ORG_POLICY

Einheitlichen Zugriff auf Bucket-Ebene für Cloud Storage-Buckets aktivieren

USER_MANAGED_SERVICE_ACCOUNT_KEY

Vom Nutzer verwaltete Dienstkontoschlüssel einschränken

VPC_FLOW_LOGS_SETTINGS_NOT_RECOMMENDED

Nicht verfügbar

WEAK_SSL_POLICY

Unsichere SSL-Richtlinien für Compute Engine-Instanzen einschränken

WEB_UI_ENABLED

Kubernetes-Web-UI nicht verwenden

WORKLOAD_IDENTITY_DISABLED

Workload Identity-Föderation für GKE in Clustern aktivieren

Nächste Schritte