Setelan lantai Model Armor

Setelan dasar Model Armor menentukan aturan yang mendikte persyaratan minimum untuk semua template Model Armor yang dibuat pada titik tertentu dalam hierarki resource Google Cloud(yaitu, di tingkat organisasi, folder, atau project). Jika ada beberapa setelan lantai yang saling bertentangan, setelan yang lebih rendah dalam hierarki resource akan lebih diutamakan. Misalnya, jika kebijakan setelan batas bawah dibuat di level folder dan project, kebijakan level project akan diterapkan.

Berikut contoh untuk menunjukkan cara kerja kebijakan setelan lantai Model Armor. Kebijakan lantai X ditetapkan di folder dengan filter URL berbahaya diaktifkan. Kebijakan lantai Y ditetapkan pada project dalam folder tersebut untuk filter deteksi pelanggaran dan injeksi perintah dengan nilai minimum keyakinan sedang. Hasilnya adalah setiap template Model Armor yang dibuat dalam project harus memiliki setidaknya filter deteksi serangan injeksi perintah dan pelarian dari batasan dengan setelan batas keyakinan sedang. Template yang dibuat di folder selain folder induk project ini tidak memerlukan filter URI berbahaya.

Setelan batas bawah membantu CISO dan arsitek keamanan menerapkan postur keamanan minimum di semua template Model Armor dalam organisasi mereka, sehingga mencegah developer perorangan menurunkan standar keamanan secara tidak sengaja atau dengan sengaja di bawah tingkat yang dapat diterima. Untuk pelanggan dengan paket Premium atau paket Enterprise Security Command Center, pelanggaran setelan lantai memicu temuan. Artinya, jika template dibuat sebelum setelan batas bawah, dan template memiliki setelan yang kurang ketat, temuan akan muncul di Security Command Center untuk membantu Anda mengidentifikasi dan memperbaiki template Model Armor yang kurang aman.

Mengaktifkan dan menonaktifkan setelan lantai Model Armor

Untuk mengaktifkan setelan batas bawah Model Armor, tetapkan tanda enable_floor_setting_enforcement ke true. Contoh berikut menunjukkan cara melakukannya.

gcloud

  • Tetapkan endpoint Model Armor ke endpoint globalnya.

      gcloud config set api_endpoint_overrides/modelarmor "https://modelarmor.googleapis.com/"
    
  • Aktifkan setelan lantai Model Armor untuk project tertentu.

      gcloud model-armor floorsettings update \
       --full-uri='projects/PROJECT_ID/locations/global/floorSetting' \
       --enable-floor-setting-enforcement=true
    
  • Aktifkan setelan lantai Model Armor untuk organisasi tertentu.

      gcloud model-armor floorsettings update \
      --full-uri='organizations/ORGANIZATION_ID/locations/global/floorSetting' \
      --enable-floor-setting-enforcement=true
    
  • Aktifkan setelan lantai Model Armor untuk folder tertentu.

      gcloud model-armor floorsettings update \
      --full-uri='folders/FOLDER_ID/locations/global/floorSetting' \
      --enable-floor-setting-enforcement=true
    

    Ganti kode berikut:

  • PROJECT_ID adalah ID project untuk template.

  • FOLDER_ID adalah ID folder untuk template.

  • ORGANIZATION_ID adalah ID organisasi untuk template.

REST

  curl -X PATCH
  -d '{"enable_floor_setting_enforcement" : "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?update_mask=enable_floor_setting_enforcement"
  

Ganti PROJECT_ID dengan ID project untuk template.

Jika Anda tidak ingin menggunakan setelan lantai Model Armor, tetapkan flag filter_config ke empty atau tetapkan flag enable_floor_setting_enforcement ke false.

gcloud

    gcloud model-armor floorsettings get 
--full-uri='projects/PROJECT_ID/locations/global/floorSetting'
Flags --full-uri = name of the floor setting resource
--enable-floor-setting-enforcement=false
--filterConfig = {}

Ganti PROJECT_ID dengan ID project untuk template.

    curl -X PATCH 
-H "Content-Type: application/json"
-H "Authorization: Bearer $(gcloud auth print-access-token)"
-d '{"filterConfig" :{},"enable_floor_setting_enforcement":"false"}'
"https://modelarmor.googleapis.com/v1/projects/PROJECT_ID/locations/global/floorSetting"

Ganti PROJECT_ID dengan ID project untuk template.

Melihat setelan lantai Model Armor

Jalankan perintah berikut untuk melihat setelan lantai Model Armor.

gcloud

  • Melihat setelan lantai Model Armor untuk project tertentu.

      gcloud model-armor floorsettings describe \
      --full-uri='projects/PROJECT_ID/locations/global/floorSetting'
  • Melihat setelan batas bawah Model Armor untuk organisasi tertentu.

      gcloud model-armor floorsettings describe \
      --full-uri='organizations/ORGANIZATION_ID/locations/global/floorSetting'
  • Melihat setelan lantai Model Armor untuk folder tertentu.

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

    Ganti kode berikut:

    • PROJECT_ID adalah ID project untuk template.
    • FOLDER_ID adalah ID folder untuk template.
    • ORGANIZATION_ID adalah ID organisasi untuk template.

REST

  • Melihat setelan lantai Model Armor untuk project tertentu.

    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"
  • Melihat setelan lantai Model Armor untuk folder tertentu.

    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"
  • Melihat setelan batas bawah Model Armor untuk organisasi tertentu.

    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"

