Cloud-Kontrollen verwalten

Der Compliance Manager enthält viele integrierte Cloud-Kontrollen, die Sie zu 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 erledigen.

Berechtigungen einrichten

Google Cloud CLI einrichten

Installieren Sie die Google Cloud CLI und melden Sie sich dann mit Ihrer föderierten Identität in der gcloud CLI an. Nach der Anmeldung initialisieren Sie die Google Cloud CLI mit dem folgenden Befehl:

gcloud init

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-Kontrollen und alle benutzerdefinierten Cloud-Kontrollen 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 darüber, welche Frameworks die Cloud-Steuerung enthalten, und die Anzahl der Ressourcen (Organisation, Ordner und Projekte), auf die die Cloud-Steuerung angewendet wird.

  4. Klicken Sie auf den Namen des Cloud-Steuerelements, um Details dazu aufzurufen.

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

Führen Sie den Befehl gcloud compliance-manager cloud-controls describe aus, um Details zu einer bestimmten Cloud-Kontrolle aufzurufen:

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 der Cloud-Kontrolle

  • ORGANIZATION: Ihre Organisations-ID.

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

  • MAJOR_REVISION_ID ist ein optionales Flag, das angibt, welche Version der Cloud-Steuerung angezeigt werden soll. Wenn Sie das Flag nicht angeben, wird die aktuelle Version zurückgegeben.

Wenn Sie beispielsweise eine Cloud-Steuerung mit dem Namen builtin-block-external-ip-addresses-for-vm-access und der Hauptversionsnummer 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-Kontrollen in der Organisation 3589215982 aufrufen möchten, die am globalen Standort gespeichert sind, führen Sie folgenden Befehl 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 im Cloud Asset Inventory an.

Console

In der Console können Sie benutzerdefinierte Cloud-Steuerelemente mit einer Regel erstellen, die für einen Cloud Asset Inventory-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, entweder mit Gemini oder manuell:

Gemini verwenden

  1. Gemini auffordern, eine Cloud-Kontrolle für Sie zu generieren Basierend auf Ihrem Prompt stellt Gemini eine eindeutige Kennung, einen Namen, die zugehörige Erkennungslogik und mögliche Abhilfemaßnahmen bereit.

  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 Kontrolle an.

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

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

  4. Wählen Sie einen verfügbaren Ressourcentyp für Ihre benutzerdefinierte Cloud-Richtlinie 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-Steuerelemente schreiben. Klicken Sie auf Weiter.

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

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

  7. Schreiben Sie Ihre Anweisungen zur Problembehebung so, dass Incident Responder und Administratoren in Ihrer Organisation alle Ergebnisse für die Cloud-Steuerung beheben können. Klicken Sie auf Weiter.

  8. Überprüfen Sie Ihre Eingaben 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 menschenlesbarer 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-Kontrolle 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 die Cloud-Kontrolle eine kontrollierte Ausgabe generiert.

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

    sind die optionalen Parameterinformationen für die Cloud-Kontrolle im folgenden Format:

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

    • DESCRIPTION: eine optionale Beschreibung des Steuerelements

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

    • NAME: der Name des Parameters

    • SUBSTITUTIONRULES: wie und wo der Compliance Manager den benutzerdefinierten Wert für den Parameter einfügt. Geben Sie den Zielpfad innerhalb der Regel mit einer 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 strukturelles Feld Ihrer Regel einfügen möchten (z. B. um eine Liste eingeschränkter Werte in einer Regelvorlage für Einschränkungen von Organisationsrichtlinien zu füllen).

      • placeholderSubstitutionRule, wenn Ihre Regel einen Textstring (oder CEL-Ausdruck) verwendet. Der String muss eine Platzhaltervariable mit dem Präfix $ enthalten (z. B. $deniedServices). Diese Regel weist den Compiler an, den Parameter diesem Platzhalter zuzuordnen.

      Im folgenden Beispiel wird ein Listenparameter mit dem Namen deniedServices und dem 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 der zulässige Satz von Werten. Wählen Sie eine der folgenden Optionen aus:

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

      • Verwenden Sie intRange, um numerische Grenzen für Ganzzahlen zu erzwingen. Legen Sie beispielsweise eine Aufbewahrungsdauer zwischen 1 und 365 fest: validation={intRange={min=1,max=365}}

      • Verwenden Sie regexpPattern, um den Abgleich regulärer Ausdrücke für Stringtext zu erzwingen, z. B. um eine strikte 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 Werttypen 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 JSON- und YAML-Beispieldateien anzusehen.

    JSON-Beispieldatei

      [
        {
          "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 zur Behebung von Ergebnissen erforderlich sind. 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 die Regel ausführt. Unterstützte Werte sind rule-action-type-detective, rule-action-type-preventive und rule-action-type-audit.

    Wenn Sie beispielsweise den Rotationszeitraum für Cloud Key Management Service-Schlüssel 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). Erweitern Sie den folgenden Abschnitt, um JSON- und YAML-Beispieldateien anzusehen.

    JSON-Beispieldatei

      [
        {
          "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 für Anwendungsverwaltung konfigurierter Ordner in App Hub), die die Cloud-Steuerung unterstützt. Unterstützte Werte sind target-resource-crm-type-folder, target-resource-crm-type-org, target-resource-crm-type-project und target-resource-type-application.

Führen Sie beispielsweise den folgenden Befehl aus, um eine Cloud-Steuerung zu erstellen, die Ressourcenstandorte erzwingt:

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

Wenn Sie dieselbe Kontrolle erstellen, aber YAML-Dateien zum Definieren der Parameter und Regeln verwenden möchten, führen Sie Folgendes 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=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.

Im folgenden Beispiel wird gezeigt, wie Sie mit Terraform eine benutzerdefinierte Cloud-Steuerung erstellen können.

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
        }
      }
    }
  }
}

