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.

Etagen-Einstellungen dienen zwei Hauptzwecken:

  • Einhaltung der Vorlage: Neue Vorlagen müssen mindestens so restriktiv sein wie die in den Mindesteinstellungen definierten. 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 Mindesteinstellungen für die Inline-Durchsetzung verwenden, muss jede Vorlage, die Sie im Projekt erstellen, diesen Mindesteinstellungen entsprechen.

Wann sollten Mindesteinstellungen verwendet werden?

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

  • Vorlagenkonformität erzwingen und Richtlinienregressionen verhindern: Definieren Sie Mindestfiltergrenzwerte auf Organisations-, Ordner- oder Projektebene, um sicherzustellen, dass neu erstellte und aktualisierte Vorlagen Ihren Sicherheitsstandards entsprechen und der Schutz nicht unter die festgelegten Mindestwerte sinken kann.
  • Inline-Durchsetzung 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: Autonomen Projektteams ermöglichen, benutzerdefinierte Vorlagen zu erstellen, und gleichzeitig dafür sorgen, dass ihre Einstellungen den Richtlinien der Organisation entsprechen.

Hinweis

Führen Sie zuerst die folgenden Aufgaben aus.

Erforderliche Berechtigungen erhalten

Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Model Armor Floor Setting Admin (roles/modelarmor.floorSettingsAdmin) für die Model Armor-Mindesteinstellungen zu gewähren, 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 Rolle „Inhaber“ (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 Standard-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 von Mindesteinstellungen

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

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

Ebene der Mindesteinstellungen Anwendung
Organisationsebene Gilt für alle Elemente in 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 Mindesteinstellungen angewendet werden, wenn sie auf verschiedenen Ebenen festgelegt sind. Angenommen, Sie legen die Mindesteinstellungen so fest:

  • Mindesteinstellungen 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): Für Ihr Projekt im Ordner muss die Erkennung von Prompt Injection und Jailbreaking mit mittlerem Konfidenzniveau verwendet werden.

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-Injections und Jailbreaks 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.

Etagen-Einstellungen gelten nur auf der jeweiligen Ebene in der Hierarchie, sofern sie nicht auf Organisationsebene festgelegt sind. In diesem Fall gelten sie für die gesamte Organisation.

Einhaltung 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 grundlegende Einstellungen auf Organisations-, Ordner- und Projektebene festlegen. Die Benutzeroberfläche ist nur auf Projektebene verfügbar. Sie können damit Einstellungen auf Organisations- oder Ordnerebene übernehmen. Wenn Sie Mindesteinstellungen auf Organisations- oder Ordnerebene festlegen möchten, müssen Sie die API verwenden.

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

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

Hinweis: Sensitive Data Protection kann so eingerichtet werden, dass Datenschutzrichtlinien für die Vorlagen erzwungen werden. Die Vorlagenkonformität wird jedoch nicht geprüft.

Nur auf Projektebene konfiguriert.
Dateninspektion Wird nur auf Projektebene im Inspektions- und Blockierungsmodus erzwungen. Wird über die REST API, Diensterweiterungen, Gemini Enterprise und die Agent Runtime erzwungen.

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

Model Armor ist in die Agent Platform und die Google Cloud-MCP-Server integriert, um Anfragen und Antworten von Gemini-Modellen undGoogle Cloud -Remote-MCP-Servern 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.

Versionen nach Mindesteinstellungen filtern

Für Etagen werden standardmäßig die Stable-Filterversion verwendet. In der folgenden Liste wird beschrieben, wie Filterversionen bei den einzelnen Integrationen funktionieren:

Mindesteinstellungen konfigurieren

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

So konfigurieren Sie die Etagen-Einstellungen:

  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 Mindesteinstellungen 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 Bereich 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 Ergebnisse des Mindesteinstellungs-Detectors 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 Etagenkonfiguration speichern.

Es kann einige Minuten dauern, bis die Änderungen an den Etagen-Einstellungen wirksam werden.

Festlegen, wie Mindesteinstellungen übernommen werden

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

  • Mindesteinstellungen des übergeordneten Elements übernehmen: Mindesteinstellungen übernehmen, die zuvor in der Ressourcenhierarchie festgelegt wurden. Klicken Sie auf Etagenkonfiguration speichern und überspringen Sie die restlichen Schritte. Wenn Sie die übernommenen Einstellungen aufrufen möchten, gehen Sie zum Tab Etagenkonfiguration.

  • Benutzerdefiniert: Hier können Sie Mindesteinstellungen für dieses Projekt definieren. 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 Etagenkonfiguration speichern und überspringen Sie die restlichen Schritte. Sehen Sie sich den Status „Deaktiviert“ auf dem Tab Mindesteinstellungen an.

Festlegen, wo Mindesteinstellungen angewendet werden

