Mindesteinstellungen konfigurieren

In diesem Dokument wird beschrieben, wie Sie Model Armor-Mindesteinstellungen aufrufen und aktualisieren. Außerdem wird ein Beispiel für einen Verstoß gegen eine Mindesteinstellung gezeigt.

Mindesteinstellungen dienen zwei Hauptzwecken:

  • Vorlagenkonformität: Neue Vorlagen müssen mindestens so restriktiv sein wie die in den Mindesteinstellungen definierten Vorlagen. Die Vorlagenkonformität wird auf Organisations- und Ordnerebene definiert.

  • Inline-Erzwingung: Model Armor-Schutzmaßnahmen auf Gemini-Modelle und Google Cloud-MCP-Server anwenden. Die Inline-Erzwingung wird auf Projektebene konfiguriert. Wenn Sie Floor-Einstellungen für die Inline-Erzwingung verwenden, muss jede Vorlage, die Sie im Projekt erstellen, diesen Floor-Einstellungen entsprechen.

Wann sollten Mindesteinstellungen verwendet werden?

Im Folgenden sind einige gängige Anwendungsfälle aufgeführt:

  • Vorlagen-Compliance erzwingen und Richtlinien-Regress verhindern: Definieren Sie Mindestfilterschwellenwerte auf Organisations-, Ordner- oder Projektebene, um sicherzustellen, dass neu erstellte und aktualisierte Vorlagen Ihren Sicherheitsstandards entsprechen und den Schutz nicht unter die festgelegten Mindestwerte senken können.
  • Inline-Erzwingung für Modelle und Tools aktivieren: Unterstützte Gemini-Modelle und Google Cloud Remote-MCP-Server auf Projektebene schützen, ohne den Anwendungscode zu ändern.
  • Dezentrale Teamkonfigurationen verwalten: Erlauben Sie autonomen Projektteams, benutzerdefinierte Vorlagen zu erstellen, und stellen Sie gleichzeitig sicher, dass ihre Einstellungen den Governance-Richtlinien der Organisation entsprechen.

Hinweis

Führen Sie zuerst die folgenden Aufgaben aus.

Erforderliche Berechtigungen einholen

Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Model Armor Floor Setting Admin (roles/modelarmor.floorSettingsAdmin) für Model Armor-Mindesteinstellungen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Verwalten von Mindesteinstellungen benötigen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

APIs aktivieren

Sie müssen die Model Armor API aktivieren, bevor Sie Model Armor verwenden können.

Console

  1. Aktivieren Sie die Model Armor API, falls sie noch nicht aktiviert ist.

    Erforderliche Rollen zum Aktivieren von APIs

    Zum Aktivieren von APIs benötigen Sie die Berechtigung serviceusage.services.enable. Wenn Sie das Projekt erstellt haben, haben Sie diese Berechtigung wahrscheinlich bereits über die Inhaberrolle (roles/owner). Andernfalls können Sie diese Berechtigung über die Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin) erhalten. Informationen zum Zuweisen von Rollen

    API aktivieren

  2. Wählen Sie das Projekt aus, in dem Sie Model Armor aktivieren möchten.

gcloud

Führen Sie die folgenden Schritte mit der Google Cloud CLI und der Model Armor API aus, bevor Sie beginnen:

  1. 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.

  2. Aktivieren Sie die Model Armor API, falls sie noch nicht aktiviert ist:

    Erforderliche Rollen zum Aktivieren von APIs

    Zum Aktivieren von APIs benötigen Sie die Berechtigung serviceusage.services.enable. Wenn Sie das Projekt erstellt haben, haben Sie diese Berechtigung wahrscheinlich bereits über die Inhaberrolle (roles/owner). Andernfalls können Sie diese Berechtigung über die Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin) erhalten. Informationen zum Zuweisen von Rollen

    gcloud services enable modelarmor.googleapis.com

  3. API-Endpunktüberschreibung mit der gcloud CLI festlegen

API-Endpunktüberschreibung mit der gcloud CLI festlegen

Dieser Schritt ist nur erforderlich, wenn Sie die gcloud CLI mit Model Armor verwenden und eine andere Region oder Multiregion als die standardmäßige Multiregion us verwenden möchten. Sie müssen die API-Endpunktüberschreibung manuell festlegen, damit die gcloud CLI Anfragen korrekt an den Model Armor-Dienst weiterleitet.

Führen Sie den folgenden Befehl aus, um den globalen API-Endpunkt zu verwenden:

gcloud config set api_endpoint_overrides/modelarmor "https://modelarmor.googleapis.com/"

Anwendung der Mindesteinstellungen

Lokale Einstellungen werden immer angewendet. Wenn beispielsweise Mindesteinstellungen miteinander in Konflikt stehen, haben die Einstellungen, die in der Ressourcenhierarchie weiter unten stehen, Vorrang. Ebenso überschreiben Mindesteinstellungen auf Projektebene widersprüchliche Mindesteinstellungen auf Ordnerebene.

In der folgenden Tabelle sehen Sie, wie Mindestpreiseinstellungen auf verschiedenen Ebenen angewendet werden:

Ebene der Mindesteinstellungen Anwendung
Organisationsebene Gilt für alles innerhalb der Organisation.
Ordnerebene Gilt für alle Projekte in diesem Ordner.
Projektebene Gilt nur für dieses eine Projekt.

Im folgenden Beispielszenario wird veranschaulicht, wie Mindestpreiseinstellungen angewendet werden, wenn sie auf verschiedenen Ebenen festgelegt sind. Angenommen, Sie legen die Mindesteinstellungen so fest:

  • Grundlegende Einstellungen auf Ordnerebene (weniger spezifisch): Für alle Inhalte in diesem Ordner muss ein Filter für schädliche URIs aktiviert sein.
  • Mindesteinstellungen auf Projektebene (spezifischer): Ihr Projekt im Ordner muss die Erkennung von Prompt Injection und Jailbreaking mit mittlerer Konfidenz verwenden.

In diesem Szenario führen die Einstellungen zu Folgendem:

  • Jede Vorlage, die Sie in Ihrem Projekt erstellen, muss den Filter für die Erkennung von Prompt Injection und Jailbreak enthalten, da die Einstellungen auf Projektebene immer Vorrang vor den Einstellungen auf Ordnerebene haben.

  • Eine Vorlage, die in einem anderen Projekt oder Ordner erstellt wurde, ist von der Filterregel für schädliche URIs aus dem ersten Ordner nicht betroffen.

Mindestpreiseinstellungen gelten nur innerhalb ihrer spezifischen Ebene in der Hierarchie, es sei denn, sie werden auf Organisationsebene festgelegt. In diesem Fall gelten sie für die gesamte Organisation.

Konformität von Vorlagen und Mindesteinstellungen

Wenn eine Model Armor-Vorlage erstellt oder aktualisiert wird, prüft Model Armor, ob die Konfiguration der Vorlage den Mindesteinstellungen entspricht. Sie können keine Vorlage erstellen oder aktualisieren, die weniger streng ist als die Mindesteinstellungen.

Sie können Mindesteinstellungen auf Organisations-, Ordner- und Projektebene festlegen. Die Benutzeroberfläche ist nur auf Projektebene verfügbar und ermöglicht es Ihnen, Einstellungen auf Organisations- oder Ordnerebene zu übernehmen. Wenn Sie Mindestpreise auf Organisations- oder Ordnerebene festlegen möchten, müssen Sie die API verwenden.

Mit der Vorlagenkonformität werden Vorlagenkonfigurationen validiert. Bei der Datenprüfung werden die in einer konformen Vorlage definierten Konfigurationen verwendet, um Prompts oder Antworten während der Laufzeit zu analysieren. In der folgenden Tabelle wird beschrieben, wie Vorlagenkonformität und Datenprüfung auf Vorlagen und Mindestpreiseinstellungen angewendet werden.

