Configura el registro para Model Armor

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

  • Operaciones que crean, actualizan o borran una plantilla
  • Operaciones que sanitizan una instrucción del usuario o una respuesta del modelo

Model Armor usa registros de auditoría para registrar las actividades administrativas y de administración de recursos. Para obtener más información, consulta la descripción general del registro de auditoría de Model Armor.

Antes de comenzar

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

Obtén los permisos necesarios

Para obtener los permisos que necesitas para configurar el registro de Model Armor, pídele a tu administrador que te otorgue el rol de IAM 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

Debes habilitar las APIs de Model Armor antes de poder usar Model Armor.

Console

  1. Enable the Model Armor API.

    Enable the API

  2. Selecciona el proyecto en el que deseas activar Model Armor.

gcloud

Antes de comenzar, sigue estos pasos con Google Cloud CLI y 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 siguiente comando para configurar el extremo de API del servicio Model Armor.

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

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

  3. Ejecuta el siguiente comando 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 los umbrales para diferentes categorías de seguridad. Cuando creas o actualizas una plantilla de Model Armor, puedes especificar si Model Armor registra ciertas operaciones. Usa las siguientes marcas 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 la instrucción y la respuesta, los resultados de la evaluación de Model Armor y campos de metadatos adicionales.

    Console

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

      Ir a Model Armor

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

    3. En la página 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 Configurar el registro, selecciona las operaciones para las que deseas 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 lo siguiente:

    • 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

       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 lo siguiente:

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

    Ver registros

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

    Cómo filtrar 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 siguiente consulta en el Explorador de registros para filtrar los registros de operaciones de saneamiento.

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

    Para definir mejor los registros de la operación de saneamiento, 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 un nombre de 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 lo siguiente:

    • PROJECT_ID: 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 los eventos relacionados con esa interacción en particular, necesitarás un ID de correlación del cliente. Es un identificador único que generas (por ejemplo, un UUID) para hacer un seguimiento de una solicitud específica en tu sistema. Para establecer un ID de correlación del cliente en un encabezado de curl, usa la opción -H para incluir un encabezado personalizado en tu solicitud. Este es el formato de 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 lo siguiente:

    • 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 la instrucción proporcionada al modelo.
    • MODEL_RESPONSE: Es la respuesta que se recibió del modelo.