Configura impostazioni di base

Questo documento spiega come visualizzare e aggiornare le impostazioni di base di Model Armor e fornisce un esempio di violazione di un'impostazione di base.

Le impostazioni del piano hanno due scopi principali:

  • Conformità dei modelli: assicurati che i nuovi modelli siano almeno restrittivi quanto quelli definiti nelle impostazioni di base. La conformità dei modelli è definita a livello di organizzazione e cartella.

  • Applicazione inline: applica le protezioni di Model Armor ai modelli Gemini e ai server MCP di Google Cloud. L'applicazione inline è configurata a livello di progetto. Quando utilizzi le impostazioni del pavimento per l'applicazione in linea, è necessaria la conformità del modello.

Prima di iniziare

Prima di iniziare, completa le seguenti attività.

Ottenere le autorizzazioni richieste

Per ottenere le autorizzazioni necessarie per gestire le impostazioni del piano, chiedi all'amministratore di concederti il ruolo IAM Model Armor Floor Setting Admin (roles/modelarmor.floorSettingsAdmin) sulle impostazioni del piano Model Armor. Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Abilita API

Prima di poter utilizzare Model Armor, devi abilitare le API Model Armor.

Console

  1. Enable the Model Armor API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  2. Seleziona il progetto in cui vuoi attivare Model Armor.

gcloud