Häkchen Mindesteinstellungen Vorlagen
Vorlagenkonformität Die Konfiguration erfolgt auf Organisations-, Ordner- oder Projektebene.

Hinweis: Sensitive Data Protection kann so konfiguriert werden, dass Datensicherheitsrichtlinien für die Vorlagen erzwungen werden. Die Vorlagenkonformität wird jedoch nicht validiert.

Wird nur auf Projektebene konfiguriert.
Datenprüfung Wird nur auf Projektebene im Prüf- und Blockiermodus erzwungen. Erzwungen mit der REST API, Diensterweiterungen, Gemini Enterprise und Agent Runtime.

Einbindung in die Gemini Enterprise Agent Platform und Google Cloud-MCP-Server

Model Armor lässt sich in die Agent Platform und Google Cloud-MCP-Server einbinden, um Anfragen und Antworten von Gemini-Modellen und Remote-MCP-Servern vonGoogle Cloud anhand der von Ihnen definierten Mindesteinstellungen zu prüfen. Sie müssen Cloud Logging aktivieren, um Prompts und Antworten aufzurufen. Weitere Informationen finden Sie unter Model Armor-Integration in die Gemini Enterprise Agent Platform und Model Armor-Integration in Google Cloud MCP-Server.

Filterversionen für Mindesteinstellungen

Für die Einstellungen für Mindestpreise wird standardmäßig die Stable-Filterversion verwendet. In der folgenden Liste wird beschrieben, wie Filterversionen mit den einzelnen Integrationen funktionieren:

Mindesteinstellungen konfigurieren

Konfigurieren Sie die Mindesteinstellungen, um die Mindestschwellenwerte für die Erkennung für Model Armor-Vorlagen festzulegen. Diese Einstellungen sorgen dafür, dass alle neuen und geänderten Vorlagen bestimmte Anforderungen erfüllen.

Wählen Sie eine der folgenden Optionen aus, um die Einstellungen für die Etagen zu konfigurieren:

Console

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

    Zu Model Armor

  2. Wählen Sie ein Projekt aus.
  3. Rufen Sie auf der Seite Model Armor den Tab Mindesteinstellungen auf und klicken Sie auf Mindesteinstellungen konfigurieren.
  4. Wählen Sie auf der Seite Mindestpreise konfigurieren die Konfigurationsoption aus.
  5. Konfigurieren Sie im Abschnitt Erkennungen die Erkennungseinstellungen.
  6. Optional: Wenn Sie die Sensitive Data Protection-Erkennung auswählen, konfigurieren Sie die Sensitive Data Protection-Einstellungen.
  7. Legen Sie im Abschnitt Verantwortungsbewusste Anwendung von KI das Konfidenzniveau für jeden Inhaltsfilter fest.

  8. Wählen Sie im Abschnitt Dienste die Dienste aus, für die diese Mindesteinstellungen gelten.

  9. Wählen Sie im Bereich Logs die Option Cloud Logging aktivieren aus, um alle Nutzer-Prompts, Modellantworten und die Ergebnisse des Detektors für Mindesteinstellungen zu protokollieren.

  10. Wählen Sie Unterstützung mehrerer Sprachen aktivieren aus, um die Einstellungen für die Erkennung mehrerer Sprachen zu verwenden.

  11. Klicken Sie auf Mindestpreiseinstellungen speichern.

Terraform

Wenn Sie Mindestsicherheitsschwellenwerte für eine gesamte Organisation, einen Ordner oder eine Projekthierarchie deklarativ erzwingen möchten, konfigurieren Sie die Ressource google_model_armor_floorsetting mit dem google-Anbieter (>= 6.13.0):

resource "google_model_armor_floorsetting" "floor_setting" {
  parent   = RESOURCE_PARENT
  location = "global"

  filter_config {
    rai_settings {
      rai_filters {
        filter_type      = "HATE_SPEECH"
        confidence_level = "MEDIUM_AND_ABOVE"
      }
      rai_filters {
        filter_type      = "HARASSMENT"
        confidence_level = "HIGH"
      }
      rai_filters {
        filter_type      = "DANGEROUS"
        confidence_level = "MEDIUM_AND_ABOVE"
      }
      rai_filters {
        filter_type      = "SEXUALLY_EXPLICIT"
        confidence_level = "MEDIUM_AND_ABOVE"
      }
    }

    sdp_settings {
      basic_config {
        filter_enforcement = "ENABLED"
      }
    }

    pi_and_jailbreak_filter_settings {
      filter_enforcement = "ENABLED"
      confidence_level   = "HIGH"
    }

    malicious_uri_filter_settings {
      filter_enforcement = "ENABLED"
    }
  }

  enable_floor_setting_enforcement = true

  integrated_services = [
    "AI_PLATFORM",
    "GOOGLE_MCP_SERVER",
  ]

  ai_platform_floor_setting {
    inspect_and_block    = true
    enable_cloud_logging = true
  }

  google_mcp_server_floor_setting {
    inspect_and_block    = true
    enable_cloud_logging = true
  }

  floor_setting_metadata {
    multi_language_detection {
      enable_multi_language_detection = true
    }
  }
}

Ersetzen Sie RESOURCE_PARENT durch den Hierarchiebereich, für den die Einstellung für die Mindestversion gilt:

  • Organisationsebene: organizations/ORGANIZATION_ID, die alle Ordner und Projekte in der Organisation steuert.

  • Ordnerebene: folders/FOLDER_ID, die alle Projekte im Ordner steuert.

  • Projektebene: projects/PROJECT_ID, die ein einzelnes Projekt steuert.

Es kann einige Minuten dauern, bis die Änderungen an den Mindestpreiseinstellungen wirksam werden.

Festlegen, wie Mindesteinstellungen übernommen werden

Wählen Sie beim Konfigurieren der Mindesteinstellungen die Konfigurationsoption aus.

  • Mindesteinstellungen des übergeordneten Elements übernehmen: Übernehmen Sie die Mindesteinstellungen, die zuvor in der Ressourcenhierarchie festgelegt wurden. Klicken Sie auf Einstellungen für Mindestpreise speichern und überspringen Sie die restlichen Schritte. Die übernommenen Einstellungen finden Sie auf dem Tab Mindestpreiseinstellungen.

  • Benutzerdefiniert: Legen Sie die Mindesteinstellungen für dieses Projekt fest. Benutzerdefinierte Einstellungen, die Sie für ein Projekt definieren, überschreiben alle übernommenen Mindesteinstellungen.

  • Deaktivieren: Alle übernommenen Mindesteinstellungen werden deaktiviert. Das bedeutet, dass für die Model Armor-Vorlagen und die Agent Platform für Ihre Gemini-Arbeitslasten keine Erkennungsregeln gelten. Klicken Sie auf Einstellungen für Mindestpreise speichern und überspringen Sie die restlichen Schritte. Den Status „Deaktiviert“ sehen Sie auf dem Tab Mindestpreiseinstellungen.

Festlegen, wo Mindesteinstellungen angewendet werden

Wählen Sie einen der folgenden Dienste aus, für die die konfigurierten Mindesteinstellungen gelten sollen.

  • Model Armor – Vorlagenerstellung und ‑aktualisierung: Model Armor prüft jede neue und geänderte Model Armor-Vorlage in einem Projekt, um dafür zu sorgen, dass die Mindesteinstellungen mit den Mindesteinstellungen übereinstimmen.

  • Google-MCP-Server: Mit den Mindesteinstellungen werden Anfragen geprüft, die an Google- oder Remote-MCP-Server von Google Cloud gesendet oder von diesen empfangen werden, um sicherzustellen, dass sie die Schwellenwerte der Mindesteinstellungen erreichen. Weitere Informationen finden Sie unter Model Armor-Integration in Google Cloud-MCP-Server (Vorabversion).

  • Agent Platform: Anfragen, die an Gemini-Modelle gesendet werden, werden geprüft und dann protokolliert oder blockiert, wenn sie die Schwellenwerte der Mindesteinstellungen erreichen.

    Wenn Sie Agent Platform auswählen, wird der Abschnitt Agent Platform angezeigt, in dem Sie auswählen können, wie die Mindesteinstellungen erzwungen werden.

    • Nur prüfen: Anfragen, die nicht den Mindesteinstellungen entsprechen, werden erkannt, aber nicht blockiert.
    • Verstöße prüfen und blockieren: Anfragen, die nicht den Mindesteinstellungen entsprechen, werden erkannt und blockiert.

