Ce document explique comment utiliser l'API Cloud Data Loss Prevention pour détecter du texte et des objets sensibles dans une image. Sensitive Data Protection renvoie l'emplacement de toutes les données sensibles qu'il détecte.
À partir d'une image en entrée, Sensitive Data Protection détecte les données sensibles qu'elle contient. Le résultat d'une opération d'inspection inclut les infoTypes détectés, la probabilité de correspondance, ainsi que les coordonnées de pixel et les valeurs de longueur qui indiquent les zones dans lesquelles Sensitive Data Protection a trouvé les données sensibles. Les coordonnées dans l'angle inférieur gauche
d'une image sont (0,0).
Inspecter une image pour tous les infoTypes par défaut
Pour inspecter une image à la recherche de données sensibles, vous devez envoyer une image encodée en base64 à la méthode content.inspect. Si vous ne spécifiez pas de types d'informations (infoTypes) spécifiques à rechercher, Sensitive Data Protection recherche les infoTypes les plus courants.
Pour inspecter une image pour tous les types d'informations par défaut, procédez comme suit :
- Encodez l'image en base64.
- Envoyez une requête à la méthode
content.inspectde l'API DLP. La requête ne nécessite que l'image encodée en base64.
Prenons l'exemple de cette image d'un document.
C#
Pour savoir comment installer et utiliser la bibliothèque cliente pour Sensitive Data Protection, consultez Bibliothèques clientes Sensitive Data Protection.
Pour vous authentifier auprès de Sensitive Data Protection, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Go
Pour savoir comment installer et utiliser la bibliothèque cliente pour Sensitive Data Protection, consultez Bibliothèques clientes Sensitive Data Protection.
Pour vous authentifier auprès de Sensitive Data Protection, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Pour savoir comment installer et utiliser la bibliothèque cliente pour Sensitive Data Protection, consultez Bibliothèques clientes Sensitive Data Protection.
Pour vous authentifier auprès de Sensitive Data Protection, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Pour savoir comment installer et utiliser la bibliothèque cliente pour Sensitive Data Protection, consultez Bibliothèques clientes Sensitive Data Protection.
Pour vous authentifier auprès de Sensitive Data Protection, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
PHP
Pour savoir comment installer et utiliser la bibliothèque cliente pour Sensitive Data Protection, consultez Bibliothèques clientes Sensitive Data Protection.
Pour vous authentifier auprès de Sensitive Data Protection, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour savoir comment installer et utiliser la bibliothèque cliente pour Sensitive Data Protection, consultez Bibliothèques clientes Sensitive Data Protection.
Pour vous authentifier auprès de Sensitive Data Protection, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
REST
Pour inspecter cette image à la recherche d'infoTypes par défaut, envoyez le code JSON suivant à la méthode content.inspect :
{ "item": { "byteItem": { "data": "BASE64_ENCODED_IMAGE", "type": "IMAGE_PNG" } } }
Le résultat ressemble à ce qui suit :
{ "result": { "findings": [ { "infoType": { "name": "PERSON_NAME", "sensitivityScore": { "score": "SENSITIVITY_MODERATE" } }, "likelihood": "LIKELY", "location": { "contentLocations": [ { "imageLocation": { "boundingBoxes": [ { "top": 383, "left": 419, "width": 82, "height": 38 }, { "top": 383, "left": 494, "width": 91, "height": 37 } ] } } ] }, "createTime": "2025-05-22T20:27:03.730Z", "findingId": "2025-05-22T20:27:03.731510Z4997664074931396457" }, { "infoType": { "name": "EMAIL_ADDRESS", "sensitivityScore": { "score": "SENSITIVITY_MODERATE" } }, "likelihood": "VERY_LIKELY", "location": { "contentLocations": [ { "imageLocation": { "boundingBoxes": [ { "top": 445, "left": 390, "width": 357, "height": 48 } ] } } ] }, "createTime": "2025-05-22T20:27:03.728Z", "findingId": "2025-05-22T20:27:03.731538Z284444825812417100" }, { "infoType": { "name": "PHONE_NUMBER", "sensitivityScore": { "score": "SENSITIVITY_MODERATE" } }, "likelihood": "VERY_LIKELY", "location": { "contentLocations": [ { "imageLocation": { "boundingBoxes": [ { "top": 515, "left": 404, "width": 223, "height": 34 } ] } } ] }, "createTime": "2025-05-22T20:27:03.729Z", "findingId": "2025-05-22T20:27:03.731544Z7910624062018243126" }, { "infoType": { "name": "PERSON_NAME", "sensitivityScore": { "score": "SENSITIVITY_MODERATE" } }, "likelihood": "UNLIKELY", "location": { "contentLocations": [ { "imageLocation": { "boundingBoxes": [ { "top": 798, "left": 473, "width": 81, "height": 45 } ] } } ] }, "createTime": "2025-05-22T20:27:03.730Z", "findingId": "2025-05-22T20:27:03.731551Z2345136870450870227" }, { "infoType": { "name": "PERSON_NAME", "sensitivityScore": { "score": "SENSITIVITY_MODERATE" } }, "likelihood": "UNLIKELY", "location": { "contentLocations": [ { "imageLocation": { "boundingBoxes": [ { "top": 837, "left": 1166, "width": 46, "height": 45 } ] } } ] }, "createTime": "2025-05-22T20:27:03.730Z", "findingId": "2025-05-22T20:27:03.731557Z6725780456697828166" }, { "infoType": { "name": "PERSON_NAME", "sensitivityScore": { "score": "SENSITIVITY_MODERATE" } }, "likelihood": "UNLIKELY", "location": { "contentLocations": [ { "imageLocation": { "boundingBoxes": [ { "top": 915, "left": 453, "width": 141, "height": 43 } ] } } ] }, "createTime": "2025-05-22T20:27:03.730Z", "findingId": "2025-05-22T20:27:03.731562Z7328853308213386463" }, { "infoType": { "name": "PERSON_NAME", "sensitivityScore": { "score": "SENSITIVITY_MODERATE" } }, "likelihood": "UNLIKELY", "location": { "contentLocations": [ { "imageLocation": { "boundingBoxes": [ { "top": 915, "left": 1180, "width": 105, "height": 43 } ] } } ] }, "createTime": "2025-05-22T20:27:03.730Z", "findingId": "2025-05-22T20:27:03.731569Z5618332947461439057" } ] } }
Dans cet exemple, Sensitive Data Protection a trouvé les infoTypes suivants, bien que son niveau de confiance varie pour chacun d'eux :
PERSON_NAMEEMAIL_ADDRESSPHONE_NUMBER
Pour en savoir plus sur l'utilisation de l'API DLP avec JSON, consultez le guide de démarrage rapide JSON.
Sachez que Sensitive Data Protection utilise souvent plusieurs cadres pour indiquer l'emplacement d'une seule instance de données sensibles dans l'image.
Inspecter une image pour détecter des infoTypes spécifiques
Pour inspecter une image uniquement pour certains types de données sensibles, spécifiez les infoTypes intégrés correspondants.
Pour inspecter une image à la recherche d'infoTypes spécifiques, procédez comme suit :
- Encodez l'image en base64.
- Envoyez une requête à la méthode
content.inspectde l'API DLP. La requête doit inclure les éléments suivants :- L'image encodée en base64
- Un ou plusieurs détecteurs d'infoTypes
C#
Pour savoir comment installer et utiliser la bibliothèque cliente pour Sensitive Data Protection, consultez Bibliothèques clientes Sensitive Data Protection.
Pour vous authentifier auprès de Sensitive Data Protection, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Go
Pour savoir comment installer et utiliser la bibliothèque cliente pour Sensitive Data Protection, consultez Bibliothèques clientes Sensitive Data Protection.
Pour vous authentifier auprès de Sensitive Data Protection, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Pour savoir comment installer et utiliser la bibliothèque cliente pour Sensitive Data Protection, consultez Bibliothèques clientes Sensitive Data Protection.
Pour vous authentifier auprès de Sensitive Data Protection, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Pour savoir comment installer et utiliser la bibliothèque cliente pour Sensitive Data Protection, consultez Bibliothèques clientes Sensitive Data Protection.
Pour vous authentifier auprès de Sensitive Data Protection, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
PHP
Pour savoir comment installer et utiliser la bibliothèque cliente pour Sensitive Data Protection, consultez Bibliothèques clientes Sensitive Data Protection.
Pour vous authentifier auprès de Sensitive Data Protection, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour savoir comment installer et utiliser la bibliothèque cliente pour Sensitive Data Protection, consultez Bibliothèques clientes Sensitive Data Protection.
Pour vous authentifier auprès de Sensitive Data Protection, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
REST
Prenons l'exemple de l'image d'origine de la section précédente. Pour n'inspecter que les adresses e-mail et les numéros de téléphone, envoyez le code JSON suivant à la méthode content.inspect.
{ "item": { "byteItem": { "data": "BASE64_ENCODED_IMAGE", "type": "IMAGE_PNG" } }, "inspectConfig": { "infoTypes": [ { "name": "PHONE_NUMBER" }, { "name": "EMAIL_ADDRESS" } ] } }
Le résultat ressemble à ce qui suit :
{ "result": { "findings": [ { "infoType": { "name": "EMAIL_ADDRESS", "sensitivityScore": { "score": "SENSITIVITY_MODERATE" } }, "likelihood": "VERY_LIKELY", "location": { "contentLocations": [ { "imageLocation": { "boundingBoxes": [ { "top": 445, "left": 390, "width": 357, "height": 48 } ] } } ] }, "createTime": "2025-05-22T20:59:48.653Z", "findingId": "2025-05-22T20:59:48.654873Z3907900286477341146" }, { "infoType": { "name": "PHONE_NUMBER", "sensitivityScore": { "score": "SENSITIVITY_MODERATE" } }, "likelihood": "VERY_LIKELY", "location": { "contentLocations": [ { "imageLocation": { "boundingBoxes": [ { "top": 515, "left": 404, "width": 223, "height": 34 } ] } } ] }, "createTime": "2025-05-22T20:59:48.653Z", "findingId": "2025-05-22T20:59:48.654914Z7486984971818202511" } ] } }
Pour découvrir comment utiliser le format JSON avec l'API DLP, consultez le démarrage rapide JSON.
Inspecter une image pour détecter des objets sensibles
Pour inspecter une image à la recherche d'objets sensibles, spécifiez les détecteurs d'infoTypes d'objets intégrés dans la requête.
Pour inspecter une image à la recherche d'infoTypes d'objets spécifiques, procédez comme suit :
- Encodez l'image en base64.
- Envoyez une requête à la méthode
content.inspectde l'API DLP. La requête doit inclure les éléments suivants :- L'image encodée en base64
- Un ou plusieurs détecteurs d'infoTypes d'objets.
Par exemple, considérons l'image suivante.
Pour inspecter cette image à la recherche d'infoTypes d'objets spécifiques, envoyez le code JSON suivant à la méthode content.inspect :
{ "item": { "byteItem": { "data": "BASE64_ENCODED_IMAGE", "type": "IMAGE_PNG" } }, "inspectConfig": { "infoTypes": [ { "name": "OBJECT_TYPE/BARCODE" }, { "name": "OBJECT_TYPE/LICENSE_PLATE" }, { "name": "OBJECT_TYPE/WHITEBOARD" } ] } }
Le résultat ressemble à ce qui suit :
{ "result": { "findings": [ { "infoType": { "name": "OBJECT_TYPE/WHITEBOARD", "sensitivityScore": { "score": "SENSITIVITY_LOW" } }, "likelihood": "LIKELY", "location": { "contentLocations": [ { "imageLocation": { "boundingBoxes": [ { "left": 427, "width": 561, "height": 678 } ] } } ] }, "createTime": "2025-05-22T22:25:09.564718Z", "findingId": "2025-05-22T22:25:09.564721Z3400818180961962648" }, { "infoType": { "name": "OBJECT_TYPE/LICENSE_PLATE", "sensitivityScore": { "score": "SENSITIVITY_MODERATE" } }, "likelihood": "LIKELY", "location": { "contentLocations": [ { "imageLocation": { "boundingBoxes": [ { "top": 554, "left": 137, "width": 187, "height": 70 } ] } } ] }, "createTime": "2025-05-22T22:25:09.564752Z", "findingId": "2025-05-22T22:25:09.564753Z2359274424382836782" }, { "infoType": { "name": "OBJECT_TYPE/BARCODE", "sensitivityScore": { "score": "SENSITIVITY_LOW" } }, "likelihood": "LIKELY", "location": { "contentLocations": [ { "imageLocation": { "boundingBoxes": [ { "top": 569, "left": 666, "width": 306, "height": 274 } ] } } ] }, "createTime": "2025-05-22T22:25:09.564762Z", "findingId": "2025-05-22T22:25:09.564762Z1655085669963455621" } ] } }
Pour en savoir plus sur l'utilisation de l'API DLP avec JSON, consultez le guide de démarrage rapide JSON.
Inspecter une image TIFF multipage
Sensitive Data Protection peut inspecter les images TIFF, y compris les images TIFF multipages comportant jusqu'à 50 pages. Il inspecte chaque page de l'image et renvoie les résultats de toutes les pages dans une seule réponse.
Pour inspecter une image TIFF, procédez comme suit :
- Encodez l'image TIFF en base64.
- Envoyez une requête à la méthode
content.inspectde l'API DLP. Dans la requête, définissez le champtypede l'élément d'octet surIMAGE_TIFF.
Par exemple, pour inspecter une image TIFF à la recherche d'infoTypes par défaut, envoyez le corps de requête JSON suivant à la méthode content.inspect :
{ "item": { "byteItem": { "data": "BASE64_ENCODED_IMAGE", "type": "IMAGE_TIFF" } } }
Dans la réponse, l'élément imageLocation de chaque résultat inclut un champ pageNumber qui identifie la page contenant le résultat. Les numéros de page commencent à 0. Le résultat ressemble à ce qui suit :
{ "result": { "findings": [ { "infoType": { "name": "EMAIL_ADDRESS", "sensitivityScore": { "score": "SENSITIVITY_MODERATE" } }, "likelihood": "LIKELY", "location": { "contentLocations": [ { "imageLocation": { "boundingBoxes": [ { "top": 213, "left": 128, "width": 345, "height": 40 } ], "pageNumber": 1 } } ] }, "createTime": "2026-10-23T10:15:03.730Z", "findingId": "2026-10-23T10:15:03.731510Z4997664074931396457" } ] } }
Dans cet exemple, Sensitive Data Protection a trouvé un EMAIL_ADDRESS sur la deuxième page de l'image.
Tenez compte des points suivants lorsque vous inspectez des images TIFF :
- Une image TIFF peut comporter jusqu'à 50 pages. Si une image TIFF comporte plus de pages, la requête échoue. Pour en savoir plus, consultez Limites d'analyse des fichiers TIFF.
- Les règles d'exclusion et d'ajustement basées sur des images (
ExcludeByImageFindingsetAdjustByImageFindings) ne sont pas compatibles avec les images TIFF. Si votre configuration d'inspection inclut ces règles, la requête échoue. - Vous pouvez inspecter les images TIFF, mais vous ne pouvez pas les masquer.
- Comme pour les autres types d'images, vous ne pouvez inspecter les images TIFF que dans les emplacements compatibles avec l'analyse d'images.
Exemples de code
Voici des exemples de code dans plusieurs langages qui montrent comment utiliser Sensitive Data Protection pour inspecter une image à la recherche de données sensibles.
C#
Pour savoir comment installer et utiliser la bibliothèque cliente pour Sensitive Data Protection, consultez Bibliothèques clientes Sensitive Data Protection.
Pour vous authentifier auprès de Sensitive Data Protection, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Go
Pour savoir comment installer et utiliser la bibliothèque cliente pour Sensitive Data Protection, consultez Bibliothèques clientes Sensitive Data Protection.
Pour vous authentifier auprès de Sensitive Data Protection, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Pour savoir comment installer et utiliser la bibliothèque cliente pour Sensitive Data Protection, consultez Bibliothèques clientes Sensitive Data Protection.
Pour vous authentifier auprès de Sensitive Data Protection, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Pour savoir comment installer et utiliser la bibliothèque cliente pour Sensitive Data Protection, consultez Bibliothèques clientes Sensitive Data Protection.
Pour vous authentifier auprès de Sensitive Data Protection, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
PHP
Pour savoir comment installer et utiliser la bibliothèque cliente pour Sensitive Data Protection, consultez Bibliothèques clientes Sensitive Data Protection.
Pour vous authentifier auprès de Sensitive Data Protection, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour savoir comment installer et utiliser la bibliothèque cliente pour Sensitive Data Protection, consultez Bibliothèques clientes Sensitive Data Protection.
Pour vous authentifier auprès de Sensitive Data Protection, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Essayer
Vous pouvez tester chacun de ces exemples vous-même ou tester vos
propres images dans l'explorateur d'API sur la page de référence de
content.inspect :
Étape suivante
- Apprenez-en plus sur l'inspection et le masquage d'images.
- Découvrez comment masquer des données sensibles dans des images.