Model Armor-Etageneinstellungen

In den Mindesteinstellungen für Model Armor werden Regeln definiert, die Mindestanforderungen für alle Model Armor-Vorlagen festlegen, die an einem bestimmten Punkt in der Google CloudRessourcenhierarchie (d. h. auf Organisations-, Ordner- oder Projektebene) erstellt werden. Wenn mehrere Mindesteinstellungen miteinander in Konflikt stehen, haben die Einstellungen auf niedrigeren Ebenen der Ressourcenhierarchie Vorrang. Wenn beispielsweise eine Richtlinie für die Mindestpreise auf Ordner- und Projektebene erstellt wird, wird die Richtlinie auf Projektebene angewendet.

Hier ist ein Beispiel dafür, wie eine Richtlinie für die Mindesteinstellung von Model Armor funktioniert. Die Mindestpreisrichtlinie X ist für einen Ordner festgelegt, für den der Filter für schädliche URLs aktiviert ist. Die Mindestrichtlinie Y wird für ein Projekt in diesem Ordner für den Filter zur Erkennung von Prompt Injections und Jailbreaks mit einem mittleren Konfidenzniveau festgelegt. Das Ergebnis ist, dass für jede im Projekt erstellte Model Armor-Vorlage mindestens der Filter für die Erkennung von Prompt-Injections und Jailbreaks mit einem mittleren Konfidenzschwellenwert festgelegt sein muss. Für eine Vorlage, die in einem anderen Ordner als dem übergeordneten Ordner dieses Projekts erstellt wurde, ist der Filter für schädliche URLs nicht erforderlich.

Mindesteinstellungen helfen CISOs und Sicherheitsarchitekten, in allen Model Armor-Vorlagen in ihrer Organisation ein Mindestsicherheitsniveau durchzusetzen. So wird verhindert, dass einzelne Entwickler versehentlich oder absichtlich Sicherheitsstandards unter ein akzeptables Niveau senken. Bei Kunden mit der Premium- oder Enterprise-Stufe von Security Command Center werden bei Verstößen gegen die Mindesteinstellung Ergebnisse ausgelöst. Wenn eine Vorlage vor einer Mindesteinstellung erstellt wird und die Vorlage weniger restriktive Einstellungen hat, wird in Security Command Center ein Ergebnis angezeigt, mit dem Sie weniger sichere Model Armor-Vorlagen identifizieren und beheben können.

Model Armor-Mindesteinstellungen aktivieren und deaktivieren

Um Model Armor-Mindesteinstellungen zu aktivieren, setzen Sie das Flag enable_floor_setting_enforcement auf true. Die folgenden Beispiele zeigen, wie das geht.

gcloud

  • Legen Sie den Model Armor-Endpunkt auf den globalen Endpunkt fest.

      gcloud config set api_endpoint_overrides/modelarmor "https://modelarmor.googleapis.com/"
    
  • Aktivieren Sie die Model Armor-Mindesteinstellungen für ein bestimmtes Projekt.

      gcloud model-armor floorsettings update \
       --full-uri='projects/PROJECT_ID/locations/global/floorSetting' \
       --enable-floor-setting-enforcement=true
    
  • Aktivieren Sie die Model Armor-Mindesteinstellungen für eine bestimmte Organisation.

      gcloud model-armor floorsettings update \
      --full-uri='organizations/ORGANIZATION_ID/locations/global/floorSetting' \
      --enable-floor-setting-enforcement=true
    
  • Aktivieren Sie die Model Armor-Mindesteinstellungen für einen bestimmten Ordner.

      gcloud model-armor floorsettings update \
      --full-uri='folders/FOLDER_ID/locations/global/floorSetting' \
      --enable-floor-setting-enforcement=true
    

    Ersetzen Sie Folgendes:

  • PROJECT_ID ist die ID des Projekts für die Vorlage.

  • FOLDER_ID ist die ID des Ordners für die Vorlage.

  • ORGANIZATION_ID ist die ID der Organisation für die Vorlage.