Mindesteinstellungen für Model Armor ansehen

Sehen Sie sich die Mindesteinstellungen von Model Armor an, um vorhandene Einstellungen zu prüfen, die Mindestanforderungen für Ihre KI-Anwendungen zu ermitteln oder Probleme zu beheben, wenn sich eine Vorlage nicht wie erwartet verhält.

Führen Sie den folgenden Befehl aus, um die Model Armor-Mindesteinstellungen aufzurufen.

Console

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

    Zu Model Armor

  2. Prüfen Sie, ob Sie das Projekt aufrufen, für das Sie Model Armor aktiviert haben.

  3. Rufen Sie auf der Seite Model Armor den Tab Untergrenzeneinstellungen auf. Wenn Mindesteinstellungen auf Organisationsebene festgelegt sind, können Sie sie aufrufen. Wenn keine Mindestpreiseinstellungen definiert sind, müssen Sie sie konfigurieren. Weitere Informationen finden Sie unter Mindestpreiseinstellungen konfigurieren.

gcloud

  • Model Armor-Mindesteinstellung für ein Projekt aufrufen.

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

      gcloud model-armor floorsettings describe \
          --full-uri='organizations/ORGANIZATION_ID/locations/global/floorSetting'
  • Model Armor-Mindesteinstellung für einen Ordner aufrufen

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

    Ersetzen Sie Folgendes:

    • Die ID des Projekts für die Etagen-Einstellungen.
    • Die ID des Ordners für die Mindesteinstellungen.
    • Die ID der Organisation für die Mindesteinstellungen.

REST

  • Model Armor-Mindesteinstellung für ein Projekt aufrufen.

    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"
  • Model Armor-Mindesteinstellung für einen Ordner aufrufen

    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"
  • Model Armor-Mindesteinstellung für eine Organisation aufrufen.

    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:

  • Die ID des Projekts für die Etagen-Einstellungen.
  • Die ID des Ordners für die Mindesteinstellungen.
  • Die ID der Organisation für die Mindesteinstellungen.

C#

Wenn Sie diesen Code ausführen möchten, müssen Sie zuerst eine C#-Entwicklungsumgebung einrichten und das Model Armor C# SDK installieren.

Go

Wenn Sie diesen Code ausführen möchten, müssen Sie zuerst eine Go-Entwicklungsumgebung einrichten und das Model Armor Go SDK installieren.

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

    
    import (
    	"context"
    	"fmt"
    	"io"
    
    	modelarmor "cloud.google.com/go/modelarmor/apiv1"
    	modelarmorpb "cloud.google.com/go/modelarmor/apiv1/modelarmorpb"
    )
    
    // getProjectFloorSettings gets details of a single floor setting of a project.
    //
    // This method retrieves the details of a single floor setting of a project.
    //
    // w io.Writer: The writer to use for logging.
    // projectID string: The ID of the project.
    func getProjectFloorSettings(w io.Writer, projectID string) error {
    	ctx := context.Background()
    
    	// Create the Model Armor client.
    	client, err := modelarmor.NewClient(ctx)
    	if err != nil {
    		return fmt.Errorf("failed to create client: %w", err)
    	}
    	defer client.Close()
    
    	floorSettingsName := fmt.Sprintf("projects/%s/locations/global/floorSetting", projectID)
    
    	// Get the project floor setting.
    	req := &modelarmorpb.GetFloorSettingRequest{
    		Name: floorSettingsName,
    	}
    
    	response, err := client.GetFloorSetting(ctx, req)
    	if err != nil {
    		return fmt.Errorf("failed to get floor setting: %w", err)
    	}
    
    	// Print the retrieved floor setting using fmt.Fprintf with the io.Writer.
    	fmt.Fprintf(w, "Retrieved floor setting: %v\n", response)
    
    	return nil
    }
    
  • Model Armor-Mindesteinstellung für einen bestimmten Ordner aufrufen.

    
    import (
    	"context"
    	"fmt"
    	"io"
    
    	modelarmor "cloud.google.com/go/modelarmor/apiv1"
    	modelarmorpb "cloud.google.com/go/modelarmor/apiv1/modelarmorpb"
    )
    
    // getFolderFloorSettings gets details of a single floor setting of a folder.
    //
    // This method retrieves the details of a single floor setting of a folder.
    //
    // w io.Writer: The writer to use for logging.
    // folderID string: The ID of the folder.
    func getFolderFloorSettings(w io.Writer, folderID string) error {
    	ctx := context.Background()
    
    	// Create the Model Armor client.
    	client, err := modelarmor.NewClient(ctx)
    	if err != nil {
    		return fmt.Errorf("failed to create client: %w", err)
    	}
    	defer client.Close()
    
    	// Prepare folder floor setting path/name
    	floorSettingsName := fmt.Sprintf("folders/%s/locations/global/floorSetting", folderID)
    
    	// Get the folder floor setting.
    	req := &modelarmorpb.GetFloorSettingRequest{
    		Name: floorSettingsName,
    	}
    
    	response, err := client.GetFloorSetting(ctx, req)
    	if err != nil {
    		return fmt.Errorf("failed to get floor setting: %w", err)
    	}
    
    	// Print the retrieved floor setting using fmt.Fprintf with the io.Writer.
    	fmt.Fprintf(w, "Retrieved folder floor setting: %v\n", response)
    
    	return nil
    }
    
  • Model Armor-Mindesteinstellung für eine bestimmte Organisation aufrufen.

    
    import (
    	"context"
    	"fmt"
    	"io"
    
    	modelarmor "cloud.google.com/go/modelarmor/apiv1"
    	modelarmorpb "cloud.google.com/go/modelarmor/apiv1/modelarmorpb"
    )
    
    // getOrganizationFloorSettings gets details of a single floor setting of an organization.
    //
    // This method retrieves the details of a single floor setting of an organization.
    //
    // w io.Writer: The writer to use for logging.
    // organizationID string: The ID of the organization.
    func getOrganizationFloorSettings(w io.Writer, organizationID string) error {
    	ctx := context.Background()
    
    	// Create the Model Armor client.
    	client, err := modelarmor.NewClient(ctx)
    	if err != nil {
    		return fmt.Errorf("failed to create client: %w", err)
    	}
    	defer client.Close()
    
    	floorSettingsName := fmt.Sprintf("organizations/%s/locations/global/floorSetting", organizationID)
    
    	// Get the organization floor setting.
    	req := &modelarmorpb.GetFloorSettingRequest{
    		Name: floorSettingsName,
    	}
    
    	response, err := client.GetFloorSetting(ctx, req)
    	if err != nil {
    		return fmt.Errorf("failed to get floor setting: %w", err)
    	}
    
    	// Print the retrieved floor setting using fmt.Fprintf with the io.Writer.
    	fmt.Fprintf(w, "Retrieved org floor setting: %v\n", response)
    
    	return nil
    }
    

Java