Prima di iniziare, segui questi passaggi utilizzando Google Cloud CLI con l'API Model Armor:

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  2. Esegui il comando seguente per utilizzare l'endpoint API globale:

    gcloud config set api_endpoint_overrides/modelarmor "https://modelarmor.googleapis.com/"
  3. Applicazione delle impostazioni di base

    Le impostazioni locali vengono sempre applicate. Ad esempio, se le impostazioni di base sono in conflitto, hanno la precedenza quelle più in basso nella gerarchia delle risorse. Allo stesso modo, le impostazioni del piano impostate a livello di progetto sostituiscono le impostazioni del piano in conflitto impostate a livello di cartella superiore.

    Le tabelle seguenti elencano come vengono applicate le impostazioni del piano in diverse posizioni:

    Posizione delle impostazioni di base Applicazione
    Livello dell'organizzazione Si applica a tutti gli elementi dell'organizzazione.
    Livello cartella Si applica a tutti i progetti all'interno di quella cartella specifica.
    Livello progetto Si applica solo a quel progetto specifico.

    Per illustrare come vengono applicate le impostazioni del piano quando vengono impostate a livelli diversi, prendi in considerazione lo scenario di esempio riportato di seguito. Supponiamo di impostare le impostazioni di base simili alle seguenti:

    • Impostazioni di base a livello di cartella (meno specifiche): tutti i contenuti di questa cartella devono attivare un filtro URI dannosi.
    • Impostazioni di base a livello di progetto (più specifiche): il progetto, che si trova nella cartella, deve utilizzare il rilevamento di prompt injection e jailbreak, impostato su affidabilità media.

    In questo scenario, le impostazioni che hai configurato comportano quanto segue:

    • Qualsiasi modello creato nel progetto deve includere il filtro di rilevamento dell'iniezione di prompt e del jailbreak, perché le impostazioni a livello di progetto hanno sempre la precedenza su quelle a livello di cartella.

    • Un modello creato in un progetto diverso, anche un modello creato in una cartella diversa, non è interessato dalla regola di filtro URI dannosi della prima cartella.

    Le impostazioni del piano si applicano solo all'interno del loro posto specifico nella gerarchia, a meno che non siano impostate a livello di organizzazione, nel qual caso si applicano a tutta l'organizzazione.

    Conformità dei modelli e delle impostazioni di base

    Quando viene creato o aggiornato un template Model Armor, Model Armor verifica se la configurazione del template è conforme alle impostazioni di base. Non puoi creare o aggiornare un modello meno restrittivo delle impostazioni del prezzo minimo.

    Le impostazioni del piano possono essere impostate a livello di organizzazione, cartella e progetto. L'interfaccia utente è disponibile solo per il livello di progetto e consente di ereditare le impostazioni a livello di organizzazione o cartella. Per impostare le impostazioni del prezzo minimo a livello di organizzazione o cartella, devi utilizzare l'API.

    Integrazione con i server Vertex AI e Google Cloud MCP

    Model Armor si integra con Vertex AI e i server MCP di Google Cloud per filtrare richieste e risposte dai modelli Gemini e dai server MCP remotiGoogle Cloud in base alle impostazioni di base definite. Devi abilitare Cloud Logging per avere visibilità su prompt e risposte. Per saperne di più, consulta Integrazione di Model Armor con Vertex AI e Integrazione di Model Armor con i server Google Cloud MCP.

    Configura impostazioni di base

    Utilizzi le impostazioni di base per configurare le soglie minime di rilevamento per i modelli Model Armor. Queste impostazioni verificano che tutti i modelli nuovi e modificati soddisfino determinati requisiti.

    Per configurare le impostazioni di base:

    1. Nella console Google Cloud , vai alla pagina Model Armor.

      Vai a Model Armor

    2. Seleziona un progetto.
    3. Nella pagina Model Armor, vai alla scheda Impostazioni di base e fai clic su Configura le impostazioni di base.
    4. Nella pagina Configura impostazioni piano, seleziona l'opzione di configurazione.
    5. Nella sezione Rilevamenti, configura le impostazioni di rilevamento.
    6. (Facoltativo) Se selezioni il rilevamento di Sensitive Data Protection, devi configurare le impostazioni di Sensitive Data Protection.
    7. Nella sezione AI responsabile, imposta il livello di confidenza per ogni filtro dei contenuti.

    8. Nella sezione Servizi, scegli i servizi in cui verranno applicate queste impostazioni di base.

    9. Nella sezione Log, seleziona Abilita Cloud Logging per registrare tutti i prompt degli utenti, le risposte del modello e i risultati del rilevatore delle impostazioni di base.

    10. Seleziona Abilita supporto di più lingue per utilizzare le impostazioni di rilevamento multilingue.

    11. Fai clic su Salva impostazioni del piano.

    Attendi qualche minuto affinché le modifiche alle impostazioni del piano diventino effettive.

    Definisci come vengono ereditate le impostazioni di base

    Quando configuri le impostazioni di base, seleziona l'opzione di configurazione.

    • Eredita le impostazioni di base del livello principale: eredita le impostazioni di base impostate a un livello superiore della gerarchia di risorse. Fai clic su Salva impostazioni del piano e salta i passaggi successivi. Per visualizzare le impostazioni ereditate, vai alla scheda Impostazioni del piano.

    • Personalizzato: definisci le impostazioni di base per questo progetto. Le impostazioni personalizzate che definisci per un progetto sostituiscono eventuali impostazioni di base ereditate.

    • Disattiva: disattiva tutte le impostazioni di base ereditate, il che significa che non vengono applicate regole di rilevamento ai modelli Model Armor e a Vertex AI per i tuoi workload Gemini. Fai clic su Salva impostazioni del piano e salta i passaggi successivi. Visualizza lo stato di disattivazione nella scheda Impostazioni piano.

    Definisci dove vengono applicate le impostazioni di base

    Seleziona uno dei seguenti servizi in cui vengono applicate le impostazioni di base configurate.

    • Model Armor - Creazione e aggiornamento dei modelli: ogni modello Model Armor nuovo e modificato in un progetto viene controllato per assicurarsi che le impostazioni minime siano specificate in base alle impostazioni di base.

    • Server MCP di Google: le richieste inviate ai o dai server MCP di Google o remoti vengono controllate per assicurarsi che soddisfino le soglie delle impostazioni di base. Google Cloud Per saperne di più, consulta Integrazione di Model Armor con i server Google Cloud MCP (anteprima).

    • Vertex AI: esamina le richieste inviate ai modelli Gemini e registra o blocca quelle che soddisfano le soglie delle impostazioni di base.

      Se selezioni Vertex AI, viene visualizzata la sezione Vertex AI, in cui puoi scegliere come vengono applicate le impostazioni del prezzo minimo.

      • Solo ispezione: rileva le richieste che non soddisfano le impostazioni di base, ma non bloccarle.
      • Ispeziona e blocca le violazioni: rileva e blocca le richieste che non soddisfano le impostazioni di base.

    Visualizzare le impostazioni di base di Model Armor

    Visualizza le impostazioni di base di Model Armor per verificare le impostazioni esistenti, per identificare i requisiti minimi per le tue applicazioni di AI o per risolvere i problemi quando un modello non si comporta come previsto.

    Esegui questo comando per visualizzare le impostazioni del piano Model Armor.

    Console

    1. Nella console Google Cloud , vai alla pagina Model Armor.

      Vai a Model Armor

    2. Verifica di visualizzare il progetto su cui hai attivato Model Armor.

    3. Nella pagina Model Armor, vai alla scheda Impostazioni di base. Se le impostazioni del piano sono impostate a livello di organizzazione, puoi visualizzarle qui. Se non sono definite impostazioni di base, devi configurarle. Per saperne di più, consulta Configurare le impostazioni del piano.

    gcloud

    • Visualizza l'impostazione di base di Model Armor per un determinato progetto.

        gcloud model-armor floorsettings describe \
            --full-uri='projects/PROJECT_ID/locations/global/floorSetting'
    • Visualizza l'impostazione di base di Model Armor per una determinata organizzazione.

        gcloud model-armor floorsettings describe \
            --full-uri='organizations/ORGANIZATION_ID/locations/global/floorSetting'
    • Visualizza l'impostazione di base di Model Armor per una determinata cartella.

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

      Sostituisci quanto segue:

      • PROJECT_ID: l'ID del progetto per le impostazioni del piano.
      • FOLDER_ID: l'ID della cartella per le impostazioni del piano.
      • ORGANIZATION_ID: l'ID dell'organizzazione per le impostazioni del piano.

    REST

    • Visualizza l'impostazione di base di Model Armor per un determinato progetto.

      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"
    • Visualizza l'impostazione di base di Model Armor per una determinata cartella.

      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"
    • Visualizza l'impostazione di base di Model Armor per una determinata organizzazione.

      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"

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID del progetto per le impostazioni del piano.
    • FOLDER_ID: l'ID della cartella per le impostazioni del piano.
    • ORGANIZATION_ID: l'ID dell'organizzazione per le impostazioni del piano.

    C#

    Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo C# e installare l'SDK C# Model Armor.

    Go

    Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Go e installare l'SDK Go di Model Armor.

    • Visualizza l'impostazione di base di Model Armor per un determinato progetto.

      
      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
      }
      
    • Visualizza l'impostazione di base di Model Armor per una determinata cartella.

      
      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
      }
      
    • Visualizza l'impostazione di base di Model Armor per una determinata organizzazione.

      
      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

    Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Java e installare l'SDK Java Model Armor.

    • Visualizza l'impostazione di base di Model Armor per un determinato progetto.

      
      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;
          }
        }
      }
    • Visualizza l'impostazione di base di Model Armor per una determinata cartella.

      
      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;
          }
        }
      }
    • Visualizza l'impostazione di base di Model Armor per una determinata organizzazione.

      
      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

    Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Node.js e installare l'SDK Node.js di Model Armor.

    • Visualizza l'impostazione di base di Model Armor per un determinato progetto.

      /**
       * 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();
    • Visualizza l'impostazione di base di Model Armor per una determinata cartella.

      /**
       * 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();
    • Visualizza l'impostazione di base di Model Armor per una determinata organizzazione.

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

    Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo PHP e installare l'SDK PHP Model Armor.

    • Visualizza l'impostazione di base di Model Armor per un determinato progetto.

      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());
      }
    • Visualizza l'impostazione di base di Model Armor per una determinata cartella.

      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());
      }
    • Visualizza l'impostazione di base di Model Armor per una determinata organizzazione.

      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

    Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Python e installare l'SDK Python di Model Armor.

    • Visualizza l'impostazione di base di Model Armor per un determinato progetto.

      
      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)
      
    • Visualizza l'impostazione di base di Model Armor per una determinata cartella.

      
      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)
      
    • Visualizza l'impostazione di base di Model Armor per una determinata organizzazione.

      
      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)
      

    Aggiornare le impostazioni di base di Model Armor

    Aggiorna le impostazioni di base di Model Armor per modificare i requisiti minimi per i modelli in modo che riflettano le modifiche alle policy di sicurezza, per correggere configurazioni errate o per risolvere i conflitti tra le impostazioni di base.

    Esegui questo comando per aggiornare le impostazioni del piano di Model Armor.

    Console

    1. Nella console Google Cloud , vai alla pagina Model Armor.

      Vai a Model Armor

    2. Verifica di visualizzare il progetto su cui hai attivato Model Armor.

    3. Nella pagina Model Armor, vai alla scheda Impostazioni di base e fai clic su Configura impostazioni di base.

    4. Aggiorna i campi obbligatori e fai clic su Salva impostazioni del piano.

    gcloud

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

    Comando di esempio:

           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
    

    Per configurare le impostazioni del piano con il rilevamento multilingue abilitato, esegui il seguente comando:

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

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID del progetto per le impostazioni del piano.
    • FOLDER_ID: l'ID della cartella per le impostazioni del piano.

    REST

    • Aggiorna l'impostazione di base di Model Armor per un determinato progetto.

      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"
    • Aggiorna l'impostazione di base di Model Armor per una determinata cartella.

      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"
    • Aggiorna l'impostazione di base di Model Armor per una determinata organizzazione.

      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"

      Sostituisci quanto segue:

      • PROJECT_ID: l'ID del progetto per le impostazioni del piano.
      • FOLDER_ID: l'ID della cartella per le impostazioni del piano.
      • ORGANIZATION_ID: l'ID dell'organizzazione per le impostazioni del piano.

      Il comando di aggiornamento restituisce la seguente risposta:

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

    C#

    Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo C# e installare l'SDK C# Model Armor.

    • Aggiorna l'impostazione di base di Model Armor per un determinato progetto.

      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;
          }
      }
    • Aggiorna l'impostazione di base di Model Armor per una determinata cartella.

      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;
          }
      }
    • Aggiorna l'impostazione di base di Model Armor per una determinata organizzazione.

      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

    Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Go e installare l'SDK Go di Model Armor.

    • Aggiorna l'impostazione di base di Model Armor per un determinato progetto.

      
      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
      }
      
    • Aggiorna l'impostazione di base di Model Armor per una determinata cartella.

      
      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
      
      }
      
    • Aggiorna l'impostazione di base di Model Armor per una determinata organizzazione.

      
      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

    Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Java e installare l'SDK Java Model Armor.

    Node.js

    Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Node.js e installare l'SDK Node.js di Model Armor.

    • Aggiorna l'impostazione di base di Model Armor per un determinato progetto.

      /**
       * 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();
    • Aggiorna l'impostazione di base di Model Armor per una determinata cartella.

      /**
       * 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();
    • Aggiorna l'impostazione di base di Model Armor per una determinata organizzazione.

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

    Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo PHP e installare l'SDK PHP Model Armor.

    • Aggiorna l'impostazione di base di Model Armor per un determinato progetto.

      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());
      }
    • Aggiorna l'impostazione di base di Model Armor per una determinata cartella.

      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());
      }
    • Aggiorna l'impostazione di base di Model Armor per una determinata organizzazione.

      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

    Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Python e installare l'SDK Python di Model Armor.

    Esaminare i risultati relativi alla violazione dell'impostazione eCPM Floor

    Ogni risultato di Model Armor identifica una violazione dell'impostazione di base. Una violazione si verifica quando un template Model Armor non soddisfa gli standard minimi di sicurezza definiti dalle impostazioni di base della gerarchia delle risorse. Le impostazioni di base definiscono i requisiti minimi per i modelli.

    I risultati vengono generati quando si verifica una delle seguenti violazioni delle impostazioni di base:

    • Viene creato un modello con impostazioni meno restrittive prima che vengano configurate le impostazioni di base.
    • In un modello mancano i filtri obbligatori.
    • Un modello non soddisfa il livello di confidenza minimo per i filtri.

    Quando viene rilevata una violazione, viene generato un risultato di gravità elevata in Security Command Center (solo se utilizzi il livello di servizio Premium o Enterprise di Security Command Center). Il risultato specifica l'impostazione di base violata, il modello non conforme e i dettagli della violazione.

    L'esempio seguente mostra il campo sourceProperties del risultato. Questa violazione, relativa al filtro URI dannosi, si è verificata perché l'impostazione del modello per maliciousUriFilterSettings è DISABLED, ma le impostazioni del prezzo minimo richiedono che sia ENABLED.

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

    Passaggi successivi