REST

  curl -X PATCH
  -d '{"enable_floor_setting_enforcement" : "true"}'
  -H "Content-Type: application/json"
  -H "Authorization: Bearer $(gcloud auth print-access-token)" "https://modelarmor.googleapis.com/v1/projects/PROJECT_ID/locations/global/floorSetting?update_mask=enable_floor_setting_enforcement"
  

Ersetzen Sie PROJECT_ID durch die ID des Projekts für die Vorlage.

Wenn Sie die Model Armor-Mindesteinstellungen nicht verwenden möchten, setzen Sie das Flag filter_config auf empty oder das Flag enable_floor_setting_enforcement auf false.

gcloud

    gcloud model-armor floorsettings get 
--full-uri='projects/PROJECT_ID/locations/global/floorSetting'
Flags --full-uri = name of the floor setting resource
--enable-floor-setting-enforcement=false
--filterConfig = {}

Ersetzen Sie PROJECT_ID durch die ID des Projekts für die Vorlage.

    curl -X PATCH 
-H "Content-Type: application/json"
-H "Authorization: Bearer $(gcloud auth print-access-token)"
-d '{"filterConfig" :{},"enable_floor_setting_enforcement":"false"}'
"https://modelarmor.googleapis.com/v1/projects/PROJECT_ID/locations/global/floorSetting"

Ersetzen Sie PROJECT_ID durch die ID des Projekts für die Vorlage.

Model Armor-Grundeinstellungen ansehen

Führen Sie den folgenden Befehl aus, um die Einstellungen für die Model Armor-Untergrenze aufzurufen.

gcloud

  • Die Model Armor-Mindesteinstellung für ein bestimmtes Projekt ansehen.

      gcloud model-armor floorsettings describe \
      --full-uri='projects/PROJECT_ID/locations/global/floorSetting'
  • Die Model Armor-Untergrenzeinstellung für eine bestimmte Organisation ansehen.

      gcloud model-armor floorsettings describe \
      --full-uri='organizations/ORGANIZATION_ID/locations/global/floorSetting'
  • Die Einstellung für die Untergrenze von Model Armor für einen bestimmten Ordner ansehen.

       gcloud model-armor floorsettings describe \
       --full-uri='folders/FOLDER_ID/locations/global/floorSetting'

    Ersetzen Sie Folgendes:

    • PROJECT_ID ist die ID des Projekts für die Vorlage.
    • FOLDER_ID ist die ID des Ordners für die Vorlage.
    • ORGANIZATION_ID ist die ID der Organisation für die Vorlage.

REST

  • Die Model Armor-Mindesteinstellung für ein bestimmtes Projekt ansehen.

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://modelarmor.googleapis.com/v1/projects/PROJECT_ID/locations/global/floorSetting"
  • Die Einstellung für die Untergrenze von Model Armor für einen bestimmten Ordner ansehen.

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://modelarmor.googleapis.com/v1/folders/FOLDER_ID/locations/global/floorSetting"
  • Die Model Armor-Untergrenzeinstellung für eine bestimmte Organisation ansehen.

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://modelarmor.googleapis.com/v1/organizations/ORGANIZATION_ID/locations/global/floorSetting"

Ersetzen Sie Folgendes:

  • PROJECT_ID ist die ID des Projekts für die Vorlage.
  • FOLDER_ID ist die ID des Ordners für die Vorlage.
  • ORGANIZATION_ID ist die ID der Organisation für die Vorlage.

Python

Um diesen Befehl auszuführen, müssen Sie zuerst einen Model Armor-Client in Python initialisieren.

  • Die Model Armor-Mindesteinstellung für ein bestimmtes Projekt ansehen.

    request = modelarmor_v1.GetFloorSettingRequest(
    floor_setting={
      "name": "projects/PROJECT_ID/locations/global/floorSetting",
    }
    )
    response = client.get_floor_setting(request=request)
  • Die Einstellung für die Untergrenze von Model Armor für einen bestimmten Ordner ansehen.

    request = modelarmor_v1.GetFloorSettingRequest(
    floor_setting={
      "name": "folders/FOLDER_ID/locations/global/floorSetting",
    }
    )
    response = client.get_floor_setting(request=request)
  • Die Model Armor-Untergrenzeinstellung für eine bestimmte Organisation ansehen.

    request = modelarmor_v1.GetFloorSettingRequest(
    floor_setting={
      "name": "organizations/ORGANIZATION_ID/locations/global/floorSetting",
    }
    )
    response = client.get_floor_setting(request=request)

    Ersetzen Sie Folgendes:

    • PROJECT_ID ist die ID des Projekts, zu dem die Vorlage gehört.
    • FOLDER_ID ist die ID des Ordners für die Vorlage.
    • ORGANIZATION_ID ist die ID der Organisation für die Vorlage.