Wenn Sie diesen Code ausführen möchten, müssen Sie zuerst eine Java-Entwicklungsumgebung einrichten und das Model Armor Java SDK installieren.

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

    
    import com.google.cloud.modelarmor.v1.FloorSetting;
    import com.google.cloud.modelarmor.v1.FloorSettingName;
    import com.google.cloud.modelarmor.v1.GetFloorSettingRequest;
    import com.google.cloud.modelarmor.v1.ModelArmorClient;
    import java.io.IOException;
    
    public class GetProjectFloorSetting {
    
      public static void main(String[] args) throws IOException {
        // TODO(developer): Replace these variables before running the sample.
        String projectId = "your-project-id";
    
        getProjectFloorSetting(projectId);
      }
    
      public static FloorSetting getProjectFloorSetting(String projectId) throws IOException {
    
        // Initialize client that will be used to send requests. This client only
        // needs to be created once, and can be reused for multiple requests.
        try (ModelArmorClient client = ModelArmorClient.create()) {
          String name = FloorSettingName.of(projectId, "global").toString();
    
          GetFloorSettingRequest request = GetFloorSettingRequest.newBuilder().setName(name).build();
    
          FloorSetting floorSetting = client.getFloorSetting(request);
          System.out.println("Fetched floor setting for project: " + projectId);
    
          return floorSetting;
        }
      }
    }
  • Model Armor-Mindesteinstellung für einen bestimmten Ordner aufrufen.

    
    import com.google.cloud.modelarmor.v1.FloorSetting;
    import com.google.cloud.modelarmor.v1.FloorSettingName;
    import com.google.cloud.modelarmor.v1.GetFloorSettingRequest;
    import com.google.cloud.modelarmor.v1.ModelArmorClient;
    import java.io.IOException;
    
    public class GetFolderFloorSetting {
    
      public static void main(String[] args) throws IOException {
        // TODO(developer): Replace these variables before running the sample.
        String folderId = "your-folder-id";
    
        getFolderFloorSetting(folderId);
      }
    
      public static FloorSetting getFolderFloorSetting(String folderId) throws IOException {
    
        // Initialize client that will be used to send requests. This client only
        // needs to be created once, and can be reused for multiple requests.
        try (ModelArmorClient client = ModelArmorClient.create()) {
          String name = FloorSettingName.ofFolderLocationName(folderId, "global").toString();
    
          GetFloorSettingRequest request = GetFloorSettingRequest.newBuilder().setName(name).build();
    
          FloorSetting floorSetting = client.getFloorSetting(request);
          System.out.println("Fetched floor setting for folder: " + folderId);
    
          return floorSetting;
        }
      }
    }
  • Model Armor-Mindesteinstellung für eine bestimmte Organisation aufrufen.

    
    import com.google.cloud.modelarmor.v1.FloorSetting;
    import com.google.cloud.modelarmor.v1.FloorSettingName;
    import com.google.cloud.modelarmor.v1.GetFloorSettingRequest;
    import com.google.cloud.modelarmor.v1.ModelArmorClient;
    import java.io.IOException;
    
    public class GetOrganizationFloorSetting {
    
      public static void main(String[] args) throws IOException {
        // TODO(developer): Replace these variables before running the sample.
        String organizationId = "your-organization-id";
    
        getOrganizationFloorSetting(organizationId);
      }
    
      public static FloorSetting getOrganizationFloorSetting(String organizationId) throws IOException {
    
        // Initialize client that will be used to send requests. This client only
        // needs to be created once, and can be reused for multiple requests.
        try (ModelArmorClient client = ModelArmorClient.create()) {
          String name = FloorSettingName.ofOrganizationLocationName(organizationId, "global")
              .toString();
    
          GetFloorSettingRequest request = GetFloorSettingRequest.newBuilder().setName(name).build();
    
          FloorSetting floorSetting = client.getFloorSetting(request);
          System.out.println("Fetched floor setting for organization: " + organizationId);
    
          return floorSetting;
        }
      }
    }

Node.js

Wenn Sie diesen Code ausführen möchten, müssen Sie zuerst eine Node.js-Entwicklungsumgebung einrichten und das Model Armor Node.js SDK installieren.

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

    /**
     * TODO(developer): Uncomment these variables before running the sample.
     */
    // const projectId = 'your-project-id';
    
    const name = `projects/${projectId}/locations/global/floorSetting`;
    
    // Imports the Modelarmor library
    const {ModelArmorClient} = require('@google-cloud/modelarmor').v1;
    
    // Instantiates a client
    const modelarmorClient = new ModelArmorClient();
    
    async function getProjectFloorSettings() {
      // Construct request
      const request = {
        name,
      };
    
      // Run request
      const [response] = await modelarmorClient.getFloorSetting(request);
      return response;
    }
    
    return await getProjectFloorSettings();
  • Model Armor-Mindesteinstellung für einen bestimmten Ordner aufrufen.

    /**
     * TODO(developer): Uncomment these variables before running the sample.
     */
    // const folderId = 'your-folder-id';
    
    const name = `folders/${folderId}/locations/global/floorSetting`;
    
    // Imports the Modelarmor library
    const {ModelArmorClient} = require('@google-cloud/modelarmor').v1;
    
    // Instantiates a client
    const modelarmorClient = new ModelArmorClient();
    
    async function getFolderFloorSettings() {
      // Construct request
      const request = {
        name,
      };
    
      const [response] = await modelarmorClient.getFloorSetting(request);
      return response;
    }
    
    return await getFolderFloorSettings();
  • Model Armor-Mindesteinstellung für eine bestimmte Organisation aufrufen.

    /**
     * TODO(developer): Uncomment these variables before running the sample.
     */
    // const organizationId = 'your-organization-id';
    const name = `organizations/${organizationId}/locations/global/floorSetting`;
    
    // Imports the Modelarmor library
    const {ModelArmorClient} = require('@google-cloud/modelarmor').v1;
    
    // Instantiates a client
    const modelarmorClient = new ModelArmorClient();
    
    async function getOrganizationFloorSettings() {
      // Construct request
      const request = {
        name,
      };
    
      // Run request
      const [response] = await modelarmorClient.getFloorSetting(request);
      return response;
    }
    
    return await getOrganizationFloorSettings();

PHP

Wenn Sie diesen Code ausführen möchten, müssen Sie zuerst eine PHP-Entwicklungsumgebung einrichten und das Model Armor PHP SDK installieren.

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

    use Google\Cloud\ModelArmor\V1\Client\ModelArmorClient;
    use Google\Cloud\ModelArmor\V1\GetFloorSettingRequest;
    
    /**
     * Gets the floor settings for a given project.
     *
     * @param string $projectId The project Id for which the floor settings is to be retrieved.
     *
     */
    function get_project_floor_settings(string $projectId): void
    {
        $client = new ModelArmorClient();
    
        $floorSettingsName = sprintf('projects/%s/locations/global/floorSetting', $projectId);
    
        $response = $client->getFloorSetting((new GetFloorSettingRequest())->setName($floorSettingsName));
    
        printf("Floor settings retrieved successfully: %s\n", $response->serializeToJsonString());
    }
  • Model Armor-Mindesteinstellung für einen bestimmten Ordner aufrufen.

    use Google\Cloud\ModelArmor\V1\Client\ModelArmorClient;
    use Google\Cloud\ModelArmor\V1\GetFloorSettingRequest;
    
    /**
     * Gets the floor settings for a given folder.
     *
     * @param string $folderId The folder Id for which the floor settings is to be retrieved.
     *
     */
    function get_folder_floor_settings(string $folderId): void
    {
        $client = new ModelArmorClient();
    
        $floorSettingsName = sprintf('folders/%s/locations/global/floorSetting', $folderId);
    
        $response = $client->getFloorSetting((new GetFloorSettingRequest())->setName($floorSettingsName));
    
        printf("Floor settings retrieved successfully: %s\n", $response->serializeToJsonString());
    }
  • Model Armor-Mindesteinstellung für eine bestimmte Organisation aufrufen.

    use Google\Cloud\ModelArmor\V1\Client\ModelArmorClient;
    use Google\Cloud\ModelArmor\V1\GetFloorSettingRequest;
    
    /**
     * Gets the floor settings for a given organization.
     *
     * @param string $organizationId The organization Id for which the floor settings is to be retrieved.
     *
     */
    function get_organization_floor_settings(string $organizationId): void
    {
        $client = new ModelArmorClient();
    
        $floorSettingsName = sprintf('organizations/%s/locations/global/floorSetting', $organizationId);
    
        $response = $client->getFloorSetting((new GetFloorSettingRequest())->setName($floorSettingsName));
    
        printf("Floor settings retrieved successfully: %s\n", $response->serializeToJsonString());
    }

