Infotipos y detectores de infotipos

La protección de datos sensibles usa tipos de información, o Infotipos, para definir lo que busca. Un Infotipo es un tipo de dato sensible, como un nombre, una dirección de correo electrónico, un número de teléfono, un número de identificación, un número de tarjeta de crédito, etcétera. Un detector de Infotipo es el mecanismo de detección correspondiente que coincide con los criterios de coincidencia de un Infotipo.

Cómo usar Infotipos

La protección de datos sensibles usa detectores de Infotipo en la configuración de sus análisis para determinar qué inspeccionar y cómo transformar los resultados. Los nombres de Infotipo también se usan cuando se muestran o informan resultados de análisis.

Por ejemplo, si deseas buscar direcciones de correo electrónico en un bloque de texto, debes especificar el detector de Infotipo EMAIL_ADDRESS en la configuración de inspección. Si deseas ocultar las direcciones de correo electrónico del bloque de texto, debes especificar EMAIL_ADDRESS en la configuración de inspección y en la de desidentificación para indicar cómo ocultar o transformar ese tipo.

Además, puedes usar una combinación de detectores de Infotipos integrados y personalizados para excluir un subconjunto de direcciones de correo electrónico de los resultados del análisis. Primero, crea un Infotipo personalizado llamado INTERNAL_EMAIL_ADDRESS y configúralo para que se excluyan las direcciones de correo electrónico de prueba internas. Luego, puedes configurar tu análisis con el fin de que incluya resultados para EMAIL_ADDRESS, pero incluye una regla de exclusión que omita cualquier resultado que coincida con INTERNAL_EMAIL_ADDRESS. Si deseas obtener más información sobre las reglas de exclusión y otras funciones de los detectores de Infotipos personalizados, consulta Crea detectores de Infotipos personalizados.

La protección de datos sensibles proporciona un conjunto de detectores de Infotipo integrados que especificas por nombre, cada uno de los cuales aparece en la referencia del detector de Infotipos. Estos detectores usan una variedad de técnicas para encontrar y clasificar cada tipo. Por ejemplo, algunos tipos requerirán una coincidencia de patrones, algunos pueden tener sumas de verificación matemáticas, algunos tienen restricciones de dígitos especiales y otros pueden tener prefijos específicos o contexto alrededor de los resultados.

Ejemplos

Cuando configuras la protección de datos sensibles para analizar tu contenido, debes incluir los detectores de Infotipo que se usarán en la configuración del análisis.

Por ejemplo, en las siguientes muestras de código y JSON, se demuestra una solicitud de análisis simple a la API de DLP. Ten en cuenta que el detector PHONE_NUMBER se especifica en inspectConfig, lo que le indica a la protección de datos sensibles que analice la string determinada en busca de un número de teléfono.

C#

Para obtener información sobre cómo instalar y usar la biblioteca cliente de la protección de datos sensibles, consulta Bibliotecas cliente de la protección de datos sensibles.

Para autenticarte en la protección de datos sensibles, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.


using System;
using Google.Api.Gax.ResourceNames;
using Google.Cloud.Dlp.V2;

public class InspectPhoneNumber
{
    public static InspectContentResponse Inspect(
        string projectId,
        string text,
        Likelihood minLikelihood = Likelihood.Possible)
    {
        // Instantiate a client.
        var dlp = DlpServiceClient.Create();

        // Set content item.
        var contentItem = new ContentItem { Value = text };

        // Construct inspect config.
        var inspectConfig = new InspectConfig
        {
            InfoTypes = { new InfoType { Name = "PHONE_NUMBER" } },
            IncludeQuote = true,
            MinLikelihood = minLikelihood
        };

        // Construct a request.
        var request = new InspectContentRequest
        {
            ParentAsLocationName = new LocationName(projectId, "global"),
            InspectConfig = inspectConfig,
            Item = contentItem,
        };

        // Call the API.
        var response = dlp.InspectContent(request);

        // Inspect the results.
        var resultFindings = response.Result.Findings;

        Console.WriteLine($"Findings: {resultFindings.Count}");

        foreach (var f in resultFindings)
        {
            Console.WriteLine("\tQuote: " + f.Quote);
            Console.WriteLine("\tInfo type: " + f.InfoType.Name);
            Console.WriteLine("\tLikelihood: " + f.Likelihood);
        }

        return response;
    }
}