Benutzerdefinierte Cloud-Kontrolle bearbeiten

Nachdem Sie eine Cloud-Richtlinie 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-Kontrolle 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 das Cloud-Steuerelement, das 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 bei Bedarf das Framework, um die Cloud-Kontrolle 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, den Schweregrad des Ergebnisses und die Abhilfemaßnahmen. Klicken Sie auf Weiter.

  9. Überprüfen Sie Ihre Änderungen und klicken Sie auf Speichern.

Integrierte Cloud-Steuerung auf eine neuere Version aktualisieren

Google veröffentlicht regelmäßig Updates für seine integrierten Cloud-Steuerelemente, wenn Dienste neue Funktionen bereitstellen oder neue Best Practices entstehen. Aktualisierungen können neue Steuerelemente oder Änderungen an vorhandenen Steuerelementen umfassen.

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

Wenn Sie eine Cloud-Steuerung aktualisieren möchten, nachdem Sie eine Benachrichtigung erhalten haben, müssen Sie die bereitgestellten Frameworks aktualisieren, die die Cloud-Steuerung enthalten. Eine Anleitung finden Sie unter Integriertes Framework auf eine neuere Version aktualisieren.

Benutzerdefinierte Cloud-Kontrolle löschen

Löschen Sie eine Cloud-Steuerung, wenn sie nicht mehr benötigt wird. Sie können nur Cloud-Kontrollen löschen, die Sie selbst erstellt haben. Integrierte Cloud-Steuerelemente 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 bei Bedarf das Framework, um die Cloud-Kontrolle zu entfernen.

  6. Klicken Sie auf Löschen.

  7. Lesen Sie die Nachricht im Fenster Löschen. Geben Sie Delete ein und klicken Sie auf Bestätigen.

Befehlszeile

Führen Sie den Befehl gcloud compliance-manager cloud-controls delete aus, um eine benutzerdefinierte Cloud-Steuerung zu löschen:

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