Ganti kode berikut:

  • PROJECT_ID adalah ID project untuk template.
  • FOLDER_ID adalah ID folder untuk template.
  • ORGANIZATION_ID adalah ID organisasi untuk template.

Python

Untuk menjalankan perintah ini, lakukan inisialisasi klien Model Armor di Python terlebih dahulu.

  • Melihat setelan lantai Model Armor untuk project tertentu.

    request = modelarmor_v1.GetFloorSettingRequest(
    floor_setting={
      "name": "projects/PROJECT_ID/locations/global/floorSetting",
    }
    )
    response = client.get_floor_setting(request=request)
  • Melihat setelan lantai Model Armor untuk folder tertentu.

    request = modelarmor_v1.GetFloorSettingRequest(
    floor_setting={
      "name": "folders/FOLDER_ID/locations/global/floorSetting",
    }
    )
    response = client.get_floor_setting(request=request)
  • Melihat setelan batas bawah Model Armor untuk organisasi tertentu.

    request = modelarmor_v1.GetFloorSettingRequest(
    floor_setting={
      "name": "organizations/ORGANIZATION_ID/locations/global/floorSetting",
    }
    )
    response = client.get_floor_setting(request=request)

    Ganti kode berikut:

    • PROJECT_ID adalah ID project tempat template berada.
    • FOLDER_ID adalah ID folder untuk template.
    • ORGANIZATION_ID adalah ID organisasi untuk template.

Memperbarui setelan batas bawah Model Armor

Jalankan perintah berikut untuk memperbarui setelan lantai Model Armor.

gcloud

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

Contoh perintah:

       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

Ganti FOLDER_ID dengan ID folder untuk template.

REST

  • Memperbarui setelan lantai Model Armor untuk project tertentu.

    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" }}},"enable_floor_setting_enforcement":"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"
  • Memperbarui setelan lantai Model Armor untuk folder tertentu.

    curl -X PATCH \
    -d '{"filterConfig" :{"piAndJailbreakFilterSettings": { "filterEnforcement": "ENABLED"}, "maliciousUriFilterSettings": { "filterEnforcement": "ENABLED" }},"enable_floor_setting_enforcement":"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"
  • Memperbarui setelan lantai Model Armor untuk organisasi tertentu.

    curl -X PATCH \
    -d '{"filterConfig" :{"piAndJailbreakFilterSettings": { "filterEnforcement": "ENABLED"}, "maliciousUriFilterSettings": { "filterEnforcement": "ENABLED" }},"enable_floor_setting_enforcement":"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"

    Ganti kode berikut:

    • PROJECT_ID adalah ID project untuk template.
    • FOLDER_ID adalah ID folder untuk template.
    • ORGANIZATION_ID adalah ID organisasi untuk template.

    Perintah update menampilkan respons berikut:

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

Python

Untuk menjalankan perintah ini, lakukan inisialisasi klien Model Armor di Python terlebih dahulu.

  • Memperbarui setelan lantai Model Armor untuk project tertentu.

    request = modelarmor_v1.UpdateFloorSettingRequest(
    floor_setting={
      "name": "projects/PROJECT_ID/locations/global/floorSetting",
      "filter_config": FILTER_CONFIG,
      "enable_floor_setting_enforcement": True
    }
    )
    response = client.update_floor_setting(request=request)
  • Memperbarui setelan lantai Model Armor untuk folder tertentu.

    request = modelarmor_v1.UpdateFloorSettingRequest(
    floor_setting={
      "name": "folders/FOLDER_ID/locations/global/floorSetting",
      "filter_config": FILTER_CONFIG
      "enable_floor_setting_enforcement": True
    }
    )
    response = client.update_floor_setting(request=request)
  • Memperbarui setelan lantai Model Armor untuk organisasi tertentu.

    request = modelarmor_v1.UpdateFloorSettingRequest(
    floor_setting={
      "name": "organizations/ORGANIZATION_ID/locations/global/floorSetting",
      "filter_config": FILTER_CONFIG
      "enable_floor_setting_enforcement": True
    }
    )
    response = client.update_floor_setting(request=request)

    Ganti kode berikut:

  • FILTER_CONFIG adalah konfigurasi filter untuk template.

  • PROJECT_ID adalah ID project tempat template berada.

  • FOLDER_ID: adalah ID folder untuk template.

  • ORGANIZATION_ID adalah ID organisasi untuk template.

Pelanggaran setelan lantai

Setiap temuan layanan Model Armor mengidentifikasi pelanggaran setelan batas bawah yang terjadi saat template Model Armor gagal memenuhi standar keamanan minimum yang ditentukan oleh setelan batas bawah hierarki resource. Setelan dasar menentukan tingkat paling tidak ketat yang diizinkan untuk setiap filter dalam template. Pelanggaran setelan batas bawah dapat melibatkan template yang tidak menyertakan filter yang diperlukan atau tidak memenuhi tingkat keyakinan minimum untuk filter tersebut. Jika pelanggaran terdeteksi, temuan dengan tingkat keparahan tinggi akan dipublikasikan di Security Command Center. Temuan ini menentukan setelan lantai yang dilanggar, template yang tidak mematuhi kebijakan, dan detail tentang pelanggaran. Untuk mengetahui informasi selengkapnya, lihat Temuan layanan Model Armor.

Berikut adalah contoh kolom source_properties dari temuan dalam pelanggaran setelan lantai.

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

Langkah berikutnya