Go

Para obtener información sobre cómo instalar y usar la biblioteca cliente de la protección de datos sensibles, consulta Bibliotecas cliente de la protección de datos sensibles.

Para autenticarte en la protección de datos sensibles, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

import (
	"context"
	"fmt"
	"io"

	dlp "cloud.google.com/go/dlp/apiv2"
	"cloud.google.com/go/dlp/apiv2/dlppb"
)

// inspectPhoneNumber demonstrates a simple scan request to the Cloud DLP API.
// Notice that the PHONE_NUMBER detector is specified in inspectConfig,
// which instructs Cloud DLP to scan the given string for a phone number.
func inspectPhoneNumber(w io.Writer, projectID, textToInspect string) error {
	// projectID := "my-project-id"
	// textToInspect := "My phone number is (123) 555-6789"

	ctx := context.Background()

	// Initialize a client once and reuse it to send multiple requests. Clients
	// are safe to use across goroutines. When the client is no longer needed,
	// call the Close method to cleanup its resources.
	client, err := dlp.NewClient(ctx)
	if err != nil {
		return err
	}
	// Closing the client safely cleans up background resources.
	defer client.Close()

	// Create and send the request.
	req := &dlppb.InspectContentRequest{
		Parent: fmt.Sprintf("projects/%s/locations/global", projectID),
		Item: &dlppb.ContentItem{
			DataItem: &dlppb.ContentItem_Value{
				Value: textToInspect,
			},
		},
		InspectConfig: &dlppb.InspectConfig{
			// Specify the type of info the inspection will look for.
			// See https://cloud.google.com/dlp/docs/infotypes-reference
			// for complete list of info types
			InfoTypes: []*dlppb.InfoType{
				{Name: "PHONE_NUMBER"},
			},
			IncludeQuote: true,
		},
	}

	// Send the request.
	resp, err := client.InspectContent(ctx, req)
	if err != nil {
		fmt.Fprintf(w, "receive: %v", err)
		return err
	}

	// Process the results.
	result := resp.Result
	fmt.Fprintf(w, "Findings: %d\n", len(result.Findings))
	for _, f := range result.Findings {
		fmt.Fprintf(w, "\tQuote: %s\n", f.Quote)
		fmt.Fprintf(w, "\tInfo type: %s\n", f.InfoType.Name)
		fmt.Fprintf(w, "\tLikelihood: %s\n", f.Likelihood)
	}
	return nil
}

Java

Para obtener información sobre cómo instalar y usar la biblioteca cliente de la protección de datos sensibles, consulta Bibliotecas cliente de la protección de datos sensibles.

Para autenticarte en la protección de datos sensibles, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.


import com.google.cloud.dlp.v2.DlpServiceClient;
import com.google.privacy.dlp.v2.ContentItem;
import com.google.privacy.dlp.v2.Finding;
import com.google.privacy.dlp.v2.InfoType;
import com.google.privacy.dlp.v2.InspectConfig;
import com.google.privacy.dlp.v2.InspectContentRequest;
import com.google.privacy.dlp.v2.InspectContentResponse;
import com.google.privacy.dlp.v2.Likelihood;
import com.google.privacy.dlp.v2.LocationName;
import java.io.IOException;

public class InspectPhoneNumber {

  public static void main(String[] args) throws Exception {
    // TODO(developer): Replace these variables before running the sample.
    String projectId = "your-project-id";
    String textToInspect = "My name is Gary and my email is gary@example.com";
    inspectString(projectId, textToInspect);
  }