Wählen Sie einen der folgenden Dienste aus, auf die die konfigurierten Mindesteinstellungen angewendet werden sollen.

  • Model Armor – Vorlage erstellen und aktualisieren: Model Armor prüft jede neue und geänderte Model Armor-Vorlage in einem Projekt, um sicherzustellen, dass die Mindesteinstellungen mit den Mindesteinstellungen übereinstimmen.

  • Google-MCP-Server: An Google- oder Google Cloud Remote-MCP-Server gesendete oder von diesen kommende Anfragen werden anhand der Mindesteinstellungen geprüft, um sicherzustellen, dass sie die Schwellenwerte der Mindesteinstellungen erreichen. Weitere Informationen finden Sie unter Model Armor-Integration mit Google Cloud-MCP-Servern (Vorschau).

  • Agent Platform: An Gemini-Modelle gesendete Anfragen werden gesichtet 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 Mindesteinstellungen für Model Armor 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 Floor settings (Mindestwerteinstellungen) auf. Wenn Etagen-Einstellungen auf Organisationsebene festgelegt sind, können Sie sie aufrufen. Wenn keine Etagenkonfigurationen definiert sind, müssen Sie sie konfigurieren. Weitere Informationen finden Sie unter Etagen-Einstellungen konfigurieren.

gcloud

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

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

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

    Ersetzen Sie Folgendes:

    • Die ID des Projekts für die Etagenkonfiguration.
    • Die ID des Ordners für die Etagenkonfiguration.
    • Die ID der Organisation für die Etagenkonfiguration.

REST

  • Die Model Armor-Mindesteinstellung für ein 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"
  • Mindesteinstellung für Model Armor für einen 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-Mindesteinstellung für eine 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:

  • Die ID des Projekts für die Etagenkonfiguration.
  • Die ID des Ordners für die Etagenkonfiguration.
  • Die ID der Organisation für die Etagenkonfiguration.

C#

Um diesen Code auszuführen, müssen Sie zuerst eine C#-Entwicklungsumgebung einrichten und das Model Armor C#-SDK installieren.

Go

Um diesen Code auszuführen, müssen Sie zuerst eine Go-Entwicklungsumgebung einrichten und das Model Armor Go SDK installieren.

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

    
    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
    }
    
  • Mindesteinstellung für Model Armor für eine bestimmte Organisation ansehen

    
    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

Um diesen Code auszuführen, müssen Sie zuerst eine Java-Entwicklungsumgebung einrichten und das Model Armor Java SDK installieren.

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

    
    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;
        }
      }
    }
  • Mindesteinstellung für Model Armor für eine bestimmte Organisation ansehen

    
    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

Um diesen Code auszuführen, müssen Sie zuerst eine Node.js-Entwicklungsumgebung einrichten und das Model Armor Node.js SDK installieren.

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

    /**
     * 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();
  • Mindesteinstellung für Model Armor für eine bestimmte Organisation ansehen

    /**
     * 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

Damit Sie diesen Code ausführen können, 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

Um diesen Code auszuführen, müssen Sie zuerst eine Python-Entwicklungsumgebung einrichten und das Model Armor Python SDK installieren.

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

    
    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 Mindesteinstellungen von Model Armor, um die Mindestanforderungen für Vorlagen zu ändern, Änderungen an Sicherheitsrichtlinien zu berücksichtigen, Fehlkonfigurationen zu korrigieren oder Konflikte zwischen Mindesteinstellungen zu beheben.

Führen Sie den folgenden Befehl aus, um die Mindesteinstellungen für Model Armor 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 Etagenkonfiguration 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 Etagenkonfiguration 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 Etagenkonfiguration.
  • FOLDER_ID: Die ID des Ordners für die Etagenkonfiguration.

REST

  • Aktualisieren Sie 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"
  • Aktualisieren Sie die Model Armor-Mindesteinstellung für einen bestimmten Ordner.

    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 Mindesteinstellung für Model Armor 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 Etagenkonfiguration.
  • FOLDER_ID: Die ID des Ordners für die Etagenkonfiguration.
  • ORGANIZATION_ID: die ID der Organisation für die Etagenkonfiguration.

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;
        }
    }
  • Aktualisieren Sie die Model Armor-Mindesteinstellung für einen bestimmten Ordner.

    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 Mindesteinstellung für Model Armor 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
    }
    
  • Aktualisieren Sie die Model Armor-Mindesteinstellung für einen bestimmten Ordner.

    
    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 Mindesteinstellung für Model Armor 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

Um diesen Code auszuführen, 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.

  • Aktualisieren Sie 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();
  • Aktualisieren Sie die Model Armor-Mindesteinstellung für einen bestimmten Ordner.

    /**
     * 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 Mindesteinstellung für Model Armor 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

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

  • Aktualisieren Sie 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());
    }
  • Aktualisieren Sie die Model Armor-Mindesteinstellung für einen bestimmten Ordner.

    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 Mindesteinstellung für Model Armor 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

Um diesen Code auszuführen, müssen Sie zuerst eine Python-Entwicklungsumgebung einrichten und das Model Armor Python SDK installieren.

Ergebnisse zu Verstößen gegen Mindestbeträge prüfen

Jedes Model Armor-Ergebnis weist auf einen Verstoß gegen die Mindesteinstellung hin. 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 Einstellungen für den Boden konfigurieren.
  • In einer Vorlage fehlen erforderliche Filter.
  • Eine Vorlage erfüllt nicht das Mindestkonfidenzniveau für die Filter.

Wenn das System einen Verstoß erkennt, wird in Security Command Center ein Ergebnis mit hoher Schwere generiert, sofern Sie die Premium- oder Enterprise-Dienststufe von Security Command Center verwenden. Im Ergebnis werden die verletzte Mindesteinstellung, die nicht konforme Vorlage und Details zum Verstoß angegeben.

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 DEAKTIVIERT ist, die grundlegenden Einstellungen 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