Dokumen ini menjelaskan cara mengonfigurasi Model Armor untuk melindungi model Gemini di Gemini Enterprise Agent Platform dengan menyaring perintah dan respons. Jika diintegrasikan dengan Gemini Enterprise Agent Platform, Model Armor akan mencegat perintah sebelum mencapai model Gemini, dan mencegat respons sebelum diterima oleh aplikasi Anda. Berdasarkan konfigurasi Anda, Platform Agen Gemini Enterprise memanggil layanan Model Armor, yang memeriksa atau memblokir traffic yang melanggar kebijakan yang Anda tetapkan—menerapkan langkah-langkah keamanan seperti deteksi injeksi perintah dan jailbreak, filter AI yang bertanggung jawab, dan Perlindungan Data Sensitif. Anda dapat mengonfigurasi integrasi ini dengan menggunakan setelan minimum untuk perlindungan tingkat project atau menggunakan template untuk perlindungan per permintaan.
Model Armor memberikan perlindungan perintah dan respons dalam
Gemini API di Vertex AI untuk metode generateContent. Anda harus mengaktifkan Cloud Logging untuk melihat hasil pembersihan perintah dan respons.
Selain melindungi panggilan REST langsung ke layanan Gemini Enterprise Agent Platform, Anda juga dapat menggunakan Model Armor untuk melindungi antarmuka lain yang menyediakan akses ke Gemini API di Vertex AI, seperti SDK AI Generatif Google atau SDK Firebase AI Logic.
Batasan
Pertimbangkan batasan berikut saat mengintegrasikan Model Armor dengan Gemini Enterprise Agent Platform:
- Saat menggunakan template Sensitive Data Protection untuk memindai perintah atau respons, Model Armor akan memeriksa apakah konten cocok dengan kriteria filter yang ditentukan dalam template. Jika menemukan kecocokan, Model Armor akan menandai bahwa konten tersebut memicu filter Sensitive Data Protection. Meskipun Sensitive Data Protection melakukan de-identifikasi data berdasarkan konfigurasi template, Model Armor tidak meneruskan data yang telah di-de-identifikasi—seperti konten yang disamarkan, disensor, atau di-hash—kembali ke Platform Agen Gemini Enterprise untuk diproses lebih lanjut. Sebagai gantinya, jika jenis penegakan adalah
INSPECT_AND_BLOCK, Model Armor akan mengeluarkan putusan pemblokiran untuk memastikan bahwa data sensitif tidak diproses lebih lanjut. - Pembersihan perintah dan respons yang berisi dokumen tidak didukung.
- Jika Gemini Enterprise Agent Platform merutekan permintaan ke region tempat template Model Armor yang ditentukan tidak ada, permintaan akan gagal dengan error
Template not found. Gemini Enterprise Agent Platform melewati langkah pembersihan Model Armor dan terus memproses permintaan dalam kondisi berikut:
- Model Armor tidak tersedia di wilayah tempat Gemini Enterprise Agent Platform berada.
- Model Armor tidak dapat dijangkau untuk sementara.
- Terjadi error dalam Model Armor.
Semua instance ini terkadang dapat mengekspos perintah atau respons yang tidak disaring karena permintaan berlanjut tanpa sanitasi perintah dan respons.
Meskipun integrasi dibuat untuk ketersediaan tinggi selama kegagalan koneksi, mode
INSPECT_AND_BLOCKakan tetap melaporkan error konfigurasi, seperti masalah izin atau kuota.
Sebelum memulai
Berikan peran Pengguna Model Armor ke akun layanan Gemini Enterprise Agent Platform.
gcloud projects add-iam-policy-binding PROJECT_ID --member='serviceAccount:service-PROJECT_NUMBER@gcp-sa-aiplatform.' --role='roles/modelarmor.user'
Ganti kode berikut:
PROJECT_ID: Google Cloud Project ID Anda.PROJECT_NUMBER: nomor project Google Cloud Anda.
Aktifkan Model Armor API.
Mengonfigurasi cara Model Armor membantu melindungi Gemini Enterprise Agent Platform
Anda dapat mengonfigurasi cara Model Armor melindungi Gemini Enterprise Agent Platform dengan salah satu dari dua cara berikut:
- Menggunakan template untuk perlindungan per permintaan: Pendekatan ini memberikan kontrol terperinci dengan memungkinkan Anda menerapkan template tertentu ke setiap panggilan API ke model Gemini di Gemini Enterprise Agent Platform.
generateContent - Menggunakan setelan batas bawah untuk perlindungan tingkat project: Pendekatan ini menerapkan perlindungan dasar dengan menerapkan setelan batas bawah ke semua panggilan API
generateContentke model Gemini di Gemini Enterprise Agent Platform dalam project Anda.
Tentukan jenis penegakan untuk menentukan apakah pelanggaran hanya diperiksa atau juga diblokir.
Konfigurasi per permintaan menggunakan template
Template memungkinkan Anda mengonfigurasi cara Model Armor menyaring perintah dan respons serta menentukan konfigurasi filter keamanan. Anda harus membuat template terlebih dahulu, lalu menggunakan template ini dengan metode generateContent Gemini. Untuk mengetahui informasi selengkapnya tentang template, lihat
Membuat dan mengelola template Model Armor.
Setelah mengonfigurasi template Model Armor, teruskan ID template
sebagai parameter saat melakukan panggilan ke Gemini API menggunakan metode generateContent. Gemini Enterprise Agent Platform mengarahkan permintaan ke Model Armor untuk diproses.
Untuk menerapkan template tertentu ke panggilan generateContent individual, sertakan
objek modelArmorConfig dalam permintaan Anda.
promptTemplateName: Nama resource template Model Armor untuk membersihkan perintah.responseTemplateName: Nama resource template Model Armor untuk membersihkan respons.
Contoh kode berikut menunjukkan permintaan ke metode generateContent.
curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer $(gcloud auth print-access-token)" "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/gemini-2.0-flash-001:generateContent" -d '{ "contents": [ { "role": "user", "parts": [ { "text": "[YOUR PROMPT HERE]" } ] } ] , "generationConfig": { "responseModalities": ["TEXT"] ,"temperature": 0.2 ,"maxOutputTokens": 1024 ,"topP": 0.8 }, "model_armor_config": { "prompt_template_name": "projects/PROJECT_ID/locations/LOCATION/templates/TEMPLATE_ID", "response_template_name": "projects/PROJECT_ID/locations/LOCATION/templates/TEMPLATE_ID" } }'
Ganti kode berikut:
PROJECT_ID: Google Cloud Project IDLOCATION: lokasi Google Cloud endpoint Gemini. Lokasi yang didukung adalaheurope-west1,europe-west2,europe-west3,asia-southeast1, danasia-south1.TEMPLATE_ID: ID template Model Armor.
Contoh kode berikut menunjukkan respons dari metode generateContent.
{ "promptFeedback": { "blockReason": "MODEL_ARMOR", "blockReasonMessage": "Blocked by Floor Setting. The prompt violated Responsible AI Safety settings (Harassment, Dangerous), Prompt Injection and Jailbreak filters." }, "usageMetadata": { "trafficType": "ON_DEMAND" }, "modelVersion": "gemini-2.0-flash-001", "createTime": "2025-03-26T13:14:36.961184Z", "responseId": "vP3jZ6DVOqLKnvgPqZL-8Ao" }
Menentukan jenis penerapan untuk template
Untuk mengonfigurasi cara Model Armor menangani deteksi, tetapkan jenis penegakan.
Contoh berikut menunjukkan konfigurasi template Model Armor dengan jenis penerapan Inspect only.
export TEMPLATE_CONFIG='{ "filter_config": { "rai_settings": { "rai_filters": [{ "filter_type": "HATE_SPEECH", "confidence_level": "MEDIUM_AND_ABOVE" }, { "filter_type": "HARASSMENT", "confidence_level": "MEDIUM_AND_ABOVE" }, { "filter_type": "DANGEROUS", "confidence_level": "MEDIUM_AND_ABOVE" },{ "filter_type": "SEXUALLY_EXPLICIT", "confidence_level": "MEDIUM_AND_ABOVE" }] }, "pi_and_jailbreak_filter_settings": { "filter_enforcement": "ENABLED", "confidence_level": "LOW_AND_ABOVE" }, "malicious_uri_filter_settings": { "filter_enforcement": "ENABLED" } }, "template_metadata": { "enforcement_type": "INSPECT_ONLY", "multi_language_detection": { "enable_multi_language_detection": true } } }' curl -X POST \ -d "$TEMPLATE_CONFIG" \ -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.TEMPLATE_ID: ID template yang akan dibuat.LOCATION: lokasi template.
Konfigurasi tingkat project menggunakan setelan minimum
Setelan tingkat menentukan dasar perlindungan minimum yang berlaku untuk semua panggilan generateContent Gemini Enterprise Agent Platform dalam project, meskipun parameter modelArmorConfig dihilangkan dari permintaan API. Lihat
Mengonfigurasi setelan tingkat untuk mempelajari cara
menyiapkan setelan tingkat.
Untuk mengaktifkan integrasi Model Armor dan Gemini Enterprise Agent Platform, tetapkan setelan batas bawah hanya di tingkat project menggunakan API atau konsol Google Cloud .
Untuk mengonfigurasi setelan lantai dengan integrasi Gemini Enterprise Agent Platform, jalankan perintah berikut:
gcloud
gcloud model-armor floorsettings update \ --full-uri=projects/PROJECT_ID/locations/global/floorSetting \ --add-integrated-services=VERTEX_AI
Perintah ini mengaktifkan mode penerapan INSPECT_ONLY secara default. Untuk mengubah
mode ke INSPECT_AND_BLOCK, jalankan perintah berikut:
gcloud model-armor floorsettings update \ --full-uri=projects/PROJECT_ID/locations/global/floorSetting \ --vertex-ai-enforcement-type=INSPECT_AND_BLOCK
Untuk menghapus Gemini Enterprise Agent Platform dari layanan terintegrasi, jalankan perintah berikut:
gcloud model-armor floorsettings update \ --full-uri=projects/PROJECT_ID/locations/global/floorSetting \ --remove-integrated-services=VERTEX_AI
Untuk menghapus semua layanan terintegrasi yang dikonfigurasi dari setelan lantai, jalankan perintah berikut:
gcloud model-armor floorsettings update \ --full-uri=projects/PROJECT_ID/locations/global/floorSetting \ --clear-integrated-services
Ganti PROJECT_ID dengan ID project untuk setelan tingkat.
REST
curl -X PATCH \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -d '{"filterConfig" : {"piAndJailbreakFilterSettings": { "filterEnforcement": "ENABLED"}}, "integratedServices": ["AI_PLATFORM"], "aiPlatformFloorSetting":{"inspectOnly":true, "enableCloudLogging":true}, "enableFloorSettingEnforcement":true}' \ "https://modelarmor.googleapis.com/v1/projects/PROJECT_ID/locations/global/floorSetting"
Ganti PROJECT_ID dengan ID project yang berisi setelan tingkat.
Setelah mengonfigurasi setelan tingkat untuk mengaktifkan pembersihan Gemini Enterprise Agent Platform, Model Armor akan membersihkan semua panggilan API generateContent ke endpoint Gemini project menggunakan setelan filter yang ditentukan.
Contoh kode berikut menunjukkan cara menggunakan metode generateContent.
curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer $(gcloud auth print-access-token)" "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/gemini-2.5-flash:generateContent" -d '{ curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer $(gcloud auth print-access-token)" "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/gemini-2.5-flash:generateContent" -d '{ "contents": [ { "role": "user", "parts": [ { "text": "" } ] } ] , "generationConfig": { "responseModalities": ["TEXT"] ,"temperature": 0.2 ,"maxOutputTokens": 1024 ,"topP": 0.8 } }'
Ganti kode berikut:
PROJECT_ID: Google Cloud Project ID Anda.LOCATION: lokasi endpoint Gemini. Google Cloud Untuk lokasi yang didukung, lihat Lokasi untuk Model Armor API.
Contoh kode berikut menunjukkan respons dari metode generateContent.
{ "promptFeedback": { "blockReason": "MODEL_ARMOR", "blockReasonMessage": "Blocked by Floor Setting. The prompt violated Responsible AI Safety settings (Harassment, Dangerous), Prompt Injection and Jailbreak filters." }, "usageMetadata": { "trafficType": "ON_DEMAND" }, "modelVersion": "gemini-2.5-flash", "createTime": "2025-03-26T13:14:36.961184Z", "responseId": "vP3jZ6DVOqLKnvgPqZL-8Ao" }
Menentukan jenis penegakan untuk setelan tingkat
Untuk mengonfigurasi cara Model Armor menangani deteksi, tetapkan
jenis penegakan ke
INSPECT atau INSPECT_AND_BLOCK. Contoh berikut menunjukkan konfigurasi setelan tingkat dengan jenis penerapan INSPECT_AND_BLOCK.
gcloud
gcloud model-armor floorsettings update \ --full-uri=projects/modelarmor-api-test/locations/global/floorSetting \ --vertex-ai-enforcement-type=INSPECT_AND_BLOCK
REST
export FLOOR_SETTING='{ "filterConfig": { "raiSettings": { "raiFilters": [ { "filterType": "HATE_SPEECH", "confidenceLevel": "LOW_AND_ABOVE" }, { "filterType": "DANGEROUS", "confidenceLevel": "LOW_AND_ABOVE" }, { "filterType": "SEXUALLY_EXPLICIT", "confidenceLevel": "LOW_AND_ABOVE" }, { "filterType": "HARASSMENT", "confidenceLevel": "LOW_AND_ABOVE" } ] }, "sdpSettings": { "basicConfig": { "filterEnforcement": "ENABLED" } }, "piAndJailbreakFilterSettings": { "filterEnforcement": "ENABLED", "confidenceLevel": "LOW_AND_ABOVE" }, "maliciousUriFilterSettings": { "filterEnforcement": "ENABLED" } }, "integratedServices": ["AI_PLATFORM"], "aiPlatformFloorSetting": { "inspectAndBlock": true, "enableCloudLogging": true }, "enableFloorSettingEnforcement": true }' curl -X PATCH \ -d "$FLOOR_SETTING" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://modelarmor.googleapis.com/v1/projects/PROJECT_ID/locations/global/floorSetting"
Ganti kode berikut:
PROJECT_ID: ID project untuk setelan tingkat.LOCATION: lokasi setelan tingkat.
Menguji penegakan inline dengan panggilan API
Uji integrasi untuk memanggil metode generateContent
API Gemini Enterprise Agent Platform. Gunakan perintah yang dirancang untuk melanggar setelan batas bawah yang dikonfigurasi.
curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer $(gcloud auth print-access-token)" "https://${VERTEX_AI_LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${VERTEX_AI_LOCATION}/publishers/google/models/gemini-2.5-flash:generateContent" -d '{ "contents": [ { "role": "user", "parts": [ { "text": "" } ] } ] , "generationConfig": { "responseModalities": ["TEXT"] ,"temperature": 0.2 ,"maxOutputTokens": 1024 ,"topP": 0.8 } }'
Jika integrasi berfungsi seperti yang diharapkan, API akan menampilkan respons dengan kolom
blockReason disetel ke MODEL_ARMOR saat Model Armor
mengidentifikasi perintah sebagai pelanggaran.
Contoh responsnya adalah sebagai berikut:
{
"promptFeedback": {
"blockReason": "MODEL_ARMOR",
"blockReasonMessage": "Blocked by Floor Setting. The prompt violated Responsible AI Safety settings..."
},
"usageMetadata": { "trafficType": "ON_DEMAND" },
"modelVersion": "gemini-2.5-flash"
}
Aturan interaksi dan prioritas
Saat menggunakan Model Armor dengan Gemini Enterprise Agent Platform, Anda dapat menentukan konfigurasi keamanan di beberapa tingkat. Dalam kasus tersebut, Model Armor dan Gemini Enterprise Agent Platform mengikuti urutan prioritas tertentu:
Template Model Armor: Konfigurasi apa pun yang diberikan secara eksplisit dalam konfigurasi permintaan API memiliki prioritas tertinggi. Setelan ini menggantikan konfigurasi lain yang bertentangan untuk permintaan tertentu tersebut.
Setelan minimum Model Armor: Jika tidak ada konfigurasi penggantian yang diberikan dalam permintaan API, setelan minimum Model Armor akan diterapkan.
Filter keamanan Gemini Enterprise Agent Platform: Filter keamanan default yang dibuat ke dalam Gemini Enterprise Agent Platform memiliki prioritas terendah. Setelan ini hanya berlaku jika Anda tidak menentukan template atau setelan tingkat Model Armor tertentu.
Pendekatan hierarkis ini memberikan kombinasi standar minimum yang luas di seluruh organisasi (menggunakan setelan minimum) dan kontrol per permintaan (menggunakan template), sekaligus tetap menggunakan fitur keamanan bawaan Platform Agen Gemini Enterprise sebagai dasar.
Perilaku fitur keamanan Model Armor dan Gemini Enterprise Agent Platform bergantung pada cara Anda memberikan konfigurasi.
| Template dikonfigurasi? | Filter keamanan Gemini Enterprise Agent Platform dikonfigurasi? | Setelan minimum dikonfigurasi? | Perilaku |
|---|---|---|---|
| Ya | Ya | Semua | Anda mendapatkan error. Anda tidak dapat menentukan konfigurasi template dan filter keamanan Gemini Enterprise Agent Platform dalam permintaan yang sama. |
| Ya | Tidak | Semua | Model Armor berjalan, menggunakan template yang ditentukan dalam
modelArmorConfig. Filter keamanan Gemini Enterprise Agent Platform diabaikan. Template permintaan menggantikan setelan minimum. |
| Tidak | Ya | Ya | Keduanya berjalan. Pemindaian Model Armor menggunakan kebijakan setelan dasar, dan Gemini Enterprise Agent Platform mengevaluasi filter keamanannya. Hasil yang paling ketat diterapkan. |
| Tidak | Tidak | Ya | Armor Model berjalan, menggunakan kebijakan setelan batas bawah aktif. |
| Tidak | Ya | Tidak | Hanya filter keamanan Gemini Enterprise Agent Platform yang dievaluasi. Model Armor tidak dipanggil. |
| Tidak | Tidak | Tidak | Filter keamanan Model Armor per permintaan maupun Gemini Enterprise Agent Platform tidak diterapkan. Hanya perilaku model dasar yang aktif. |