  // Inspects the provided text.
  public static void inspectString(String projectId, String textToInspect) throws IOException {
    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests. After completing all of your requests, call
    // the "close" method on the client to safely clean up any remaining background resources.
    try (DlpServiceClient dlp = DlpServiceClient.create()) {
      // Specify the type and content to be inspected.
      ContentItem item = ContentItem.newBuilder().setValue(textToInspect).build();

      // Specify the type of info the inspection will look for.
      // See https://cloud.google.com/dlp/docs/infotypes-reference for complete list of info types
      InfoType infoType = InfoType.newBuilder().setName("PHONE_NUMBER").build();

      // Construct the configuration for the Inspect request.
      InspectConfig config =
          InspectConfig.newBuilder()
              .setIncludeQuote(true)
              .setMinLikelihood(Likelihood.POSSIBLE)
              .addInfoTypes(infoType)
              .build();

      // Construct the Inspect request to be sent by the client.
      InspectContentRequest request =
          InspectContentRequest.newBuilder()
              .setParent(LocationName.of(projectId, "global").toString())
              .setItem(item)
              .setInspectConfig(config)
              .build();

      // Use the client to send the API request.
      InspectContentResponse response = dlp.inspectContent(request);

      // Parse the response and process results
      System.out.println("Findings: " + response.getResult().getFindingsCount());
      for (Finding f : response.getResult().getFindingsList()) {
        System.out.println("\tQuote: " + f.getQuote());
        System.out.println("\tInfo type: " + f.getInfoType().getName());
        System.out.println("\tLikelihood: " + f.getLikelihood());
      }
    }
  }
}

Node.js

Para obtener información sobre cómo instalar y usar la biblioteca cliente de la protección de datos sensibles, consulta Bibliotecas cliente de la protección de datos sensibles.

Para autenticarte en la protección de datos sensibles, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

// Imports the Google Cloud Data Loss Prevention library
const DLP = require('@google-cloud/dlp');

// Instantiates a client
const dlp = new DLP.DlpServiceClient();

// The project ID to run the API call under
// const projectId = 'my-project';

// The string to inspect
// const string = 'My email is gary@example.com and my phone number is (223) 456-7890.';

// The minimum likelihood required before returning a match
// const minLikelihood = 'LIKELIHOOD_UNSPECIFIED';

// The maximum number of findings to report per request (0 = server maximum)
// const maxFindings = 0;

// The infoTypes of information to match
// See https://cloud.google.com/dlp/docs/concepts-infotypes for more information
// about supported infoTypes.
// const infoTypes = [{ name: 'PHONE_NUMBER' }];

// The customInfoTypes of information to match
// const customInfoTypes = [{ infoType: { name: 'DICT_TYPE' }, dictionary: { wordList: { words: ['foo', 'bar', 'baz']}}},
//   { infoType: { name: 'REGEX_TYPE' }, regex: {pattern: '\\(\\d{3}\\) \\d{3}-\\d{4}'}}];

// Whether to include the matching string
// const includeQuote = true;

async function inspectPhoneNumber() {
  // Construct item to inspect
  const item = {value: string};

  // Construct request
  const request = {
    parent: `projects/${projectId}/locations/global`,
    inspectConfig: {
      infoTypes: infoTypes,
      customInfoTypes: customInfoTypes,
      minLikelihood: minLikelihood,
      includeQuote: includeQuote,
      limits: {
        maxFindingsPerRequest: maxFindings,
      },
    },
    item: item,
  };

  // Run request
  const [response] = await dlp.inspectContent(request);
  const findings = response.result.findings;
  if (findings.length > 0) {
    console.log('Findings:');
    findings.forEach(finding => {
      if (includeQuote) {
        console.log(`\tQuote: ${finding.quote}`);
      }
      console.log(`\tInfo type: ${finding.infoType.name}`);
      console.log(`\tLikelihood: ${finding.likelihood}`);
    });
  } else {
    console.log('No findings.');
  }
}
inspectPhoneNumber();

