En este documento, se describe cómo usar la API de Cloud Data Loss Prevention para detectar texto y objetos sensibles en una imagen. Sensitive Data Protection devuelve la ubicación de los datos sensibles que detecta.
Dada una imagen como entrada, Sensitive Data Protection detecta datos sensibles
en la imagen. El resultado de una operación de inspección incluye los infoTypes detectados, la probabilidad de la coincidencia, las coordenadas de píxeles y los valores de longitud que indican las áreas en las que Sensitive Data Protection encontró los datos sensibles. Las coordenadas en la esquina inferior izquierda de una imagen son (0,0).
Inspecciona una imagen para todos los tipos de información predeterminados
Para inspeccionar una imagen en busca de datos sensibles, envía una imagen codificada en Base64 al método
content.inspect. Si no especificas tipos de información específicos (infoTypes)
para buscar, Sensitive Data Protection
busca los infotipos más comunes.
Para inspeccionar una imagen en busca de todos los infoTypes predeterminados, sigue estos pasos:
- Codifica la imagen en base64.
- Envía una solicitud al método
content.inspectde la API de DLP. La solicitud solo requiere la imagen codificada en Base64.
Por ejemplo, considera esta imagen de un documento.
C#
Para obtener información sobre cómo instalar y usar la biblioteca cliente de Sensitive Data Protection, consulta las bibliotecas cliente de Sensitive Data Protection.
Para autenticarte en Sensitive Data Protection, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Go
Para obtener información sobre cómo instalar y usar la biblioteca cliente de Sensitive Data Protection, consulta las bibliotecas cliente de Sensitive Data Protection.
Para autenticarte en Sensitive Data Protection, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Java
Para obtener información sobre cómo instalar y usar la biblioteca cliente de Sensitive Data Protection, consulta las bibliotecas cliente de Sensitive Data Protection.
Para autenticarte en Sensitive Data Protection, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Para obtener información sobre cómo instalar y usar la biblioteca cliente de Sensitive Data Protection, consulta las bibliotecas cliente de Sensitive Data Protection.
Para autenticarte en Sensitive Data Protection, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
PHP
Para obtener información sobre cómo instalar y usar la biblioteca cliente de Sensitive Data Protection, consulta las bibliotecas cliente de Sensitive Data Protection.
Para autenticarte en Sensitive Data Protection, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Para obtener información sobre cómo instalar y usar la biblioteca cliente de Sensitive Data Protection, consulta las bibliotecas cliente de Sensitive Data Protection.
Para autenticarte en Sensitive Data Protection, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
REST
Para inspeccionar esta imagen en busca de infoTypes predeterminados, envía el siguiente JSON al
método content.inspect:
{ "item": { "byteItem": { "data": "BASE64_ENCODED_IMAGE", "type": "IMAGE_PNG" } } }
El resultado es similar a lo siguiente:
{ "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" } ] } }
En este ejemplo, Sensitive Data Protection encontró los siguientes tipos de información, aunque su confianza de coincidencia para cada uno varía:
PERSON_NAMEEMAIL_ADDRESSPHONE_NUMBER
Consulta la guía de inicio rápido de JSON para obtener más información sobre cómo usar la API de DLP con JSON.
Ten en cuenta que Sensitive Data Protection suele usar varios cuadros para indicar dónde se encuentra una sola instancia de datos sensibles en la imagen.
Inspecciona una imagen para buscar infoTypes específicos
Para inspeccionar una imagen solo en busca de ciertos tipos de datos sensibles, especifica sus infotipos integrados correspondientes.
Para inspeccionar una imagen en busca de tipos de información específicos, sigue estos pasos:
- Codifica la imagen en base64.
- Envía una solicitud al
método
content.inspectde la API de DLP. La solicitud debe incluir lo siguiente:- La imagen codificada en base64
- Uno o más detectores de Infotipos
C#
Para obtener información sobre cómo instalar y usar la biblioteca cliente de Sensitive Data Protection, consulta las bibliotecas cliente de Sensitive Data Protection.
Para autenticarte en Sensitive Data Protection, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Go
Para obtener información sobre cómo instalar y usar la biblioteca cliente de Sensitive Data Protection, consulta las bibliotecas cliente de Sensitive Data Protection.
Para autenticarte en Sensitive Data Protection, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Java
Para obtener información sobre cómo instalar y usar la biblioteca cliente de Sensitive Data Protection, consulta las bibliotecas cliente de Sensitive Data Protection.
Para autenticarte en Sensitive Data Protection, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Para obtener información sobre cómo instalar y usar la biblioteca cliente de Sensitive Data Protection, consulta las bibliotecas cliente de Sensitive Data Protection.
Para autenticarte en Sensitive Data Protection, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
PHP
Para obtener información sobre cómo instalar y usar la biblioteca cliente de Sensitive Data Protection, consulta las bibliotecas cliente de Sensitive Data Protection.
Para autenticarte en Sensitive Data Protection, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Para obtener información sobre cómo instalar y usar la biblioteca cliente de Sensitive Data Protection, consulta las bibliotecas cliente de Sensitive Data Protection.
Para autenticarte en Sensitive Data Protection, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
REST
Considera la imagen original de la sección anterior. Para inspeccionar solo direcciones de correo electrónico
y números de teléfono, envía el siguiente JSON al
método content.inspect.
{ "item": { "byteItem": { "data": "BASE64_ENCODED_IMAGE", "type": "IMAGE_PNG" } }, "inspectConfig": { "infoTypes": [ { "name": "PHONE_NUMBER" }, { "name": "EMAIL_ADDRESS" } ] } }
El resultado es similar a lo siguiente:
{ "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" } ] } }
Consulta la guía de inicio rápido de JSON para obtener más información sobre cómo usar la API de DLP con JSON.
Inspecciona una imagen en busca de objetos sensibles
Para inspeccionar una imagen en busca de objetos sensibles, especifica los detectores de Infotipo de objetos integrados en la solicitud.
Para inspeccionar una imagen en busca de infoTypes de objetos específicos, sigue estos pasos:
- Codifica la imagen en base64.
- Envía una solicitud al
método
content.inspectde la API de DLP. La solicitud debe incluir lo siguiente:- La imagen codificada en base64
- Uno o más detectores de Infotipo de objetos.
Por ejemplo, considera la siguiente imagen.
Para inspeccionar esta imagen en busca de infoTypes de objetos específicos, envía el siguiente JSON al
método 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" } ] } }
El resultado es similar a lo siguiente:
{ "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" } ] } }
Consulta la guía de inicio rápido de JSON para obtener más información sobre cómo usar la API de DLP con JSON.
Inspecciona una imagen TIFF de varias páginas
Sensitive Data Protection puede inspeccionar imágenes TIFF, incluidas las imágenes TIFF de varias páginas que tienen hasta 50 páginas. Inspecciona cada página de la imagen y devuelve los hallazgos de todas las páginas en una sola respuesta.
Para inspeccionar una imagen TIFF, sigue estos pasos:
- Codifica la imagen TIFF como base64.
- Envía una solicitud al
método
content.inspectde la API de DLP. En la solicitud, configura eltypedel elemento de byte comoIMAGE_TIFF.
Por ejemplo, para inspeccionar una imagen TIFF en busca de infoTypes predeterminados, envía el siguiente
cuerpo de solicitud JSON al
método content.inspect:
{ "item": { "byteItem": { "data": "BASE64_ENCODED_IMAGE", "type": "IMAGE_TIFF" } } }
En la respuesta, el campo
imageLocation de cada hallazgo
incluye un campo pageNumber que identifica la página que contiene el
hallazgo. Los números de página comienzan en 0. El resultado es similar a lo siguiente:
{ "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" } ] } }
En este ejemplo, Sensitive Data Protection encontró un EMAIL_ADDRESS en la segunda
página de la imagen.
Ten en cuenta los siguientes puntos cuando inspecciones imágenes TIFF:
- Una imagen TIFF puede tener hasta 50 páginas. Si una imagen TIFF tiene más páginas, la solicitud falla. Para obtener más información, consulta Límites de análisis de TIFF.
- Las reglas de exclusión y de ajuste basadas en imágenes (
ExcludeByImageFindingsyAdjustByImageFindings) no son compatibles con las imágenes TIFF. Si tu configuración de inspección incluye estas reglas, la solicitud fallará. - Puedes inspeccionar imágenes TIFF, pero no puedes ocultarlas.
- Al igual que con otros tipos de imágenes, puedes inspeccionar imágenes TIFF solo en ubicaciones que admitan el análisis de imágenes.
Ejemplos de código
A continuación, se muestra un código de muestra en varios lenguajes que indica cómo usar Sensitive Data Protection para inspeccionar una imagen en busca de datos sensibles.
C#
Para obtener información sobre cómo instalar y usar la biblioteca cliente de Sensitive Data Protection, consulta las bibliotecas cliente de Sensitive Data Protection.
Para autenticarte en Sensitive Data Protection, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Go
Para obtener información sobre cómo instalar y usar la biblioteca cliente de Sensitive Data Protection, consulta las bibliotecas cliente de Sensitive Data Protection.
Para autenticarte en Sensitive Data Protection, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Java
Para obtener información sobre cómo instalar y usar la biblioteca cliente de Sensitive Data Protection, consulta las bibliotecas cliente de Sensitive Data Protection.
Para autenticarte en Sensitive Data Protection, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Para obtener información sobre cómo instalar y usar la biblioteca cliente de Sensitive Data Protection, consulta las bibliotecas cliente de Sensitive Data Protection.
Para autenticarte en Sensitive Data Protection, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
PHP
Para obtener información sobre cómo instalar y usar la biblioteca cliente de Sensitive Data Protection, consulta las bibliotecas cliente de Sensitive Data Protection.
Para autenticarte en Sensitive Data Protection, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Para obtener información sobre cómo instalar y usar la biblioteca cliente de Sensitive Data Protection, consulta las bibliotecas cliente de Sensitive Data Protection.
Para autenticarte en Sensitive Data Protection, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Probarlo
Puedes probar cada uno de estos ejemplos o experimentar con tus propias imágenes en el Explorador de API en la página de referencia de content.inspect:
¿Qué sigue?
- Obtén más información sobre el ocultamiento y la inspección de imágenes.
- Obtén información sobre cómo ocultar datos sensibles en imágenes.