Ersetzen Sie die folgenden Werte:

  • CLOUD_CONTROL: der Name der Cloud-Kontrolle

  • 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 den folgenden Befehl 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 die Cloud-Steuerelemente des Compliance Managers den Security Health Analytics-Detektoren zugeordnet werden.

Adressen

Adressen

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

ACCESS_TRANSPARENCY_DISABLED

Access Transparency aktivieren

ADMIN_SERVICE_ACCOUNT

Administratorrollen für Dienstkonten blockieren

ALLOWED_INGRESS_ORG_POLICY

Einschränkung der Organisationsrichtlinie „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 Logs für AlloyDB-Instanzen 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

ALLOYDB_SSL_NOT_ENFORCED

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

ALPHA_CLUSTER_ENABLED

Alphafunktionen in GKE-Clustern deaktivieren

API_KEY_APIS_UNRESTRICTED

API-Schlüssel auf erforderliche APIs beschränken

API_KEY_APPS_UNRESTRICTED

Anwendungseinschränkung für API-Schlüssel festlegen

API_KEY_EXISTS

API-Schlüssel erforderlich

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

Ereignis-Logging 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

Automatische Upgrades 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 auf 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

Benutzerdefinierte Organisationsrichtlinie erzwingen

CUSTOM_ROLE_NOT_MONITORED

Log-Messwerte und Benachrichtigungen für Änderungen an benutzerdefinierten Rollen konfigurieren

DATAPROC_CMEK_DISABLED

CMEK für Dataproc-Cluster erforderlich machen

DATAPROC_IMAGE_OUTDATED

Aktuelle 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 „Logging des seriellen VM-Ports in Stackdriver deaktivieren“ konfigurieren

DISK_CMEK_DISABLED

CMEK auf Compute Engine Persistent Disks aktivieren

DISK_CSEK_DISABLED

CSEK auf Compute Engine Persistent Disks aktivieren

DNS_LOGGING_DISABLED

Monitoring von Cloud DNS-Logs 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

Log-Messwerte und Benachrichtigungen für Änderungen an VPC-Netzwerk-Firewalls konfigurieren

FIREWALL_RULE_LOGGING_DISABLED

Firewallregel-Logging aktivieren

FLOW_LOGS_DISABLED

Subnetz-Flusslogs aktivieren

FULL_API_ACCESS

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

HTTP_LOAD_BALANCER

Nur HTTPS-Traffic erzwingen

INSTANCE_OS_LOGIN_DISABLED

OS Login auf Compute Engine-Instanzen erforderlich machen

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 auf 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

Öffentlichen Zugriff auf Cloud KMS-Schlüssel blockieren

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

Keine Legacy-Netzwerke verwenden

LOAD_BALANCER_LOGGING_DISABLED

Load-Balancer-Logging aktivieren

LOCKED_RETENTION_POLICY_NOT_SET

Aufbewahrungsrichtlinien für Storage-Buckets sperren

LOG_NOT_EXPORTED

Logsenken konfigurieren

MASTER_AUTHORIZED_NETWORKS_DISABLED

Autorisierte Netzwerke auf Steuerungsebene in GKE-Clustern aktivieren

MFA_NOT_ENFORCED

Bestätigung in zwei Schritten erzwingen

NETWORK_NOT_MONITORED

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

NETWORK_POLICY_DISABLED

Netzwerkrichtlinien für GKE-Cluster aktivieren

NODEPOOL_BOOT_CMEK_DISABLED

CMEK auf GKE-Knotenpool-Bootlaufwerken aktivieren

NODEPOOL_SECURE_BOOT_DISABLED

Secure Boot für Shielded GKE-Knoten aktivieren

NON_ORG_IAM_MEMBER

IAM-Berechtigungen für externe Nutzer blockieren

OBJECT_VERSIONING_DISABLED

Objektversionsverwaltung für Buckets aktivieren

OPEN_CASSANDRA_PORT

Generischen Zugriff auf Cassandra-Ports blockieren

OPEN_CISCOSECURE_WEBSM_PORT