PHP

Para obtener información sobre cómo instalar y usar la biblioteca cliente de la protección de datos sensibles, consulta Bibliotecas cliente de la protección de datos sensibles.

Para autenticarte en la protección de datos sensibles, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

use Google\Cloud\Dlp\V2\Client\DlpServiceClient;
use Google\Cloud\Dlp\V2\ContentItem;
use Google\Cloud\Dlp\V2\InfoType;
use Google\Cloud\Dlp\V2\InspectConfig;
use Google\Cloud\Dlp\V2\InspectContentRequest;
use Google\Cloud\Dlp\V2\Likelihood;

/**
 * Inspect data for phone numbers
 * Demonstrates a simple scan request to the Cloud DLP API. Notice that the PHONE_NUMBER detector is specified in inspectConfig, which instructs Cloud DLP to scan the given string for a phone number.
 *
 * @param string $projectId         The Google Cloud project id to use as a parent resource.
 * @param string $textToInspect     The string to inspect.
 */
function inspect_phone_number(
    // TODO(developer): Replace sample parameters before running the code.
    string $projectId,
    string $textToInspect = 'My name is Gary and my phone number is (415) 555-0890'
): void {
    // Instantiate a client.
    $dlp = new DlpServiceClient();

    $parent = "projects/$projectId/locations/global";

    // Specify what content you want the service to Inspect.
    $item = (new ContentItem())
        ->setValue($textToInspect);

    $inspectConfig = (new InspectConfig())
        // The infoTypes of information to match
        ->setInfoTypes([
            (new InfoType())->setName('PHONE_NUMBER'),
        ])
        // Whether to include the matching string
        ->setIncludeQuote(true)
        ->setMinLikelihood(Likelihood::POSSIBLE);

    // Run request
    $inspectContentRequest = (new InspectContentRequest())
        ->setParent($parent)
        ->setInspectConfig($inspectConfig)
        ->setItem($item);
    $response = $dlp->inspectContent($inspectContentRequest);

    // Print the results
    $findings = $response->getResult()->getFindings();
    if (count($findings) == 0) {
        printf('No findings.' . PHP_EOL);
    } else {
        printf('Findings:' . PHP_EOL);
        foreach ($findings as $finding) {
            printf('  Quote: %s' . PHP_EOL, $finding->getQuote());
            printf('  Info type: %s' . PHP_EOL, $finding->getInfoType()->getName());
            printf('  Likelihood: %s' . PHP_EOL, Likelihood::name($finding->getLikelihood()));
        }
    }
}

Python

Para obtener información sobre cómo instalar y usar la biblioteca cliente de la protección de datos sensibles, consulta Bibliotecas cliente de la protección de datos sensibles.

Para autenticarte en la protección de datos sensibles, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

import google.cloud.dlp

def inspect_phone_number(
    project: str,
    content_string: str,
) -> None:
    """Uses the Data Loss Prevention API to analyze strings for protected data.
    Args:
        project: The Google Cloud project id to use as a parent resource.
        content_string: The string to inspect phone number from.
    """

    # Instantiate a client.
    dlp = google.cloud.dlp_v2.DlpServiceClient()

    # Prepare info_types by converting the list of strings into a list of
    # dictionaries (protos are also accepted).
    info_types = [{"name": "PHONE_NUMBER"}]

    # Construct the configuration dictionary.
    inspect_config = {
        "info_types": info_types,
        "include_quote": True,
    }

    # Construct the `item`.
    item = {"value": content_string}

    # Convert the project id into a full resource id.
    parent = f"projects/{project}"

    # Call the API.
    response = dlp.inspect_content(
        request={"parent": parent, "inspect_config": inspect_config, "item": item}
    )

    # Print out the results.
    if response.result.findings:
        for finding in response.result.findings:
            print(f"Quote: {finding.quote}")
            print(f"Info type: {finding.info_type.name}")
            print(f"Likelihood: {finding.likelihood}")
    else:
        print("No findings.")

