Les paramètres de plancher Model Armor définissent des règles qui dictent les exigences minimales pour tous les modèles Model Armor créés à un point spécifique de la hiérarchie des ressources Google Cloud(c'est-à-dire au niveau d'une organisation, d'un dossier ou d'un projet). S'il existe plusieurs paramètres de plancher en conflit, ceux situés plus bas dans la hiérarchie des ressources sont prioritaires. Par exemple, si une règle de paramètre de plancher est créée au niveau d'un dossier et d'un projet, la règle au niveau du projet est appliquée.
Voici un exemple pour illustrer le fonctionnement d'une règle de paramètre minimal Model Armor. La règle minimale X est définie au niveau d'un dossier pour lequel le filtre d'URL malveillantes est activé. La règle de base Y est définie sur un projet de ce dossier pour le filtre de détection d'injection de requête et de jailbreaking avec un seuil de confiance moyen. Par conséquent, chaque modèle Model Armor créé dans le projet doit comporter au moins le filtre de détection d'injection d'invite et d'évasion, avec un seuil de confiance moyen. Un modèle créé dans un dossier autre que le dossier parent de ce projet ne nécessite pas le filtre d'URI malveillants.
Les paramètres de plancher aident les responsables de la sécurité des systèmes d'information et les architectes de sécurité à appliquer une posture de sécurité minimale à tous les modèles Model Armor de leur organisation. Ils empêchent ainsi les développeurs individuels d'abaisser accidentellement ou intentionnellement les normes de sécurité en dessous des niveaux acceptables. Pour les clients disposant d'un niveau Premium ou Enterprise de Security Command Center, les cas de non-respect des paramètres de prix plancher déclenchent des résultats. Cela signifie que si un modèle est créé avant un paramètre de plancher et qu'il comporte des paramètres moins restrictifs, un résultat s'affichera dans Security Command Center pour vous aider à identifier et à corriger les modèles Model Armor moins sécurisés.
Activer et désactiver les paramètres de plancher Model Armor
Pour activer les paramètres de plancher Model Armor, définissez le flag enable_floor_setting_enforcement
sur true
.
Les exemples suivants montrent comment procéder.
gcloud
Définissez le point de terminaison Model Armor sur son point de terminaison mondial.
gcloud config set api_endpoint_overrides/modelarmor "https://modelarmor.googleapis.com/"
Activez les paramètres de seuil Model Armor pour un projet donné.
gcloud model-armor floorsettings update \ --full-uri='projects/PROJECT_ID/locations/global/floorSetting' \ --enable-floor-setting-enforcement=true
Activez les paramètres de seuil Model Armor pour une organisation donnée.
gcloud model-armor floorsettings update \ --full-uri='organizations/ORGANIZATION_ID/locations/global/floorSetting' \ --enable-floor-setting-enforcement=true
Activez les paramètres Model Armor Floor pour un dossier donné.
gcloud model-armor floorsettings update \ --full-uri='folders/FOLDER_ID/locations/global/floorSetting' \ --enable-floor-setting-enforcement=true
Remplacez les éléments suivants :
PROJECT_ID
correspond à l'ID du projet pour le modèle.FOLDER_ID
est l'ID du dossier du modèle.ORGANIZATION_ID
est l'ID de l'organisation pour le modèle.
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"
Remplacez PROJECT_ID
par l'ID du projet pour le modèle.
Si vous ne souhaitez pas utiliser les paramètres de seuil Model Armor, définissez l'option filter_config
sur empty
ou l'option enable_floor_setting_enforcement
sur 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 = {}
Remplacez PROJECT_ID
par l'ID du projet pour le modèle.
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"
Remplacez PROJECT_ID
par l'ID du projet pour le modèle.
Afficher les paramètres Model Armor Floor
Exécutez la commande suivante pour afficher les paramètres de seuil Model Armor.
gcloud
Affichez le paramètre de plancher Model Armor pour un projet donné.
gcloud model-armor floorsettings describe \ --full-uri='projects/PROJECT_ID/locations/global/floorSetting'
Affichez le paramètre de seuil Model Armor pour une organisation donnée.
gcloud model-armor floorsettings describe \ --full-uri='organizations/ORGANIZATION_ID/locations/global/floorSetting'
Affichez le paramètre Model Armor Floor pour un dossier donné.
gcloud model-armor floorsettings describe \ --full-uri='folders/FOLDER_ID/locations/global/floorSetting'
Remplacez les éléments suivants :
PROJECT_ID
correspond à l'ID du projet pour le modèle.FOLDER_ID
est l'ID du dossier du modèle.ORGANIZATION_ID
est l'ID de l'organisation pour le modèle.
REST
Affichez le paramètre de plancher Model Armor pour un projet donné.
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"
Affichez le paramètre Model Armor Floor pour un dossier donné.
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"
Affichez le paramètre de seuil Model Armor pour une organisation donnée.
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"
Remplacez les éléments suivants :
PROJECT_ID
correspond à l'ID du projet pour le modèle.FOLDER_ID
est l'ID du dossier du modèle.ORGANIZATION_ID
est l'ID de l'organisation pour le modèle.
Python
Pour exécuter cette commande, commencez par initialiser un client Model Armor en Python.
Affichez le paramètre de plancher Model Armor pour un projet donné.
request = modelarmor_v1.GetFloorSettingRequest( floor_setting={ "name": "projects/PROJECT_ID/locations/global/floorSetting", } ) response = client.get_floor_setting(request=request)
Affichez le paramètre Model Armor Floor pour un dossier donné.
request = modelarmor_v1.GetFloorSettingRequest( floor_setting={ "name": "folders/FOLDER_ID/locations/global/floorSetting", } ) response = client.get_floor_setting(request=request)
Affichez le paramètre de seuil Model Armor pour une organisation donnée.
request = modelarmor_v1.GetFloorSettingRequest( floor_setting={ "name": "organizations/ORGANIZATION_ID/locations/global/floorSetting", } ) response = client.get_floor_setting(request=request)
Remplacez les éléments suivants :
PROJECT_ID
correspond à l'ID du projet auquel appartient le modèle.FOLDER_ID
est l'ID du dossier du modèle.ORGANIZATION_ID
est l'ID de l'organisation pour le modèle.
Mettre à jour les paramètres Model Armor Floor
Exécutez la commande suivante pour mettre à jour les paramètres de protection du modèle.
gcloud
gcloud model-armor floorsettings update --full-uri=<full-uri-of-the-floorsetting>
Exemple de commande :
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
Remplacez FOLDER_ID
par l'ID du dossier du modèle.
REST
Mettez à jour le paramètre de seuil Model Armor pour un projet donné.
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"
Mettez à jour le paramètre de seuil Model Armor pour un dossier donné.
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"
Mettez à jour le paramètre de seuil Model Armor pour une organisation donnée.
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"
Remplacez les éléments suivants :
PROJECT_ID
correspond à l'ID du projet pour le modèle.FOLDER_ID
est l'ID du dossier du modèle.ORGANIZATION_ID
est l'ID de l'organisation pour le modèle.
La commande de mise à jour renvoie la réponse suivante :
{ "name": "projects/PROJECT_ID/locations/global/floorSetting", "updateTime": "2024-12-19T15:36:21.318191Z", "filterConfig": { "piAndJailbreakFilterSettings": { "filterEnforcement": "ENABLED" }, "maliciousUriFilterSettings": { "filterEnforcement": "ENABLED" } } }
Python
Pour exécuter cette commande, commencez par initialiser un client Model Armor en Python.
Mettez à jour le paramètre de seuil Model Armor pour un projet donné.
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)
Mettez à jour le paramètre de seuil Model Armor pour un dossier donné.
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)
Mettez à jour le paramètre de seuil Model Armor pour une organisation donnée.
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)
Remplacez les éléments suivants :
FILTER_CONFIG
correspond à la configuration du filtre pour le modèle.PROJECT_ID
correspond à l'ID du projet auquel appartient le modèle.FOLDER_ID
: ID du dossier du modèle.ORGANIZATION_ID
est l'ID de l'organisation pour le modèle.
Non-respect des paramètres de plancher
Chaque résultat du service Model Armor identifie une violation des paramètres de plancher qui se produit lorsqu'un modèle Model Armor ne respecte pas les normes de sécurité minimales définies par les paramètres de plancher de la hiérarchie des ressources. Les paramètres de plancher définissent le niveau le moins strict autorisé pour chaque filtre d'un modèle. Un cas de non-respect des paramètres de plancher peut impliquer un modèle qui n'inclut pas les filtres requis ou qui ne respecte pas le niveau de confiance minimal pour ces filtres. Lorsqu'une violation est détectée, un résultat de gravité élevée est publié dans Security Command Center. Le résultat spécifie le paramètre de plancher enfreint, le modèle non conforme et des informations sur le non-respect. Pour en savoir plus, consultez Résultats du service Model Armor.
Voici un exemple du champ "source_properties" du résultat en cas de non-respect des paramètres de l'étage.
{ "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" } } }
Étapes suivantes
- En savoir plus sur la présentation de Model Armor
- En savoir plus sur les modèles Model Armor
- Nettoyez les requêtes et les réponses.
- Résolvez les problèmes liés à Model Armor.