Python

Wenn Sie diesen Code ausführen möchten, müssen Sie zuerst eine Python-Entwicklungsumgebung einrichten und das Model Armor Python SDK installieren.

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

    
    from google.cloud import modelarmor_v1
    
    # Create the Model Armor client.
    client = modelarmor_v1.ModelArmorClient(transport="rest")
    
    # TODO(Developer): Uncomment below variable.
    # project_id = "YOUR_PROJECT_ID"
    
    floor_settings_name = f"projects/{project_id}/locations/global/floorSetting"
    
    # Get the project floor setting.
    response = client.get_floor_setting(
        request=modelarmor_v1.GetFloorSettingRequest(name=floor_settings_name)
    )
    
    # Print the retrieved floor setting.
    print(response)
    
  • Model Armor-Mindesteinstellung für einen bestimmten Ordner aufrufen.

    
    from google.cloud import modelarmor_v1
    
    # Create the Model Armor client.
    client = modelarmor_v1.ModelArmorClient(transport="rest")
    
    # TODO(Developer): Uncomment below variable.
    # folder_id = "YOUR_FOLDER_ID"
    
    # Prepare folder floor setting path/name
    floor_settings_name = f"folders/{folder_id}/locations/global/floorSetting"
    
    # Get the folder floor setting.
    response = client.get_floor_setting(
        request=modelarmor_v1.GetFloorSettingRequest(name=floor_settings_name)
    )
    
    # Print the retrieved floor setting.
    print(response)
    
  • Model Armor-Mindesteinstellung für eine bestimmte Organisation aufrufen.

    
    from google.cloud import modelarmor_v1
    
    # Create the Model Armor client.
    client = modelarmor_v1.ModelArmorClient(transport="rest")
    
    # TODO(Developer): Uncomment below variable.
    # organization_id = "YOUR_ORGANIZATION_ID"
    
    floor_settings_name = (
        f"organizations/{organization_id}/locations/global/floorSetting"
    )
    
    # Get the organization floor setting.
    response = client.get_floor_setting(
        request=modelarmor_v1.GetFloorSettingRequest(name=floor_settings_name)
    )
    
    # Print the retrieved floor setting.
    print(response)
    

Model Armor-Mindesteinstellungen aktualisieren

Aktualisieren Sie die grundlegenden Einstellungen von Model Armor, um die Mindestanforderungen für Vorlagen zu ändern, Änderungen an Sicherheitsrichtlinien zu berücksichtigen, Fehlkonfigurationen zu korrigieren oder Konflikte zwischen grundlegenden Einstellungen zu beheben.

Führen Sie den folgenden Befehl aus, um die Model Armor-Mindesteinstellungen zu aktualisieren.

Console

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

    Zu Model Armor

  2. Prüfen Sie, ob Sie das Projekt aufrufen, für das Sie Model Armor aktiviert haben.

  3. Rufen Sie auf der Seite Model Armor den Tab Mindesteinstellungen auf und klicken Sie auf Mindesteinstellungen konfigurieren.

  4. Aktualisieren Sie die Pflichtfelder und klicken Sie auf Mindestpreiseinstellungen speichern.

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

Führen Sie den folgenden Befehl aus, um die Einstellungen für die Untergrenze mit aktivierter mehrsprachiger Erkennung zu konfigurieren:

    gcloud model-armor floorsettings update \
        --full-uri=projects/PROJECT_ID/locations/global/floorSetting \
        --enable-multi-language-detection

Ersetzen Sie Folgendes:

  • PROJECT_ID: die ID des Projekts für die Etagen-Einstellungen.
  • FOLDER_ID: die ID des Ordners für die Einstellungen für die Etage.

REST

  • Aktualisiert die Mindesteinstellung für 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" }}},"enableFloorSettingEnforcement":"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"
  • Model Armor-Mindesteinstellung für einen bestimmten Ordner aktualisieren.

    curl -X PATCH \
      -d '{"filterConfig" :{"piAndJailbreakFilterSettings": { "filterEnforcement": "ENABLED"}, "maliciousUriFilterSettings": {"filterEnforcement": "ENABLED" }},"enableFloorSettingEnforcement":"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 Model Armor-Mindesteinstellung für eine bestimmte Organisation.

    curl -X PATCH \
      -d '{"filterConfig" :{"piAndJailbreakFilterSettings": { "filterEnforcement": "ENABLED"}, "maliciousUriFilterSettings": {
          "filterEnforcement": "ENABLED" }},"enableFloorSettingEnforcement":"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: die ID des Projekts für die Etagen-Einstellungen.
  • FOLDER_ID: die ID des Ordners für die Einstellungen für die Etage.
  • ORGANIZATION_ID: die ID der Organisation für die Einstellungen für die Etage.

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

C#