REST

Entrada de JSON:

POST https://dlp.googleapis.com/v2/projects/[PROJECT-ID]/content:inspect?key={YOUR_API_KEY}

{
  "item":{
    "value":"My phone number is (415) 555-0890"
  },
  "inspectConfig":{
    "includeQuote":true,
    "minLikelihood":"POSSIBLE",
    "infoTypes":{
      "name":"PHONE_NUMBER"
    }
  }
}

Cuando envías la solicitud anterior al extremo especificado, la protección de datos sensibles muestra lo siguiente:

Salida de JSON:

{
  "result":{
    "findings":[
      {
        "quote":"(415) 555-0890",
        "infoType":{
          "name":"PHONE_NUMBER"
        },
        "likelihood":"VERY_LIKELY",
        "location":{
          "byteRange":{
            "start":"19",
            "end":"33"
          },
          "codepointRange":{
            "start":"19",
            "end":"33"
          }
        },
        "createTime":"2018-10-29T23:46:34.535Z"
      }
    ]
  }
}

Si necesitas control y previsibilidad precisos sobre los detectores que se ejecutan, debes especificar Infotipos enumerados en la referencia. De lo contrario, la protección de datos sensibles usará una lista predeterminada, que puede cambiar con el tiempo. Según la cantidad de contenido para analizar, buscar Infotipos predeterminados puede llevar mucho tiempo o ser demasiado costoso.

Si quieres obtener más información sobre cómo usar los detectores de Infotipos para analizar tu contenido, consulta uno de los temas prácticos sobre análisis, ocultamiento o desidentificación.

Certeza y pruebas

Los resultados se informan con una puntuación de certeza llamada probabilidad. La puntuación de probabilidad indica la probabilidad de que un resultado coincida con el tipo correspondiente. Por ejemplo, un tipo puede mostrar una probabilidad más baja si solo coincide con el patrón y una más alta si coincide con el patrón y tiene un contexto positivo a su alrededor. Por este motivo, es posible que observes que un solo resultado puede coincidir con varios tipos con menor probabilidad. Además, es posible que un resultado no aparezca o tenga una certeza más baja si no coincide de forma correcta o si tiene un contexto negativo. Por ejemplo, es posible que un resultado no se informe si coincide con la estructura del Infotipo especificado, pero falla la suma de verificación del Infotipo. O un resultado podría coincidir con más de un Infotipo, pero tener contexto que esté a favor de uno de ellos y, por lo tanto, solo se informe para ese tipo.

Si estás probando varios detectores, es posible que notes que los datos falsos o de muestra no se informan porque esos datos no pasan suficientes verificaciones para informarse.

Tipos de detectores de Infotipos

La protección de datos sensibles incluye varios tipos de detectores de Infotipo, los cuales se resumen a continuación:

  • Los detectores de Infotipo integrados están integrados en la Protección de datos sensibles. Incluyen detectores para tipos de datos sensibles específicos de un país o región, así como tipos de datos aplicables a nivel global.
  • Los detectores de Infotipos personalizados son detectores que creas tú mismo. Existen tres tipos de detectores de Infotipos personalizados:
    • Los detectores de diccionarios personalizados pequeños son listas de palabras simples con las que coincide la protección de datos sensibles. Usa los detectores de diccionarios personalizados pequeños cuando tengas una lista de al menos varias decenas de miles de palabras o frases. Se prefieren los detectores de diccionarios personalizados pequeños si esperas que la lista de palabras no cambie de forma significativa.
    • La protección de datos sensibles genera detectores de diccionarios personalizados grandes con listas grandes de palabras o frases almacenadas en Cloud Storage o BigQuery. Usa los detectores de diccionarios personalizados grandes cuando tengas una gran lista de palabras o frases (hasta decenas de millones).
    • Los detectores de expresiones regulares (regex) permiten que la protección de datos sensibles detecte coincidencias basadas en un patrón de expresión regular.