Generischen Zugriff auf CiscoSecure/WebSM-Ports blockieren

OPEN_DIRECTORY_SERVICES_PORT

Generischen Zugriff auf Verzeichnisdienst-Ports blockieren

OPEN_DNS_PORT

Generischen Zugriff auf DNS-Ports von allen IP-Adressen blockieren

OPEN_ELASTICSEARCH_PORT

Generischen Zugriff auf Elasticsearch-Ports von allen IP-Adressen blockieren

OPEN_FIREWALL

Zu moderate Firewallregeln blockieren

OPEN_FTP_PORT

Generischen Zugriff auf FTP-Ports blockieren

OPEN_GROUP_IAM_MEMBER

Offene Google Groups-Konten einschränken

OPEN_HTTP_PORT

Generischen Zugriff auf HTTP-Ports blockieren

OPEN_LDAP_PORT

Generischen Zugriff auf LDAP-Ports blockieren

OPEN_MEMCACHED_PORT

Generischen Zugriff auf Memcached-Ports blockieren

OPEN_MONGODB_PORT

Generischen Zugriff auf MongoDB-Ports blockieren

OPEN_MYSQL_PORT

Allgemeinen Zugriff auf MySQL-Ports blockieren

OPEN_NETBIOS_PORT

Generischen Zugriff auf NetBIOS-Ports von allen IP-Adressen blockieren

OPEN_ORACLEDB_PORT

Generischen Zugriff auf Oracle-Datenbankports blockieren

OPEN_POP3_PORT

Generischen Zugriff auf POP3-Serverports blockieren

OPEN_POSTGRESQL_PORT

Generischen Zugriff auf PostgreSQL-Serverports von allen IP-Adressen blockieren

OPEN_RDP_PORT

Generischen Zugriff auf RDP-Port blockieren

OPEN_REDIS_PORT

Generischen Zugriff auf Redis-Serverports von allen IP-Adressen blockieren

OPEN_SMTP_PORT

Generischen Zugriff auf SMTP-Serverports blockieren

OPEN_SSH_PORT

Generischen Zugriff auf SSH-Port blockieren

OPEN_TELNET_PORT

Generischen Zugriff auf Telnet-Serverports blockieren

ORG_POLICY_CONFIDENTIAL_VM_POLICY

Einschränkung der Organisationsrichtlinie für Confidential VMs aktivieren

ORG_POLICY_LOCATION_RESTRICTION

Standorteinschränkung erzwingen

OS_LOGIN_DISABLED

OS Login für alle Instanzen auf Projektebene aktivieren

OVER_PRIVILEGED_ACCOUNT

Dienstkonten mit geringsten Berechtigungen für GKE-Cluster verwenden

OVER_PRIVILEGED_SCOPES

GKE-Cluster mit eingeschränkten Berechtigungen erstellen

OVER_PRIVILEGED_SERVICE_ACCOUNT_USER

Administratorrollen für Dienstkonten blockieren

OWNER_NOT_MONITORED

Logmesswerte und Benachrichtigungen für Zuweisungen und Änderungen der Rolle „Project Owner“ konfigurieren

POD_SECURITY_POLICY_DISABLED

PodSecurityPolicies für GKE-Cluster aktivieren

PRIMITIVE_ROLES_USED

Legacy-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

REDIS_ROLE_USED_ON_ORG

Redis-Rolle auf Projektebene zuweisen

RELEASE_CHANNEL_DISABLED

GKE-Cluster für eine Release-Version abonnieren

REQUIRE_OS_LOGIN_ORG_POLICY

OS Login aktivieren

REQUIRE_VPC_CONNECTOR_ORG_POLICY

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

RESTRICT_AUTHORIZED_NETWORKS_ORG_POLICY

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

ROUTE_NOT_MONITORED

Log-Messwerte und Benachrichtigungen für VPC-Routenänderungen 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

Schlüsselrotation für Dienstkonten erforderlich machen

