Setelan lantai Model Armor

Setelan lantai Model Armor menentukan aturan yang menentukan 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 lantai dibuat di level folder dan project, kebijakan tingkat project akan diterapkan.

Berikut adalah 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 prompt dan jailbreak dengan nilai minimum keyakinan sedang. Hasil akhir adalah setiap template Model Armor yang dibuat dalam project harus memiliki setidaknya filter deteksi jailbreak dan injeksi perintah yang ditetapkan dengan nilai minimum keyakinan sedang, tetapi filter URL berbahaya tidak diperlukan.

Setelan lantai membantu CISO dan arsitek keamanan menerapkan postur keamanan minimum di semua template Model Armor dalam organisasi mereka, sehingga mencegah setiap developer secara tidak sengaja atau sengaja menurunkan standar keamanan di bawah tingkat yang dapat diterima. Untuk pelanggan dengan paket Premium atau Enterprise Security Command Center, pelanggaran setelan lantai akan memicu temuan. Artinya, jika template dibuat sebelum setelan minimum, 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 lantai Model Armor, tetapkan tanda enable_floor_setting_enforcement ke true. Contoh berikut menunjukkan cara melakukannya.

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. Contoh berikut menunjukkan cara melakukannya.

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.

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 nilai minimum 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, 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 nilai minimum 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 lantai Model Armor

Jalankan perintah berikut untuk memperbarui setelan lantai Model Armor.

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, 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 minimum yang terjadi saat template Model Armor gagal memenuhi standar keamanan minimum yang ditentukan oleh setelan minimum hierarki resource. Setelan minimum menentukan tingkat yang paling longgar yang diizinkan untuk setiap filter dalam template. Pelanggaran setelan lantai mungkin melibatkan template yang tidak menyertakan filter yang diperlukan atau tidak memenuhi tingkat keyakinan minimum untuk filter tersebut. Saat 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.

Ini 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