Además, la protección de datos sensibles incluye el concepto de reglas de inspección, que te permiten ajustar los resultados del análisis mediante lo siguiente:

  • Las reglas de exclusión te permiten reducir el número de resultados que se muestran mediante la adición de reglas a un detector de Infotipo incorporado o personalizado.
  • Las reglas de palabra clave te permiten aumentar la cantidad o cambiar el valor de probabilidad de los resultados que se muestran si agregas reglas a un detector de Infotipos integrado o personalizado.

Detectores de Infotipo incorporados

Los detectores de Infotipo integrados están integrados en la Protección de datos sensibles y, además, incluyen detectores para tipos de datos sensibles específicos de un país o región, como el Numéro d'Inscription au Répertoire (NIR) (FRANCE_NIR) francés, el número de licencia de conducir del Reino Unido (UK_DRIVERS_LICENSE_NUMBER) y el número de seguridad social de EE.UU. (US_SOCIAL_SECURITY_NUMBER). También incluyen varios tipos de datos de protección (US_SOCIAL_SECURITY_NUMBER), datos de verificación de datos aplicables a nivel mundial, números de verificación de datos y tipos de datos de las personas (EMAIL_ADDRESS), así como los números de verificación de datos y tipos de información de las personas aplicables a nivel mundial, como el nombre de una persona (EMAIL_ADDRESS).PERSON_NAMEPHONE_NUMBERCREDIT_CARD_NUMBER

La lista de detectores de Infotipo incorporados siempre se actualiza. Para obtener una lista completa de los detectores de Infotipos integrados que se admiten por el momento, consulta la Referencia del detector de Infotipos.

También puedes ver una lista completa de todos los detectores de Infotipo integrados si llamas al método infoTypes.list de la protección de datos sensibles.

Los detectores de Infotipos incorporados no son un método de detección 100% preciso. Por ejemplo, no pueden asegurar el cumplimiento de los requisitos regulatorios. Debes decidir qué datos son sensibles y cómo protegerlos de la mejor forma. Google recomienda que pruebes tus opciones de configuración a fin de asegurarte de que cumplan con tus requisitos.

Idiomas admitidos

Los infotipos específicos por país admiten el idioma inglés y los idiomas del país respectivo. La mayoría de los infotipos globales funcionan con varios lenguajes. Prueba la protección de datos sensibles con tus datos para verificar que cumplan con tus requisitos.

Detectores de Infotipo personalizados

Existen tres tipos de detectores de Infotipos personalizados:

Además, la protección de datos sensibles incluye reglas de inspección que te permiten ajustar los resultados del análisis mediante la adición de lo siguiente a los detectores existentes:

Detectores de diccionarios personalizados pequeños

Usa los detectores de diccionarios personalizados pequeños (también conocidos como “detectores de diccionario personalizados normales”) para hacer coincidir una lista corta (hasta varias decenas de miles) de palabras o frases. Un diccionario personalizado pequeño puede funcionar como su propio detector único.

Los detectores de diccionarios personalizados son útiles cuando deseas analizar en busca de una lista de palabras o frases que no se pueden combinar con facilidad mediante una expresión regular ni un detector incorporado. Por ejemplo, supongamos que deseas analizar en busca de salas de conferencias a las que se suele hacer referencia por los nombres que tienen asignadas en lugar de los números de las salas, como los nombres de estados o regiones, puntos de referencia, personajes de ficción, etcétera. Puedes crear un detector de diccionario personalizado pequeño que contenga una lista de estos nombres de salas. La Protección de datos sensibles puede analizar tu contenido para cada uno de los nombres de las habitaciones y mostrar una coincidencia cuando encuentra uno de ellos en contexto. Obtén más información sobre cómo la protección de datos sensibles coincide con las palabras y las frases del diccionario en la sección "Detalles de coincidencias en el diccionario" de Crea un detector de diccionario personalizado normal.

