Mengonfigurasi logging untuk Model Armor

Dokumen ini menjelaskan cara mengonfigurasi Model Armor untuk mencatat operasi berikut:

  • Operasi yang membuat, memperbarui, atau menghapus template
  • Operasi yang membersihkan perintah pengguna atau respons model

Model Armor menggunakan log audit untuk mencatat aktivitas pengelolaan administratif dan resource. Untuk mengetahui informasi selengkapnya, lihat Ringkasan log audit Model Armor.

Sebelum memulai

Selesaikan tugas ini sebelum Anda menyelesaikan tugas lainnya di halaman ini.

Mendapatkan izin yang diperlukan

Untuk mendapatkan izin yang diperlukan guna mengonfigurasi logging untuk Model Armor, minta administrator untuk memberi Anda peran IAM Model Armor Admin (roles/modelarmor.admin) pada template Model Armor. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.

Mengaktifkan API

Anda harus mengaktifkan Model Armor API sebelum dapat menggunakan Model Armor.

Konsol

  1. Enable the Model Armor API.

    Enable the API

  2. Pilih project tempat Anda ingin mengaktifkan Model Armor.

gcloud

Sebelum memulai, ikuti langkah-langkah berikut menggunakan Google Cloud CLI dengan Model Armor API:

  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. Jalankan perintah berikut untuk menetapkan endpoint API untuk layanan Model Armor.

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

    Ganti LOCATION dengan region tempat Anda ingin menggunakan Model Armor.

  3. Jalankan perintah berikut untuk mengaktifkan Model Armor.

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

    Ganti PROJECT_ID dengan ID project.

    Mengonfigurasi logging dalam template

    Template menentukan filter dan nilai minimum untuk berbagai kategori keamanan dan keselamatan. Saat membuat atau memperbarui template Model Armor, Anda dapat menentukan apakah Model Armor mencatat operasi tertentu. Gunakan flag berikut dalam metadata template:

    • log_template_operations: Nilai boolean yang mengaktifkan logging operasi template buat, update, baca, dan hapus.
    • log_sanitize_operations: Nilai boolean yang mengaktifkan logging operasi pembersihan. Log mencakup perintah dan respons, hasil evaluasi Model Armor, dan kolom metadata tambahan.

    Konsol

    1. Di konsol Google Cloud , buka halaman Model Armor.

      Buka Model Armor

    2. Pastikan Anda melihat project tempat Anda mengaktifkan Model Armor.

    3. Di halaman Model Armor, klik Create Template. Untuk mengetahui informasi selengkapnya tentang cara membuat template, lihat Membuat template Model Armor.

    4. Di bagian Konfigurasi logging, pilih operasi yang logging-nya ingin Anda konfigurasi.

    5. Klik Buat.

    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"
    

    Ganti kode berikut:

    • PROJECT_ID: ID project tempat template berada.
    • LOCATION: lokasi template.
    • TEMPLATE_ID: ID template.

    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)
       

    Ganti kode berikut:

    • PROJECT_ID: ID project tempat template berada.
    • LOCATION: lokasi template.
    • TEMPLATE_ID: ID template.

    Melihat log

    Akses log Model Armor menggunakan Logs Explorer di Cloud Logging. Untuk mengetahui informasi selengkapnya, lihat Melihat log menggunakan Logs Explorer. Filter menurut nama layanan modelarmor.googleapis.com. Cari entri yang terkait dengan operasi yang Anda aktifkan di template. Untuk mengetahui daftar semua nama layanan dan jenis resource yang dimonitor, lihat Resource dan layanan yang dimonitor.

    Memfilter log Model Armor

    Gunakan label log untuk memfilter log Model Armor untuk operasi sanitasi dan logging template.

    Jalankan kueri berikut di Logs Explorer untuk memfilter log operasi sanitasi.

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

    Untuk lebih menyaring log operasi sanitasi, Anda dapat menentukan project ID, nama klien, atau ID korelasi dalam kueri.

    • Menggunakan ID project:

      jsonPayload.@type="type.googleapis.com%2Fgoogle.cloud.modelarmor.logging.v1.SanitizeOperationLogEntry";project=PROJECT_ID
      
    • Menggunakan nama klien:

      jsonPayload.@type="type.googleapis.com/google.cloud.modelarmor.logging.v1.SanitizeOperationLogEntry"
      labels."modelarmor.googleapis.com/client_name"="CLIENT_NAME"
      
    • Menggunakan ID korelasi:

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

    Ganti kode berikut:

    • PROJECT_ID: Google Cloud project ID.
    • CLIENT_NAME: nama klien Anda.
    • CORRELATION_ID: ID unik yang Anda buat untuk permintaan tertentu.

    Menghubungkan log dan peristiwa terkait

    Untuk mengorelasikan log dan peristiwa yang terkait dengan interaksi tertentu tersebut, Anda memerlukan ID korelasi klien. ID ini adalah ID unik yang Anda buat (misalnya, UUID) untuk melacak permintaan tertentu di seluruh sistem Anda. Untuk menetapkan ID korelasi klien di header curl, gunakan opsi -H untuk menyertakan header kustom dalam permintaan Anda. Berikut contoh formatnya:

    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"
    

    Ganti kode berikut:

    • PROJECT_ID: ID project tempat template berada.
    • LOCATION: lokasi template.
    • TEMPLATE_ID: ID template.
    • USER_PROMPT: perintah yang diberikan ke model.
    • MODEL_RESPONSE: respons yang diterima dari model.