Model Armor-Mindesteinstellungen aktualisieren

Führen Sie den folgenden Befehl aus, um die Einstellungen für Model Armor zu aktualisieren.

gcloud

   gcloud model-armor floorsettings update --full-uri=<full-uri-of-the-floorsetting>

Beispielbefehl:

       gcloud model-armor floorsettings update \
       --malicious-uri-filter-settings-enforcement=ENABLED \
       --pi-and-jailbreak-filter-settings-enforcement=DISABLED \
       --pi-and-jailbreak-filter-settings-confidence-level=LOW_AND_ABOVE \
       --basic-config-filter-enforcement=ENABLED \
       --add-rai-settings-filters='[{"confidenceLevel": "low_and_above", "filterType": "HARASSMENT"}, {"confidenceLevel": "high", "filterType": "SEXUALLY_EXPLICIT"}]'
       --full-uri='folders/FOLDER_ID/locations/global/floorSetting' \
       --enable-floor-setting-enforcement=true

Ersetzen Sie FOLDER_ID durch die ID des Ordners für die Vorlage.

REST

  • Aktualisieren Sie die Einstellung für die Mindeststufe von Model Armor für ein bestimmtes Projekt.

    curl -X PATCH -d '{"filterConfig" :{"piAndJailbreakFilterSettings": { "filterEnforcement": "ENABLED"}, "maliciousUriFilterSettings": { "filterEnforcement": "ENABLED" }, "rai_settings":{"rai_filters":{"filter_type":"DANGEROUS", "confidence_level":"LOW_AND_ABOVE" },
    "rai_filters":{"filter_type":"HATE_SPEECH", "confidence_level":"LOW_AND_ABOVE" }, "rai_filters":{"filter_type":"HARASSMENT", "confidence_level":"LOW_AND_ABOVE" }, "rai_filters":{"filter_type":"SEXUALLY_EXPLICIT", "confidence_level":"LOW_AND_ABOVE" }}},"enable_floor_setting_enforcement":"true"}' -H "Content-Type: application/json" -H "Authorization: Bearer $(gcloud auth print-access-token) "https://modelarmor.googleapis.com/v1/projects/PROJECT_ID/locations/global/floorSetting"
  • Aktualisieren Sie die Einstellung für die Model Armor-Untergrenze für einen bestimmten Ordner.

    curl -X PATCH \
    -d '{"filterConfig" :{"piAndJailbreakFilterSettings": { "filterEnforcement": "ENABLED"}, "maliciousUriFilterSettings": { "filterEnforcement": "ENABLED" }},"enable_floor_setting_enforcement":"true"}' \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      "https://modelarmor.googleapis.com/v1/folders/FOLDER_ID/locations/global/floorSetting"
  • Aktualisieren Sie die Mindesteinstellung für Model Armor für eine bestimmte Organisation.

    curl -X PATCH \
    -d '{"filterConfig" :{"piAndJailbreakFilterSettings": { "filterEnforcement": "ENABLED"}, "maliciousUriFilterSettings": { "filterEnforcement": "ENABLED" }},"enable_floor_setting_enforcement":"true"}' \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        "https://modelarmor.googleapis.com/v1/organizations/ORGANIZATION_ID/locations/global/floorSetting"

    Ersetzen Sie Folgendes:

    • PROJECT_ID ist die ID des Projekts für die Vorlage.
    • FOLDER_ID ist die ID des Ordners für die Vorlage.
    • ORGANIZATION_ID ist die ID der Organisation für die Vorlage.

    Der Aktualisierungsbefehl gibt die folgende Antwort zurück:

    {
    "name": "projects/PROJECT_ID/locations/global/floorSetting",
    "updateTime": "2024-12-19T15:36:21.318191Z",
    "filterConfig": {
    "piAndJailbreakFilterSettings": {
      "filterEnforcement": "ENABLED"
    },
    "maliciousUriFilterSettings": {
    "filterEnforcement": "ENABLED"
    }
    }
    }

