GSP864
Descripción general
La API de Cloud Data Loss Prevention (DLP) forma parte de Sensitive Data Protection, un servicio completamente administrado diseñado para descubrir, clasificar y proteger información sensible.
Puedes usar la API de DLP para clasificar datos de diversas formas, incluidos el tipo de datos, el nivel de sensibilidad y las categorías.
La API de DLP protege los datos sensibles de varias formas, como las siguientes:
-
Ocultación: Oculta los datos sensibles de un documento o archivo.
-
Enmascaramiento: Enmascara los datos sensibles con un marcador de posición, como
*.
-
Tokenización: Reemplaza los datos sensibles por un identificador único.
-
Encriptación: Encripta los datos sensibles.
En este lab, conocerás las funciones básicas de la API de DLP y probarás varias formas de usarla para proteger datos.
Aprendizajes esperados
En este lab, usarás la API de DLP para hacer lo siguiente:
- Inspeccionar cadenas y archivos en busca de infotipos coincidentes
- Aprender sobre las técnicas de desidentificación y desidentificar datos
- Ocultar infotipos de imágenes y cadenas
Configuración y requisitos
Antes de hacer clic en el botón Comenzar lab
Lee estas instrucciones. Los labs cuentan con un temporizador que no se puede pausar. El temporizador, que comienza a funcionar cuando haces clic en Comenzar lab, indica por cuánto tiempo tendrás a tu disposición los recursos de Google Cloud.
Este lab práctico te permitirá realizar las actividades correspondientes en un entorno de nube real, no en uno de simulación o demostración. Para ello, se te proporcionan credenciales temporales nuevas que utilizarás para acceder a Google Cloud durante todo el lab.
Para completar este lab, necesitarás lo siguiente:
- Acceso a un navegador de Internet estándar. Se recomienda el navegador Chrome.
Nota: Usa una ventana del navegador privada o de incógnito (opción recomendada) para ejecutar el lab. Así evitarás conflictos entre tu cuenta personal y la cuenta de estudiante, lo que podría generar cargos adicionales en tu cuenta personal.
- Tiempo para completar el lab (recuerda que, una vez que comienzas un lab, no puedes pausarlo).
Nota: Usa solo la cuenta de estudiante para este lab. Si usas otra cuenta de Google Cloud, es posible que se apliquen cargos a esa cuenta.
Cómo iniciar tu lab y acceder a la consola de Google Cloud
-
Haz clic en el botón Comenzar lab. Si debes pagar por el lab, se abrirá un diálogo para que selecciones la forma de pago.
A la izquierda, se encuentra el panel Detalles del lab, que tiene estos elementos:
- El botón para abrir la consola de Google Cloud
- El tiempo restante
- Las credenciales temporales que debes usar para el lab
- Otra información para completar el lab, si es necesaria
-
Haz clic en Abrir la consola de Google Cloud (o haz clic con el botón derecho y selecciona Abrir el vínculo en una ventana de incógnito si ejecutas el navegador Chrome).
El lab inicia recursos y abre otra pestaña en la que se muestra la página de acceso.
Sugerencia: Ordena las pestañas en ventanas separadas, una junto a la otra.
Nota: Si ves el diálogo Elegir una cuenta, haz clic en Usar otra cuenta.
-
De ser necesario, copia el nombre de usuario a continuación y pégalo en el diálogo Acceder.
{{{user_0.username | "Username"}}}
También puedes encontrar el nombre de usuario en el panel Detalles del lab.
-
Haz clic en Siguiente.
-
Copia la contraseña que aparece a continuación y pégala en el diálogo Te damos la bienvenida.
{{{user_0.password | "Password"}}}
También puedes encontrar la contraseña en el panel Detalles del lab.
-
Haz clic en Siguiente.
Importante: Debes usar las credenciales que te proporciona el lab. No uses las credenciales de tu cuenta de Google Cloud.
Nota: Usar tu propia cuenta de Google Cloud para este lab podría generar cargos adicionales.
-
Haz clic para avanzar por las páginas siguientes:
- Acepta los Términos y Condiciones.
- No agregues opciones de recuperación o autenticación de dos factores (esta es una cuenta temporal).
- No te registres para obtener pruebas gratuitas.
Después de un momento, se abrirá la consola de Google Cloud en esta pestaña.
Nota: Para acceder a los productos y servicios de Google Cloud, haz clic en el menú de navegación o escribe el nombre del servicio o producto en el campo Buscar.
Activa Cloud Shell
Cloud Shell es una máquina virtual que cuenta con herramientas para desarrolladores. Ofrece un directorio principal persistente de 5 GB y se ejecuta en Google Cloud. Cloud Shell proporciona acceso de línea de comandos a tus recursos de Google Cloud.
-
Haz clic en Activar Cloud Shell
en la parte superior de la consola de Google Cloud.
-
Haz clic para avanzar por las siguientes ventanas:
- Continúa en la ventana de información de Cloud Shell.
- Autoriza a Cloud Shell para que use tus credenciales para realizar llamadas a la API de Google Cloud.
Cuando te conectes, habrás completado la autenticación, y el proyecto estará configurado con tu Project_ID, . El resultado contiene una línea que declara el Project_ID para esta sesión:
Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}
gcloud es la herramienta de línea de comandos de Google Cloud. Viene preinstalada en Cloud Shell y es compatible con la función de autocompletado con tabulador.
- Puedes solicitar el nombre de la cuenta activa con este comando (opcional):
gcloud auth list
- Haz clic en Autorizar.
Resultado:
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
To set the active account, run:
$ gcloud config set account `ACCOUNT`
- Puedes solicitar el ID del proyecto con este comando (opcional):
gcloud config list project
Resultado:
[core]
project = {{{project_0.project_id | "PROJECT_ID"}}}
Nota: Para obtener toda la documentación de gcloud, en Google Cloud, consulta la guía con la descripción general de gcloud CLI.
Configura la región
Establece la región para tu proyecto:
gcloud config set compute/region {{{project_0.default_region | Region}}}
Tarea 1: Clona el repo y habilita las APIs
- En Cloud Shell, ejecuta el siguiente comando para descargar el repositorio del cliente de Node.js de Cloud Data Loss Prevention:
git clone https://github.com/googleapis/synthtool
- Una vez que descargues el código del proyecto, cambia al directorio
samples y, luego, instala los paquetes de Node.js requeridos:
cd synthtool/tests/fixtures/nodejs-dlp/samples/ && npm install
Nota: Pasa por alto los mensajes de advertencia.
- Asegúrate de usar el proyecto correcto configurándolo con el siguiente comando de
gcloud:
export PROJECT_ID={{{project_0.project_id | "filled in at lab start"}}}
gcloud config set project $PROJECT_ID
Habilita las APIs
Estas son las APIs necesarias para habilitar tu proyecto:
-
API de DLP: Proporciona métodos para detectar y desidentificar fragmentos sensibles en cuanto a la privacidad, así como analizar el riesgo que conllevan, en texto, imágenes y repositorios de Google Cloud Storage.
-
API de Cloud Key Management Service (KMS): Google Cloud KMS permite administrar claves de encriptación y realizar operaciones criptográficas con ellas.
- Habilita las APIs requeridas con el siguiente comando de
gcloud:
gcloud services enable dlp.googleapis.com cloudkms.googleapis.com \
--project $PROJECT_ID
Haz clic en Revisar mi progreso para verificar el objetivo.
Habilitar las APIs
Tarea 2: Inspecciona cadenas y archivos
El directorio samples del proyecto descargado en el paso anterior contiene varios archivos JavaScript que utilizan las diferentes funciones de la API de DLP. El archivo inspectString.js permite inspeccionar una cadena proporcionada en busca de infotipos sensibles.
- Proporciona la opción de cadena y una cadena de ejemplo con información potencialmente sensible:
node inspectString.js $PROJECT_ID "My email address is jenny@somedomain.com and you can call me at 555-867-5309" > inspected-string.txt
En el resultado, verás los hallazgos de cada infotipo coincidente, lo que incluye lo siguiente:
-
InfoType: Es el infotipo detectado en esa parte de la cadena. Consulta la lista completa de infotipos posibles aquí. De forma predeterminada, inspectString.js inspecciona solo los infotipos CREDIT_CARD_NUMBER, PHONE_NUMBER, EMAIL_ADDRESS y PERSON_NAME.
-
Likelihood: Los resultados se clasifican según la probabilidad que tienen de representar una coincidencia. Puede variar de VERY_UNLIKELY a VERY_LIKELY.
Puedes verificar el resultado con el siguiente comando:
cat inspected-string.txt
Los hallazgos de la solicitud anterior son los siguientes:
Findings:
Info type: PERSON_NAME
Likelihood: POSSIBLE
Info type: EMAIL_ADDRESS
Likelihood: LIKELY
Info type: PHONE_NUMBER
Likelihood: VERY_LIKELY
- De manera similar, puedes inspeccionar archivos en busca de infotipos. Ejecuta el siguiente comando para revisar el archivo de ejemplo
accounts.txt:
cat resources/accounts.txt
El archivo incluye el siguiente texto:
My credit card number is 1234 5678 9012 3456, and my CVV is 789.
- Usa el archivo
inspectFile.js para inspeccionar el archivo proporcionado en busca de infotipos sensibles:
node inspectFile.js $PROJECT_ID resources/accounts.txt > inspected-file.txt
Puedes verificar el resultado con el siguiente comando:
cat inspected-file.txt
Estos son los resultados:
Findings:
Info type: CREDIT_CARD_NUMBER
Likelihood: VERY_LIKELY
La siguiente es la función asíncrona que usa la API para inspeccionar la entrada de cadena:
async function inspectString(
ProjectId,
string,
minLikelihood,
maxFindings,
infoTypes,
customInfoTypes,
includeQuote
) {
...
}
Los argumentos proporcionados para los parámetros anteriores se usan para construir un objeto de solicitud. Luego, esa solicitud se proporciona a la función inspectContent para obtener una respuesta que genera el siguiente resultado:
// Construye el elemento que se inspeccionará
const item = {value: string};
// Construye la solicitud
const request = {
parent: `projects/${projectId}/locations/global`,
inspectConfig: {
infoTypes: infoTypes,
customInfoTypes: customInfoTypes,
minLikelihood: minLikelihood,
includeQuote: includeQuote,
limits: {
maxFindingsPerRequest: maxFindings,
},
},
item: item,
};
// Ejecuta la solicitud
const [response] = await dlp.inspectContent(request);
Sube el resultado a Cloud Storage
Ejecuta los siguientes comandos para subir las respuestas a Cloud Storage y validar el seguimiento de la actividad:
gsutil cp inspected-string.txt gs://{{{project_0.startup_script.gcs_bucket_name|bucket_name_filled_after_lab_start}}}
gsutil cp inspected-file.txt gs://{{{project_0.startup_script.gcs_bucket_name|bucket_name_filled_after_lab_start}}}
Haz clic en Revisar mi progreso para verificar el objetivo.
Inspeccionar cadenas y archivos
Tarea 3: Desidentificación
Además de inspeccionar y detectar datos sensibles, también puedes usar Sensitive Data Protection para realizar la desidentificación con la API de DLP. La desidentificación es el proceso de quitar información de identificación de los datos. La API detecta datos sensibles según lo definido por los infotipos y, luego, usa una transformación de desidentificación para enmascarar, borrar o, de otro modo, ocultar los datos.
- Ejecuta el siguiente comando para usar
deidentifyWithMask.js y probar la desidentificación con una máscara:
node deidentifyWithMask.js $PROJECT_ID "My order number is F12312399. Email me at anthony@somedomain.com" > de-identify-output.txt
Puedes verificar el resultado con el siguiente comando:
cat de-identify-output.txt
Con una máscara, la API reemplaza los caracteres del infotipo coincidente por otro carácter (de forma predeterminada, *). Resultado de ejemplo:
My order number is F12312399. Email me at *****************************
Fíjate en que la dirección de correo electrónico de la cadena está ofuscada, mientras que el número de pedido arbitrario está intacto (es posible establecer infotipos personalizados, pero no forma parte de los temas de este lab).
Mira la función que usa la API de DLP para desidentificar con una máscara. Una vez más, estos argumentos se usan para construir un objeto de solicitud. Esta vez, se proporciona a la función deidentifyContent:
async function deidentifyWithMask() {
const request = {
parent: `projects/${projectId}/locations/global`,
deidentifyConfig: {
infoTypeTransformations: {
transformations: [
{
primitiveTransformation: {
characterMaskConfig: {
maskingCharacter: maskingCharacter,
numberToMask: numberToMask,
},
},
},
],
},
},
item: item,
};
// Ejecuta la solicitud de desidentificación
const [response] = await dlp.deidentifyContent(request);
Sube el resultado a Cloud Storage
Ejecuta los siguientes comandos para subir las respuestas a Cloud Storage y validar el seguimiento de la actividad:
gsutil cp de-identify-output.txt gs://{{{project_0.startup_script.gcs_bucket_name|bucket_name_filled_after_lab_start}}}
Haz clic en Revisar mi progreso para verificar el objetivo.
Desidentificación
Tarea 4: Oculta imágenes y cadenas
Otro método para ofuscar información sensible es la ocultación, que consiste en reemplazar una coincidencia por el infotipo identificado.
- Usa
redactText.js para ocultar texto de una entrada de muestra:
node redactText.js $PROJECT_ID "Please refund the purchase to my credit card 4012888888881881" CREDIT_CARD_NUMBER > redacted-string.txt
Puedes verificar el resultado con el siguiente comando:
cat redacted-string.txt
En el resultado, el número de tarjeta de crédito de ejemplo se reemplaza por el infotipo CREDIT_CARD_NUMBER:
Please refund the purchase on my credit card [CREDIT_CARD_NUMBER]
La ocultación es útil para esconder información sensible de un modo que permite identificar el infotipo quitado. De manera similar, la API de DLP puede ocultar información de imágenes que contienen texto. Consulta una imagen de muestra (ubicada en el directorio samples/resources):

- Para ocultar el número de teléfono de la imagen anterior, ejecuta el siguiente comando:
node redactImage.js $PROJECT_ID resources/test.png "" PHONE_NUMBER ./redacted-phone.png
Como lo especificaste, se generó una nueva imagen llamada redacted-phone.png con la información solicitada cubierta con un rectángulo negro. Para verificarlo, abre el archivo samples/redacted-phone.png con el Editor de código de Cloud Shell:
Nota: En el Editor de código de Cloud Shell, usa el panel izquierdo (Explorador) para navegar a synthtool > tests > fixtures > nodejs-dlp > samples > redacted-phone.png.

- Inténtalo de nuevo para ocultar la dirección de correo electrónico de la imagen:
node redactImage.js $PROJECT_ID resources/test.png "" EMAIL_ADDRESS ./redacted-email.png
Como lo especificaste, se generó una nueva imagen llamada redacted-email.png con la información solicitada cubierta con un rectángulo negro. Para verificarlo, abre el archivo samples/redacted-email.png en el Editor de código de Cloud Shell:

Esta es la función que se usa para ocultar información de una cadena:
async function redactText(
callingProjectId,
string,
minLikelihood,
infoTypes
) {
...}
Esta es la solicitud proporcionada a la función deidentifyContent:
const request = {
parent: `projects/${projectId}/locations/global`,
item: {
value: string,
},
deidentifyConfig: {
infoTypeTransformations: {
transformations: [replaceWithInfoTypeTransformation],
},
},
inspectConfig: {
minLikelihood: minLikelihood,
infoTypes: infoTypes,
},
};
const [response] = await dlp.deidentifyContent(request);
De manera similar, esta es la función para ocultar una imagen:
async function redactImage(
callingProjectId,
filepath,
minLikelihood,
infoTypes,
outputPath
) {
...}
Esta es la solicitud proporcionada a la función redactImage:
// Construye la solicitud de ocultación de imagen
const request = {
parent: `projects/${projectId}/locations/global`,
byteItem: {
type: fileTypeConstant,
data: fileBytes,
},
inspectConfig: {
minLikelihood: minLikelihood,
infoTypes: infoTypes,
},
imageRedactionConfigs: imageRedactionConfigs,
};
Sube el resultado a Cloud Storage
Ejecuta los siguientes comandos para subir las respuestas a Cloud Storage y validar el seguimiento de la actividad:
gsutil cp redacted-string.txt gs://{{{project_0.startup_script.gcs_bucket_name|bucket_name_filled_after_lab_start}}}
gsutil cp redacted-phone.png gs://{{{project_0.startup_script.gcs_bucket_name|bucket_name_filled_after_lab_start}}}
gsutil cp redacted-email.png gs://{{{project_0.startup_script.gcs_bucket_name|bucket_name_filled_after_lab_start}}}
Haz clic en Revisar mi progreso para verificar el objetivo.
Ocultar imágenes y cadenas
¡Felicitaciones!
La API de Cloud Data Loss Prevention (DLP) es una herramienta potente que proporciona acceso a una plataforma de inspección, clasificación y desidentificación de datos sensibles. Usaste la API de DLP para inspeccionar cadenas y archivos en busca de varios infotipos y, luego, ocultaste datos de una cadena y una imagen.
Próximos pasos y más información
Asegúrate de consultar la siguiente documentación para practicar más con la API de DLP:
Capacitación y certificación de Google Cloud
Recibe la formación que necesitas para aprovechar al máximo las tecnologías de Google Cloud. Nuestras clases incluyen habilidades técnicas y recomendaciones para ayudarte a avanzar rápidamente y a seguir aprendiendo. Para que puedas realizar nuestros cursos cuando más te convenga, ofrecemos distintos tipos de capacitación de nivel básico a avanzado: a pedido, presenciales y virtuales. Las certificaciones te ayudan a validar y demostrar tus habilidades y tu conocimiento técnico respecto a las tecnologías de Google Cloud.
Última actualización del manual: 22 de abril de 2025
Prueba más reciente del lab: 22 de abril de 2025
Copyright 2026 Google LLC. All rights reserved. Google y el logotipo de Google son marcas de Google LLC. Los demás nombres de productos y empresas pueden ser marcas de las respectivas empresas a las que estén asociados.