Para obtener más detalles sobre cómo funcionan los detectores de Infotipos personalizados de diccionarios pequeños, así como ejemplos prácticos, consulta Crea un detector de diccionario personalizado normal.

Detectores de diccionarios personalizados grandes

Usa los detectores de diccionarios personalizados grandes (también conocidos como “detectores de diccionarios personalizados almacenados”) cuando tengas más que unas pocas palabras o frases para buscar, o si tu lista de palabras o frases cambia con frecuencia. Los detectores de diccionario personalizados grandes pueden detectar coincidencias con hasta decenas de millones de palabras o frases.

Los detectores de diccionarios personalizados grandes se crean de manera diferente a los detectores de expresiones regulares y los detectores de diccionarios personalizados pequeños. Cada diccionario personalizado grande tiene dos componentes:

  • Una lista de frases que creas y defines. La lista se almacena como un archivo de texto dentro de Cloud Storage o como una columna en una tabla de BigQuery.
  • Los archivos de diccionario generados, que la Protección de datos sensibles crea según tu lista de frases. Los archivos del diccionario se almacenan en Cloud Storage y se componen de una copia de los datos de la frase fuente más los filtros de Bloom que ayudan en la búsqueda y en la detección de coincidencias. No puedes editar estos archivos directamente.

Una vez que creaste una lista de palabras y usaste la Protección de datos sensibles para generar un diccionario personalizado, inicia o programa un análisis con un detector de diccionario personalizado grande de manera similar a otros detectores de Infotipo.

Para obtener más detalles sobre cómo funcionan los detectores de diccionarios personalizados grandes y ejemplos prácticos, consulta Crea un detector de diccionario personalizado almacenado.

Expresiones regulares

Un detector de Infotipo personalizado de expresiones regulares (regex) te permite crear tus propios detectores de infotipos que permiten que la protección de datos sensibles detecte coincidencias basadas en un patrón de regex. Por ejemplo, supongamos que tienes números de historias clínicas en el formato ###-#-#####. Podrías definir un patrón de regex como el siguiente:

[1-9]{3}-[1-9]{1}-[1-9]{5}

La Protección de datos sensibles coincidiría con elementos como los siguientes:

123-4-56789

También puedes especificar una probabilidad para asignar a cada coincidencia de Infotipo personalizada. Es decir, cuando la protección de datos sensibles coincida con la secuencia que especifiques, se le asignará la probabilidad que indicaste. Esto es útil porque, si tu regex personalizada define una secuencia que es lo suficientemente común como para coincidir con facilidad con otra secuencia aleatoria, no querrás que la protección de datos sensibles etiquete cada coincidencia como VERY_LIKELY. Si eso sucediera, la confianza en los resultados del análisis se vería afectada y podría causar la desidentificación de la información incorrecta.

Para obtener más información sobre los detectores de Infotipos personalizados de expresiones regulares y ver ejemplos prácticos, consulta Crea un detector de regex personalizado.

Reglas de inspección

Usa las reglas de inspección para definir mejor los resultados que muestran los detectores de Infotipos existentes, ya sean incorporados o personalizados. Las reglas de inspección pueden ser útiles cuando los resultados que muestra la Protección de datos sensibles deben mejorarse de alguna manera, ya sea mediante la adición al detector de Infotipo existente o la exclusión desde este.

Los dos tipos de reglas de inspección son los siguientes:

  • Reglas de exclusión
  • Reglas de palabra clave

Si quieres obtener más información sobre las reglas de inspección, consulta Modifica los detectores de Infotipos para definir mejor los resultados del análisis.

Reglas de exclusión

Las reglas de exclusión te permiten disminuir la cantidad o precisión de los resultados que se muestran si agregas reglas a un detector de Infotipo incorporado o personalizado. Las reglas de exclusión pueden ayudarte a que un detector de Infotipos no muestre ruido ni otros resultados no deseados.