Wenn Sie diesen Code ausführen möchten, müssen Sie zuerst eine C#-Entwicklungsumgebung einrichten und das Model Armor C# SDK installieren.

  • Aktualisiert die Mindesteinstellung für Model Armor für ein bestimmtes Projekt.

    using Google.Cloud.ModelArmor.V1;
    using System;
    
    public class UpdateProjectFloorSettings
    {
        public FloorSetting UpdateProjectFloorSetting(string projectId)
        {
            // Create the client
            ModelArmorClient client = ModelArmorClient.Create();
    
            // Construct the floor settings name
            string floorSettingsName = $"projects/{projectId}/locations/global/floorSetting";
    
            // Build the floor settings with your preferred filters
            // For more details on filters, please refer to the following doc:
            // https://cloud.google.com/security-command-center/docs/key-concepts-model-armor#ma-filters
            var raiFilter = new RaiFilterSettings.Types.RaiFilter
            {
                FilterType = RaiFilterType.HateSpeech,
                ConfidenceLevel = DetectionConfidenceLevel.High,
            };
    
            var raiFilterSettings = new RaiFilterSettings();
            raiFilterSettings.RaiFilters.Add(raiFilter);
    
            var filterConfig = new FilterConfig { RaiSettings = raiFilterSettings };
    
            var floorSetting = new FloorSetting
            {
                Name = floorSettingsName,
                FilterConfig = filterConfig,
                EnableFloorSettingEnforcement = true,
            };
    
            // Create the update request
            var updateRequest = new UpdateFloorSettingRequest { FloorSetting = floorSetting };
    
            // Update the floor settings
            FloorSetting response = client.UpdateFloorSetting(updateRequest);
    
            Console.WriteLine($"Floor setting updated: {response.Name}");
    
            return response;
        }
    }
  • Model Armor-Mindesteinstellung für einen bestimmten Ordner aktualisieren.

    using Google.Cloud.ModelArmor.V1;
    using System;
    
    public class UpdateFolderFloorSettings
    {
        public FloorSetting UpdateFolderFloorSetting(string folderId)
        {
            // Create the client
            ModelArmorClient client = ModelArmorClient.Create();
    
            // Construct the floor settings name
            string floorSettingsName = $"folders/{folderId}/locations/global/floorSetting";
    
            // Build the floor settings with your preferred filters
            // For more details on filters, please refer to the following doc:
            // https://cloud.google.com/security-command-center/docs/key-concepts-model-armor#ma-filters
            var raiFilter = new RaiFilterSettings.Types.RaiFilter
            {
                FilterType = RaiFilterType.HateSpeech,
                ConfidenceLevel = DetectionConfidenceLevel.High,
            };
    
            var raiFilterSettings = new RaiFilterSettings();
            raiFilterSettings.RaiFilters.Add(raiFilter);
    
            var filterConfig = new FilterConfig { RaiSettings = raiFilterSettings };
    
            var floorSetting = new FloorSetting
            {
                Name = floorSettingsName,
                FilterConfig = filterConfig,
                EnableFloorSettingEnforcement = true,
            };
    
            // Create the update request
            var updateRequest = new UpdateFloorSettingRequest { FloorSetting = floorSetting };
    
            // Update the floor settings
            FloorSetting response = client.UpdateFloorSetting(updateRequest);
    
            Console.WriteLine($"Floor setting updated: {response.Name}");
    
            return response;
        }
    }
  • Aktualisieren Sie die Model Armor-Mindesteinstellung für eine bestimmte Organisation.

    using Google.Cloud.ModelArmor.V1;
    using System;
    
    public class UpdateOrganizationFloorSettings
    {
        public FloorSetting UpdateOrganizationFloorSetting(string organizationId)
        {
            // Create the client
            ModelArmorClient client = ModelArmorClient.Create();
    
            // Construct the floor settings name
            string floorSettingsName = $"organizations/{organizationId}/locations/global/floorSetting";
    
            // Build the floor settings with your preferred filters
            // For more details on filters, please refer to the following doc:
            // https://cloud.google.com/security-command-center/docs/key-concepts-model-armor#ma-filters
            var raiFilter = new RaiFilterSettings.Types.RaiFilter
            {
                FilterType = RaiFilterType.HateSpeech,
                ConfidenceLevel = DetectionConfidenceLevel.High,
            };
    
            var raiFilterSettings = new RaiFilterSettings();
            raiFilterSettings.RaiFilters.Add(raiFilter);
    
            var filterConfig = new FilterConfig { RaiSettings = raiFilterSettings };
    
            var floorSetting = new FloorSetting
            {
                Name = floorSettingsName,
                FilterConfig = filterConfig,
                EnableFloorSettingEnforcement = true,
            };
    
            // Create the update request
            var updateRequest = new UpdateFloorSettingRequest { FloorSetting = floorSetting };
    
            // Update the floor settings
            FloorSetting response = client.UpdateFloorSetting(updateRequest);
    
            Console.WriteLine($"Floor setting updated: {response.Name}");
    
            return response;
        }
    }

Go