SERVICE_ACCOUNT_ROLE_SEPARATION

Aufgabentrennung erzwingen

SHIELDED_VM_DISABLED

Shielded VM für Compute Engine-Instanzen aktivieren

SKIP_DEFAULT_NETWORK_CREATION_ORG_POLICY

Erstellung des Standardnetzwerks für Compute Engine-Instanzen einschränken

SQL_CMEK_DISABLED

CMEK für Cloud SQL-Datenbanken aktivieren

SQL_CONTAINED_DATABASE_AUTHENTICATION

Flag „contained database authentication“ für SQL Server deaktivieren

SQL_CROSS_DB_OWNERSHIP_CHAINING

Flag „cross db ownership chaining“ für SQL Server deaktivieren

SQL_EXTERNAL_SCRIPTS_ENABLED

Flag „external scripts“ für SQL Server deaktivieren

SQL_INSTANCE_NOT_MONITORED

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

SQL_LOCAL_INFILE

Flag „Local Infile“ 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 Fehlerprotokollen für PostgreSQL aktivieren

SQL_LOG_EXECUTOR_STATS_ENABLED

Flag „Log Executor Stats“ für PostgreSQL deaktivieren

SQL_LOG_HOSTNAME_ENABLED

Flag „Log Hostname“ für PostgreSQL deaktivieren

SQL_LOG_LOCK_WAITS_DISABLED

Flag „log_lock_waits“ für PostgreSQL-Instanz aktivieren

SQL_LOG_MIN_DURATION_STATEMENT_ENABLED

Flag „log_min_duration_statement“ für PostgreSQL deaktivieren

SQL_LOG_MIN_ERROR_STATEMENT

Flag „log_min_error_statement“ für PostgreSQL aktivieren

SQL_LOG_MIN_ERROR_STATEMENT_SEVERITY

Flag „log_min_error_statement“ für PostgreSQL aktivieren

SQL_LOG_MIN_MESSAGE

Flag „Log Min Messages“ für PostgreSQL aktivieren

SQL_LOG_PARSER_STATS_ENABLED

Log-Parser-Statistik-Flag für PostgreSQL deaktivieren

SQL_LOG_PLANNER_STATS_ENABLED

Flag „Log Planner Stats“ für PostgreSQL deaktivieren

SQL_LOG_STATEMENT

Flag für Log-Anweisungen für PostgreSQL aktivieren

SQL_LOG_STATEMENT_STATS_ENABLED

Flag für Logberichtstatistiken für PostgreSQL deaktivieren

SQL_LOG_TEMP_FILES

Flag „Log Temp Files“ für PostgreSQL-Instanz aktivieren

SQL_NO_ROOT_PASSWORD

Passwort für MySQL-Datenbank erzwingen

SQL_PUBLIC_IP

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

SQL_REMOTE_ACCESS_ENABLED

Flag „remote access“ für SQL Server deaktivieren

SQL_SKIP_SHOW_DATABASE_DISABLED

Datenbank-Flag „skip_show_database“ für MySQL aktivieren

SQL_TRACE_FLAG_3625

Datenbank-Flag „3625 (Trace-Flag)“ für SQL Server aktivieren

SQL_USER_CONNECTIONS_CONFIGURED

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

SQL_USER_OPTIONS_CONFIGURED

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

SQL_WEAK_ROOT_PASSWORD

Starke Passwörter für Cloud SQL-Instanzen erzwingen

SSL_NOT_ENFORCED

SSL für alle eingehenden Datenbankverbindungen erzwingen

TOO_MANY_KMS_USERS

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

UNIFORM_BUCKET_LEVEL_ACCESS_ORG_POLICY

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

USER_MANAGED_SERVICE_ACCOUNT_KEY

Vom Nutzer verwaltete Dienstkontoschlüssel einschränken

VPC_FLOW_LOGS_SETTINGS_NOT_RECOMMENDED

Flusslogs für VPC-Subnetz aktivieren

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