Por ejemplo, si analizas una base de datos en busca de direcciones de correo electrónico, puedes agregar una regla de exclusión en forma de una regex personalizada que indique a la protección de datos sensibles que excluya cualquier resultado que termine en "@example.com".

Si quieres obtener más información sobre las reglas de exclusión, consulta Modifica los detectores de Infotipos para definir mejor los resultados del análisis.

Reglas de palabra clave

Las reglas de palabra clave te permiten aumentar la cantidad o precisión de los resultados que se muestran si agregas reglas a un detector de Infotipos integrado o personalizado. Las reglas de palabra clave pueden ayudarte a disminuir la rigurosidad de las reglas de un detector de Infotipos existente.

Por ejemplo, supongamos que deseas analizar una base de datos médica en busca de nombres de pacientes. Puedes usar el detector de Infotipo integrado PERSON_NAME de la Protección de datos sensibles, pero eso hará que la protección de datos sensibles coincida con todos los nombres de personas, no solo con los nombres de los pacientes. Para corregir esto, puedes incluir una regla de palabra clave con formato de Infotipo personalizado de regex que busque la palabra “paciente” dentro de una cierta proximidad de caracteres del primer carácter de coincidencias posibles. Luego, puedes asignar a los resultados que coincidan con este patrón una probabilidad de “muy probable”, ya que corresponden a esos criterios especiales.

Si quieres obtener más información sobre las reglas de palabra clave, consulta Modifica los detectores de Infotipos para definir mejor los resultados del análisis.

Ejemplos

Si deseas tener una mejor idea de cómo los Infotipos encuentran coincidencias con los resultados, consulta los siguientes ejemplos de coincidencias en una serie de dígitos para determinar si constituye un número de identificación personal de EE.UU o un número de identificación de contribuyente de EE.UU. Ten en cuenta que estos ejemplos son para detectores de Infotipos integrados. Cuando creas un detector de Infotipos personalizado, especificas los criterios que determinan la probabilidad de una coincidencia de análisis.

Ejemplo 1

"SSN 222-22-2222"

Informa una puntuación de probabilidad alta de VERY_LIKELY para un US_SOCIAL_SECURITY_NUMBER debido a lo siguiente:

  • Está en el formato de número de identificación personal estándar, lo que aumenta la certeza.
  • Tiene contexto cercano (“NSS”) que indica US_SOCIAL_SECURITY_NUMBER.

Ejemplo 2

"999-99-9999"

Informa una puntuación de probabilidad baja de VERY_UNLIKELY para un US_SOCIAL_SECURITY_NUMBER debido a lo siguiente:

  • Está en el formato estándar, lo que aumenta la certeza.
  • Comienza con un 9, lo que no está permitido en los números de identificación personal, por lo que disminuye la certeza.
  • No tiene contexto, lo que disminuye la certeza.

Ejemplo 3

"999-98-9999"

Informa una puntuación de probabilidad POSSIBLE para un US_INDIVIDUAL_TAXPAYER_IDENTIFICATION_NUMBER y VERY_UNLIKELY para un US_SOCIAL_SECURITY_NUMBER debido a lo siguiente:

  • Tiene el formato estándar de US_SOCIAL_SECURITY_NUMBER y US_INDIVIDUAL_TAXPAYER_IDENTIFICATION_NUMBER.
  • Comienza con un 9 y tiene otra verificación de dígitos, lo que aumenta la certeza de US_INDIVIDUAL_TAXPAYER_IDENTIFICATION_NUMBER.
  • Carece de contexto, lo que disminuye la certeza de ambos.

¿Qué sigue?

El equipo de protección de datos sensibles lanza nuevos detectores de Infotipo y grupos de forma periódica. Para obtener información sobre cómo obtener la lista más reciente de Infotipos integrados, consulta “Enumera los detectores de Infotipos integrados”.