Wenn Sie diesen Code ausführen möchten, müssen Sie zuerst eine Go-Entwicklungsumgebung einrichten und das Model Armor Go SDK installieren.

  • Aktualisiert die Mindesteinstellung für Model Armor für ein bestimmtes Projekt.

    
    import (
    	"context"
    	"fmt"
    	"io"
    
    	modelarmor "cloud.google.com/go/modelarmor/apiv1"
    	modelarmorpb "cloud.google.com/go/modelarmor/apiv1/modelarmorpb"
    )
    
    // updateProjectFloorSettings updates the floor settings of a project.
    //
    // This method updates the floor settings of a project.
    //
    // w io.Writer: The writer to use for logging.
    // projectID string: The ID of the project.
    func updateProjectFloorSettings(w io.Writer, projectID string) error {
    	ctx := context.Background()
    
    	// Create the Model Armor client.
    	client, err := modelarmor.NewClient(ctx)
    	if err != nil {
    		return fmt.Errorf("failed to create client: %w", err)
    	}
    	defer client.Close()
    
    	// Prepare project floor setting path/name
    	floorSettingsName := fmt.Sprintf("projects/%s/locations/global/floorSetting", projectID)
    
    	// Update the project floor setting
    	// For more details on filters, please refer to the following doc:
    	// [https://cloud.google.com/security-command-center/docs/key-concepts-model-armor#ma-filters](https://cloud.google.com/security-command-center/docs/key-concepts-model-armor#ma-filters)
    	enableEnforcement := true
    	req := &modelarmorpb.UpdateFloorSettingRequest{
    		FloorSetting: &modelarmorpb.FloorSetting{
    			Name: floorSettingsName,
    			FilterConfig: &modelarmorpb.FilterConfig{
    				RaiSettings: &modelarmorpb.RaiFilterSettings{
    					RaiFilters: []*modelarmorpb.RaiFilterSettings_RaiFilter{
    						{
    							FilterType:      modelarmorpb.RaiFilterType_HATE_SPEECH,
    							ConfidenceLevel: modelarmorpb.DetectionConfidenceLevel_HIGH,
    						},
    					},
    				},
    			},
    			EnableFloorSettingEnforcement: &enableEnforcement,
    		},
    	}
    
    	response, err := client.UpdateFloorSetting(ctx, req)
    	if err != nil {
    		return fmt.Errorf("failed to update floor setting: %w", err)
    	}
    
    	// Print the updated config
    	fmt.Fprintf(w, "Updated project floor setting: %+v\n", response)
    
    	return nil
    }
    
  • Model Armor-Mindesteinstellung für einen bestimmten Ordner aktualisieren.

    
    import (
    	"context"
    	"fmt"
    	"io"
    
    	modelarmor "cloud.google.com/go/modelarmor/apiv1"
    	modelarmorpb "cloud.google.com/go/modelarmor/apiv1/modelarmorpb"
    )
    
    // updateFolderFloorSettings updates floor settings of a folder.
    //
    // This method updates the floor settings of a folder.
    //
    // w io.Writer: The writer to use for logging.
    // folderID string: The ID of the folder.
    func updateFolderFloorSettings(w io.Writer, folderID string) error {
    	ctx := context.Background()
    
    	// Create the Model Armor client.
    	client, err := modelarmor.NewClient(ctx)
    	if err != nil {
    		return fmt.Errorf("failed to create client: %w", err)
    	}
    	defer client.Close()
    
    	// Prepare folder floor settings path/name
    	floorSettingsName := fmt.Sprintf("folders/%s/locations/global/floorSetting", folderID)
    
    	// Prepare the floor setting update
    	enableEnforcement := true
    	floorSetting := &modelarmorpb.FloorSetting{
    		Name: floorSettingsName,
    		FilterConfig: &modelarmorpb.FilterConfig{
    			RaiSettings: &modelarmorpb.RaiFilterSettings{
    				RaiFilters: []*modelarmorpb.RaiFilterSettings_RaiFilter{
    					{
    						FilterType:      modelarmorpb.RaiFilterType_HATE_SPEECH,
    						ConfidenceLevel: modelarmorpb.DetectionConfidenceLevel_HIGH,
    					},
    				},
    			},
    		},
    		EnableFloorSettingEnforcement: &enableEnforcement,
    	}
    
    	// Prepare request for updating the floor setting.
    	req := &modelarmorpb.UpdateFloorSettingRequest{
    		FloorSetting: floorSetting,
    	}
    
    	// Update the floor setting.
    	response, err := client.UpdateFloorSetting(ctx, req)
    	if err != nil {
    		return fmt.Errorf("failed to update floor setting: %w", err)
    	}
    
    	// Print the updated config
    	fmt.Fprintf(w, "Updated folder floor setting: %v\n", response)
    
    	return nil
    
    }
    
  • Aktualisieren Sie die Model Armor-Mindesteinstellung für eine bestimmte Organisation.

    
    import (
    	"context"
    	"fmt"
    	"io"
    
    	modelarmor "cloud.google.com/go/modelarmor/apiv1"
    	modelarmorpb "cloud.google.com/go/modelarmor/apiv1/modelarmorpb"
    )
    
    // updateOrganizationFloorSettings updates floor settings of an organization.
    //
    // This method updates the floor settings of an organization.
    //
    // w io.Writer: The writer to use for logging.
    // organizationID string: The ID of the organization.
    func updateOrganizationFloorSettings(w io.Writer, organizationID string) error {
    	ctx := context.Background()
    
    	// Create the Model Armor client.
    	client, err := modelarmor.NewClient(ctx)
    	if err != nil {
    		return fmt.Errorf("failed to create client: %w", err)
    	}
    	defer client.Close()
    
    	// Prepare organization floor setting path/name
    	floorSettingsName := fmt.Sprintf("organizations/%s/locations/global/floorSetting", organizationID)
    
    	// Update the organization floor setting
    	// For more details on filters, please refer to the following doc:
    	// [https://cloud.google.com/security-command-center/docs/key-concepts-model-armor#ma-filters](https://cloud.google.com/security-command-center/docs/key-concepts-model-armor#ma-filters)
    	enableEnforcement := true
    	req := &modelarmorpb.UpdateFloorSettingRequest{
    		FloorSetting: &modelarmorpb.FloorSetting{
    			Name: floorSettingsName,
    			FilterConfig: &modelarmorpb.FilterConfig{
    				RaiSettings: &modelarmorpb.RaiFilterSettings{
    					RaiFilters: []*modelarmorpb.RaiFilterSettings_RaiFilter{
    						{
    							FilterType:      modelarmorpb.RaiFilterType_HATE_SPEECH,
    							ConfidenceLevel: modelarmorpb.DetectionConfidenceLevel_HIGH,
    						},
    					},
    				},
    			},
    			EnableFloorSettingEnforcement: &enableEnforcement,
    		},
    	}
    
    	response, err := client.UpdateFloorSetting(ctx, req)
    	if err != nil {
    		return fmt.Errorf("failed to update floor setting: %w", err)
    	}
    
    	// Print the updated config
    	fmt.Fprintf(w, "Updated org floor setting: %+v\n", response)
    

Java

Wenn Sie diesen Code ausführen möchten, müssen Sie zuerst eine Java-Entwicklungsumgebung einrichten und das Model Armor Java SDK installieren.

Node.js

Wenn Sie diesen Code ausführen möchten, müssen Sie zuerst eine Node.js-Entwicklungsumgebung einrichten und das Model Armor Node.js SDK installieren.

  • Aktualisiert die Mindesteinstellung für Model Armor für ein bestimmtes Projekt.

    /**
     * TODO(developer): Uncomment these variables before running the sample.
     */
    // const projectId = 'your-project-id';
    
    const modelarmor = require('@google-cloud/modelarmor');
    const {ModelArmorClient} = modelarmor.v1;
    const {protos} = modelarmor;
    
    // Initiate client
    const client = new ModelArmorClient();
    
    async function updateProjectFloorSettings() {
      const floorSettingsName = `projects/${projectId}/locations/global/floorSetting`;
    
      // Build the floor settings with your preferred filters
      // For more details on filters, please refer to the following doc:
      // https://cloud.google.com/security-command-center/docs/key-concepts-model-armor#ma-filters
      const floorSetting = {
        name: floorSettingsName,
        filterConfig: {
          raiSettings: {
            raiFilters: [
              {
                filterType:
                  protos.google.cloud.modelarmor.v1.RaiFilterType.HARASSMENT,
                confidenceLevel:
                  protos.google.cloud.modelarmor.v1.DetectionConfidenceLevel
                    .LOW_AND_ABOVE,
              },
              {
                filterType:
                  protos.google.cloud.modelarmor.v1.RaiFilterType
                    .SEXUALLY_EXPLICIT,
                confidenceLevel:
                  protos.google.cloud.modelarmor.v1.DetectionConfidenceLevel
                    .LOW_AND_ABOVE,
              },
            ],
          },
        },
        enableFloorSettingEnforcement: true,
      };
    
      const request = {
        floorSetting: floorSetting,
      };
    
      const [response] = await client.updateFloorSetting(request);
      return response;
    }
    
    return await updateProjectFloorSettings();
  • Model Armor-Mindesteinstellung für einen bestimmten Ordner aktualisieren.

    /**
     * TODO(developer): Uncomment these variables before running the sample.
     */
    // const folderId = 'your-folder-id';
    
    // Imports the Model Armor library
    const modelarmor = require('@google-cloud/modelarmor');
    const {ModelArmorClient} = modelarmor.v1;
    const {protos} = modelarmor;
    
    // Instantiates a client
    const client = new ModelArmorClient();
    
    async function updateFolderFloorSettings() {
      const floorSettingsName = `folders/${folderId}/locations/global/floorSetting`;
    
      // Build the floor settings with your preferred filters
      // For more details on filters, please refer to the following doc:
      // https://cloud.google.com/security-command-center/docs/key-concepts-model-armor#ma-filters
      const floorSetting = {
        name: floorSettingsName,
        filterConfig: {
          raiSettings: {
            raiFilters: [
              {
                filterType:
                  protos.google.cloud.modelarmor.v1.RaiFilterType.HARASSMENT,
                confidenceLevel:
                  protos.google.cloud.modelarmor.v1.DetectionConfidenceLevel
                    .LOW_AND_ABOVE,
              },
              {
                filterType:
                  protos.google.cloud.modelarmor.v1.RaiFilterType
                    .SEXUALLY_EXPLICIT,
                confidenceLevel:
                  protos.google.cloud.modelarmor.v1.DetectionConfidenceLevel
                    .LOW_AND_ABOVE,
              },
            ],
          },
        },
        enableFloorSettingEnforcement: true,
      };
    
      const request = {
        floorSetting: floorSetting,
      };
    
      const [response] = await client.updateFloorSetting(request);
      return response;
    }
    
    return await updateFolderFloorSettings();
  • Aktualisieren Sie die Model Armor-Mindesteinstellung für eine bestimmte Organisation.

    /**
     * TODO(developer): Uncomment these variables before running the sample.
     */
    // const organizationId = 'your-organization-id';
    
    const modelarmor = require('@google-cloud/modelarmor');
    const {ModelArmorClient} = modelarmor.v1;
    const {protos} = modelarmor;
    
    const client = new ModelArmorClient();
    
    async function updateOrganizationFloorSettings() {
      const floorSettingsName = `organizations/${organizationId}/locations/global/floorSetting`;
    
      // Build the floor settings with your preferred filters
      // For more details on filters, please refer to the following doc:
      // https://cloud.google.com/security-command-center/docs/key-concepts-model-armor#ma-filters
      const floorSetting = {
        name: floorSettingsName,
        filterConfig: {
          raiSettings: {
            raiFilters: [
              {
                filterType:
                  protos.google.cloud.modelarmor.v1.RaiFilterType.HARASSMENT,
                confidenceLevel:
                  protos.google.cloud.modelarmor.v1.DetectionConfidenceLevel
                    .LOW_AND_ABOVE,
              },
              {
                filterType:
                  protos.google.cloud.modelarmor.v1.RaiFilterType
                    .SEXUALLY_EXPLICIT,
                confidenceLevel:
                  protos.google.cloud.modelarmor.v1.DetectionConfidenceLevel
                    .LOW_AND_ABOVE,
              },
            ],
          },
        },
        enableFloorSettingEnforcement: true,
      };
    
      const request = {
        floorSetting: floorSetting,
      };
    
      const [response] = await client.updateFloorSetting(request);
      return response;
    }
    
    return await updateOrganizationFloorSettings();

PHP

Wenn Sie diesen Code ausführen möchten, müssen Sie zuerst eine PHP-Entwicklungsumgebung einrichten und das Model Armor PHP SDK installieren.

  • Aktualisiert die Mindesteinstellung für Model Armor für ein bestimmtes Projekt.

    use Google\Cloud\ModelArmor\V1\Client\ModelArmorClient;
    use Google\Cloud\ModelArmor\V1\RaiFilterType;
    use Google\Cloud\ModelArmor\V1\DetectionConfidenceLevel;
    use Google\Cloud\ModelArmor\V1\UpdateFloorSettingRequest;
    use Google\Cloud\ModelArmor\V1\FilterConfig;
    use Google\Cloud\ModelArmor\V1\FloorSetting;
    use Google\Cloud\ModelArmor\V1\RaiFilterSettings;
    use Google\Cloud\ModelArmor\V1\RaiFilterSettings\RaiFilter;
    
    /**
     * Updates the floor settings for a given project.
     *
     * @param string $projectId The project Id for which the floor settings is to be updated.
     *
     */
    function update_project_floor_settings(string $projectId): void
    {
        $client = new ModelArmorClient();
    
        $floorSettingsName = sprintf('projects/%s/locations/global/floorSetting', $projectId);
    
        // Build the floor settings with your preferred filters
        // For more details on filters, please refer to the following doc:
        // https://cloud.google.com/security-command-center/docs/key-concepts-model-armor#ma-filters
    
        $raiFilterSetting = (new RaiFilterSettings())
            ->setRaiFilters([
                (new RaiFilter())
                    ->setFilterType(RaiFilterType::HATE_SPEECH)
                    ->setConfidenceLevel(DetectionConfidenceLevel::HIGH)
            ]);
    
        $filterConfig = (new FilterConfig())->setRaiSettings($raiFilterSetting);
        $floorSetting = (new FloorSetting())
            ->setName($floorSettingsName)
            ->setFilterConfig($filterConfig)
            ->setEnableFloorSettingEnforcement(true);
    
        $updateRequest = (new UpdateFloorSettingRequest())->setFloorSetting($floorSetting);
    
        $response = $client->updateFloorSetting($updateRequest);
    
        printf("Floor setting updated: %s\n", $response->getName());
    }
  • Model Armor-Mindesteinstellung für einen bestimmten Ordner aktualisieren.

    use Google\Cloud\ModelArmor\V1\Client\ModelArmorClient;
    use Google\Cloud\ModelArmor\V1\RaiFilterType;
    use Google\Cloud\ModelArmor\V1\DetectionConfidenceLevel;
    use Google\Cloud\ModelArmor\V1\UpdateFloorSettingRequest;
    use Google\Cloud\ModelArmor\V1\FilterConfig;
    use Google\Cloud\ModelArmor\V1\FloorSetting;
    use Google\Cloud\ModelArmor\V1\RaiFilterSettings;
    use Google\Cloud\ModelArmor\V1\RaiFilterSettings\RaiFilter;
    
    /**
     * Updates the floor settings for a given folder.
     *
     * @param string $folderId The folder Id for which the floor settings is to be updated.
     *
     */
    function update_folder_floor_settings(string $folderId): void
    {
        $client = new ModelArmorClient();
    
        $floorSettingsName = sprintf('folders/%s/locations/global/floorSetting', $folderId);
    
        // Build the floor settings with your preferred filters
        // For more details on filters, please refer to the following doc:
        // https://cloud.google.com/security-command-center/docs/key-concepts-model-armor#ma-filters
    
        $raiFilterSetting = (new RaiFilterSettings())
            ->setRaiFilters([
                (new RaiFilter())
                    ->setFilterType(RaiFilterType::HATE_SPEECH)
                    ->setConfidenceLevel(DetectionConfidenceLevel::HIGH)
            ]);
    
        $filterConfig = (new FilterConfig())->setRaiSettings($raiFilterSetting);
        $floorSetting = (new FloorSetting())
            ->setName($floorSettingsName)
            ->setFilterConfig($filterConfig)
            ->setEnableFloorSettingEnforcement(true);
    
        $updateRequest = (new UpdateFloorSettingRequest())->setFloorSetting($floorSetting);
    
        $response = $client->updateFloorSetting($updateRequest);
    
        printf("Floor setting updated: %s\n", $response->getName());
    }
  • Aktualisieren Sie die Model Armor-Mindesteinstellung für eine bestimmte Organisation.

    use Google\Cloud\ModelArmor\V1\Client\ModelArmorClient;
    use Google\Cloud\ModelArmor\V1\RaiFilterType;
    use Google\Cloud\ModelArmor\V1\DetectionConfidenceLevel;
    use Google\Cloud\ModelArmor\V1\UpdateFloorSettingRequest;
    use Google\Cloud\ModelArmor\V1\FilterConfig;
    use Google\Cloud\ModelArmor\V1\FloorSetting;
    use Google\Cloud\ModelArmor\V1\RaiFilterSettings;
    use Google\Cloud\ModelArmor\V1\RaiFilterSettings\RaiFilter;
    
    /**
     * Updates the floor settings for a given organization.
     *
     * @param string $organizationId The organization Id for which the floor settings is to be updated.
     *
     */
    function update_organization_floor_settings(string $organizationId)
    {
        $client = new ModelArmorClient();
    
        $floorSettingsName = sprintf('organizations/%s/locations/global/floorSetting', $organizationId);
    
        // Build the floor settings with your preferred filters
        // For more details on filters, please refer to the following doc:
        // https://cloud.google.com/security-command-center/docs/key-concepts-model-armor#ma-filters
    
        $raiFilterSetting = (new RaiFilterSettings())
            ->setRaiFilters([
                (new RaiFilter())
                    ->setFilterType(RaiFilterType::HATE_SPEECH)
                    ->setConfidenceLevel(DetectionConfidenceLevel::HIGH)
            ]);
    
        $filterConfig = (new FilterConfig())->setRaiSettings($raiFilterSetting);
        $floorSetting = (new FloorSetting())
            ->setName($floorSettingsName)
            ->setFilterConfig($filterConfig)
            ->setEnableFloorSettingEnforcement(true);
    
        $updateRequest = (new UpdateFloorSettingRequest())->setFloorSetting($floorSetting);
    
        $response = $client->updateFloorSetting($updateRequest);
    
        printf("Floor setting updated: %s\n", $response->getName());
    }

Python

Wenn Sie diesen Code ausführen möchten, müssen Sie zuerst eine Python-Entwicklungsumgebung einrichten und das Model Armor Python SDK installieren.

Ergebnisse zu Verstößen gegen Mindesteinstellungen prüfen

Jedes Model Armor-Ergebnis identifiziert einen Verstoß gegen die Mindesteinstellungen. Ein Verstoß liegt vor, wenn eine Model Armor-Vorlage die Mindestsicherheitsstandards nicht erfüllt, die in den Mindesteinstellungen der Ressourcenhierarchie definiert sind. Mindesteinstellungen definieren die Mindestanforderungen für Vorlagen.

Ergebnisse werden generiert, wenn einer der folgenden Verstöße gegen die Mindesteinstellungen auftritt:

  • Eine Vorlage mit weniger restriktiven Einstellungen wird erstellt, bevor Sie die Mindesteinstellungen konfigurieren.
  • In einer Vorlage fehlen erforderliche Filter.
  • Eine Vorlage erfüllt nicht das Mindestkonfidenzniveau für die Filter.

Wenn das System einen Verstoß erkennt, generiert es ein Ergebnis mit hohem Schweregrad im Security Command Center (wenn Sie die Premium- oder Enterprise-Dienststufe des Security Command Center verwenden). Das Ergebnis gibt die verletzte Mindesteinstellung, die nicht konforme Vorlage und Details zum Verstoß an.

Das folgende Beispiel zeigt das Feld sourceProperties des Ergebnisses. Dieser Verstoß im Zusammenhang mit dem Filter für schädliche URIs ist aufgetreten, weil die Vorlageneinstellung für maliciousUriFilterSettings auf DEAKTIVIERT festgelegt ist, die Mindesteinstellungen jedoch AKTIVIERT erfordern.

{
  "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