Configura el registro de Model Armor

En este documento, se describe cómo configurar Model Armor para registrar las operaciones siguientes:

  • Operaciones que crean, actualizan o borran una plantilla
  • Operaciones que limpian un prompt del usuario o una respuesta del modelo

Model Armor usa registros de auditoría para registrar las actividades de gestión y de administración de recursos. Para obtener más información, consulta Registro de auditoría de Model Armor.

Antes empezar

Completa estas tareas antes de completar las tareas restantes de esta página.

Obtén los permisos necesarios

Para obtener los permisos que necesitas a la hora de configurar el registro de Model Armor, pídele a tu administrador que te otorgue el rol de IAM de Administrador de Model Armor (roles/modelarmor.admin) en la plantilla de Model Armor. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.

Habilita las APIs

Para poder usar las APIs de Model Armor, debes habilitarlas.

Consola

  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. Elige el proyecto en el que quieres activar Model Armor.

gcloud

Antes de empezar, sigue estos pasos a través de la Google Cloud CLI con la API de 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. Ejecuta el comando siguiente para configurar el extremo de API del servicio de Model Armor.

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

    Reemplaza LOCATION por la región en la que quieres usar Model Armor.

  3. Ejecuta el comando siguiente para habilitar Model Armor.

      gcloud services enable modelarmor.googleapis.com --project=PROJECT_ID
       

    Reemplaza PROJECT_ID por el ID del proyecto.

    Configura el registro en plantillas

    Las plantillas definen los filtros y umbrales para diferentes categorías de seguridad. Cuando creas o actualizas una plantilla de Model Armor, puedes especificar si este debe registrar ciertas operaciones. Usa las marcas siguientes en los metadatos de la plantilla:

    • log_template_operations: Es un valor booleano que habilita el registro de las operaciones de creación, actualización, lectura y eliminación de plantillas.
    • log_sanitize_operations: Es un valor booleano que habilita el registro de las operaciones de limpieza. Los registros incluyen el prompt y la respuesta, los resultados de la evaluación de Model Armor y los campos de metadatos adicionales.

    Consola

    1. En la consola de Google Cloud , accede a la página de Model Armor.

      Acceder a Model Armor

    2. Verifica que estés viendo el proyecto en el que activaste Model Armor.

    3. En la página de Model Armor, haz clic en Crear plantilla. Para obtener más información sobre cómo crear plantillas, consulta Crea una plantilla de Model Armor.

    4. En la sección Configura el registro, elige las operaciones para las que quieres configurar el registro.

    5. Haz clic en Crear.

    REST

      curl -X POST \
          -d '{ "filterConfig": {}, "templateMetadata": { "logTemplateOperations": true, "logSanitizeOperations": true } }' \
          -H "Content-Type: application/json" \
          -H "Authorization: Bearer $(gcloud auth print-access-token)" \
          "https://modelarmor.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/templates?template_id=TEMPLATE_ID"
    

    Reemplaza los parámetros que se indican a continuación:

    • PROJECT_ID: Es el ID del proyecto al que pertenece la plantilla.
    • LOCATION: Es la ubicación de la plantilla.
    • TEMPLATE_ID: Es el ID de la plantilla.

    Python

    Para ejecutar este código, primero configura un entorno de desarrollo de Python y, luego, instala el SDK de Python para Model Armor.

       request = modelarmor_v1.CreateTemplateRequest(
         parent="projects/PROJECT_ID/locations/LOCATION",
         template_id="TEMPLATE_ID",
         template={
            "name": "projects/PROJECT_ID/locations/LOCATION/templates/TEMPLATE_ID",
            "filter_config": {},
            "template_metadata": {
               "log_template_operations": True,
               "log_sanitize_operations": True
            }
         }
       )
       response = client.create_template(request=request)
       

    Reemplaza los parámetros que se indican a continuación:

    • PROJECT_ID: Es el ID del proyecto al que pertenece la plantilla.
    • LOCATION: Es la ubicación de la plantilla.
    • TEMPLATE_ID: Es el ID de la plantilla.

    Consulta registros

    Accede a los registros de Model Armor con el Explorador de registros en Cloud Logging. Para obtener más información, consulta Visualiza registros con el Explorador de registros. Filtra por el nombre del servicio modelarmor.googleapis.com. Busca entradas relacionadas con las operaciones que habilitaste en la plantilla. Para obtener una lista de todos los nombres de servicios y tipos de recursos supervisados, consulta Recursos y servicios supervisados.

    Filtra los registros de Model Armor

    Usa etiquetas de registro para filtrar los registros de Model Armor en las operaciones de limpieza y el registro de plantillas.

    Ejecuta la consulta siguiente en el Explorador de registros para filtrar los registros de operaciones de limpieza.

    jsonPayload.@type="type.googleapis.com/google.cloud.modelarmor.logging.v1.SanitizeOperationLogEntry"
    

    Para definir mejor los registros de operaciones de limpieza, puedes especificar un ID del proyecto, un nombre de cliente o un ID de correlación en la consulta.

    • Usa un ID del proyecto:

      jsonPayload.@type="type.googleapis.com%2Fgoogle.cloud.modelarmor.logging.v1.SanitizeOperationLogEntry";project=PROJECT_ID
      
    • Usa el nombre de un cliente:

      jsonPayload.@type="type.googleapis.com/google.cloud.modelarmor.logging.v1.SanitizeOperationLogEntry"
      labels."modelarmor.googleapis.com/client_name"="CLIENT_NAME"
      
    • Usa un ID de correlación:

      labels."modelarmor.googleapis.com/client_correlation_id"="CORRELATION_ID"
      

    Reemplaza los parámetros que se indican a continuación:

    • PROJECT_ID: Es el ID del proyecto de Google Cloud .
    • CLIENT_NAME: Es el nombre de tu cliente.
    • CORRELATION_ID: Es el identificador único que generas para una solicitud específica.

    Correlaciona registros y eventos relacionados

    Para correlacionar los registros y eventos relacionados con esa interacción en particular, necesitarás un ID de correlación del cliente. Se trata de un identificador único que debes generar (por ejemplo, un UUID) para hacer un seguimiento de una solicitud específica en el sistema. Para establecer un ID de correlación del cliente en un encabezado curl, usa la opción -H con el objetivo de incluir un encabezado personalizado en la solicitud. Este es el formato de la muestra:

    curl -X POST -d  '{"userPromptData": { "text": 'USER_PROMPT' } }' \
        -H "Content-Type: application/json" \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        -H "MA-Client-Correlation-Id: $uuid" \
        "https://modelarmor.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/templates/TEMPLATE_ID:sanitizeUserPrompt"
    
    curl -X POST \
        -d  '{"modelResponseData": { "text": 'MODEL_RESPONSE' }, "userPrompt": 'USER_PROMPT' }' \
        -H "Content-Type: application/json" \
        -H "MA-Client-Correlation-Id: $uuid" \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        "https://modelarmor.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/templates/TEMPLATE_ID:sanitizeModelResponse"
    

    Reemplaza los parámetros que se indican a continuación:

    • PROJECT_ID: Es el ID del proyecto al que pertenece la plantilla.
    • LOCATION: Es la ubicación de la plantilla.
    • TEMPLATE_ID: Es el ID de la plantilla.
    • USER_PROMPT: Es el prompt proporcionado al modelo.
    • MODEL_RESPONSE: Es la respuesta que se recibió del modelo.