Python

Um diesen Befehl auszuführen, müssen Sie zuerst einen Model Armor-Client in Python initialisieren.

  • Aktualisieren Sie die Einstellung für die Mindeststufe von Model Armor für ein bestimmtes Projekt.

    request = modelarmor_v1.UpdateFloorSettingRequest(
    floor_setting={
      "name": "projects/PROJECT_ID/locations/global/floorSetting",
      "filter_config": FILTER_CONFIG,
      "enable_floor_setting_enforcement": True
    }
    )
    response = client.update_floor_setting(request=request)
  • Aktualisieren Sie die Einstellung für die Model Armor-Untergrenze für einen bestimmten Ordner.

    request = modelarmor_v1.UpdateFloorSettingRequest(
    floor_setting={
      "name": "folders/FOLDER_ID/locations/global/floorSetting",
      "filter_config": FILTER_CONFIG
      "enable_floor_setting_enforcement": True
    }
    )
    response = client.update_floor_setting(request=request)
  • Aktualisieren Sie die Mindesteinstellung für Model Armor für eine bestimmte Organisation.

    request = modelarmor_v1.UpdateFloorSettingRequest(
    floor_setting={
      "name": "organizations/ORGANIZATION_ID/locations/global/floorSetting",
      "filter_config": FILTER_CONFIG
      "enable_floor_setting_enforcement": True
    }
    )
    response = client.update_floor_setting(request=request)

    Ersetzen Sie Folgendes:

  • FILTER_CONFIG ist die Filterkonfiguration für die Vorlage.

  • PROJECT_ID ist die ID des Projekts, zu dem die Vorlage gehört.

  • FOLDER_ID: die ID des Ordners für die Vorlage.

  • ORGANIZATION_ID ist die ID der Organisation für die Vorlage.

Verstoß gegen die Mindesteinstellungen

Jedes Ergebnis des Model Armor-Dienstes weist auf einen Verstoß gegen die Mindesteinstellungen hin, der auftritt, wenn eine Model Armor-Vorlage die Mindestsicherheitsstandards nicht erfüllt, die durch die Mindesteinstellungen der Ressourcenhierarchie definiert sind. Mit Mindesteinstellungen wird das niedrigste zulässige Niveau für jeden Filter in einer Vorlage festgelegt. Ein Verstoß gegen die Mindesteinstellung kann vorliegen, wenn eine Vorlage nicht die erforderlichen Filter enthält oder das Mindestkonfidenzniveau für diese Filter nicht erreicht wird. Wenn ein Verstoß erkannt wird, wird ein Ergebnis mit hoher Schwere in Security Command Center veröffentlicht. Im Ergebnis werden die verletzte Mindesteinstellung, die nicht konforme Vorlage und Details zum Verstoß angegeben. Weitere Informationen finden Sie unter Ergebnisse des Model Armor-Dienstes.

Dies ist ein Beispiel für das Feld „source_properties“ des Ergebnisses bei einem Verstoß gegen die Etagenkonfiguration.

{
  "filterConfig": {
    "raiSettings": {
      "raiFilters": [
        {
          "filterType": "HATE_SPEECH",
          "confidenceLevel": {
            "floorSettings": "LOW_AND_ABOVE",
            "template": "MEDIUM_AND_ABOVE"
          }
        },
        {
          "filterType": "HARASSMENT",
          "confidenceLevel": {
            "floorSettings": "MEDIUM_AND_ABOVE",
            "template": "HIGH"
          }
        }
      ]
    },
    "piAndJailbreakFilterSettings": {
      "confidenceLevel": {
        "floorSettings": "LOW_AND_ABOVE",
        "template": "HIGH"
      }
    },
    "maliciousUriFilterSettings": {
      "floorSettings": "ENABLED",
      "template": "DISABLED"
    }
  }
}

Nächste Schritte