Répertorier les détecteurs d'infoTypes intégrés

Les infotypes sont des types de données sensibles. Cloud Data Loss Prevention (DLP) est compatible avec les infoTypes intégrés et personnalisés. Vous pouvez afficher tous les infoTypes intégrés dans la documentation de référence sur les infoTypes ou utiliser l'API Cloud DLP pour répertorier tous les infoTypes intégrés de manière automatisée.

La méthode infoTypes.list permet de répertorier tous les infoTypes intégrés qui sont actuellement compatibles dans Cloud DLP. Chaque infoType inclut les informations suivantes :

  • Identifiant (ID) de l'infoType, nom interne de l'infoType.
  • Nom à afficher de l'infoType, nom lisible de l'infoType.
  • Le cas échéant, mention de la compatibilité de l'infoType avec les opérations d'inspection ou d'analyse des risques.

Exemples de code

Pour répertorier tous les détecteurs d'infoTypes intégrés, procédez comme suit :

Console

  1. Dans Cloud Console, ouvrez Cloud DLP.

    Accéder à l'UI Cloud DLP

  2. Cliquez sur l'onglet Configuration, puis sur InfoTypes.

  3. Une table contenant tous les détecteurs d'infoTypes intégrés s'affiche.

Protocole

Entrée JSON :

GET https://dlp.googleapis.com/v2/infoTypes?key={YOUR_API_KEY}

La requête précédente, lorsqu'elle est envoyée au point de terminaison indiqué, renvoie une liste de tous les détecteurs prédéfinis au format suivant, où :

  • [INFOTYPE-NAME] représente le nom du détecteur d'infoType.
  • [INFOTYPE-DISPLAY-NAME] représente le nom à afficher du détecteur
  • "supportedBy" est défini sur "INSPECT", "RISK_ANALYSIS" ou les deux, selon que le détecteur est compatible avec les opérations d'inspection ou d'analyse des risques.
  • [INFOTYPE-DESCRIPTION] représente la description du détecteur.

Sortie JSON :

{
  "infoTypes":[
    {
      "name":"[INFOTYPE-NAME]",
      "displayName":"[INFOTYPE-DISPLAY-NAME]",
      "supportedBy":[
        "INSPECT"
      ],
      "description":"[INFOTYPE-DESCRIPTION]"
    },
    ...
  ]
}

Java


import com.google.cloud.dlp.v2.DlpServiceClient;
import com.google.privacy.dlp.v2.InfoTypeDescription;
import com.google.privacy.dlp.v2.ListInfoTypesRequest;
import com.google.privacy.dlp.v2.ListInfoTypesResponse;
import java.io.IOException;

public class InfoTypesList {

  public static void main(String[] args) throws IOException {
    listInfoTypes();
  }

  // Lists the types of sensitive information the DLP API supports.
  public static void listInfoTypes() 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 dlpClient = DlpServiceClient.create()) {

      // Construct the request to be sent by the client
      ListInfoTypesRequest listInfoTypesRequest =
          ListInfoTypesRequest.newBuilder()
              // Only return infoTypes supported by certain parts of the API.
              // Supported filters are "supported_by=INSPECT" and "supported_by=RISK_ANALYSIS"
              // Defaults to "supported_by=INSPECT"
              .setFilter("supported_by=INSPECT")
              // BCP-47 language code for localized infoType friendly names.
              // Defaults to "en_US"
              .setLanguageCode("en-US")
              .build();

      // Use the client to send the API request.
      ListInfoTypesResponse response = dlpClient.listInfoTypes(listInfoTypesRequest);

      // Parse the response and process the results
      System.out.println("Infotypes found:");
      for (InfoTypeDescription infoTypeDescription : response.getInfoTypesList()) {
        System.out.println("Name : " + infoTypeDescription.getName());
        System.out.println("Display name : " + infoTypeDescription.getDisplayName());
      }
    }
  }
}

Node.js

// 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 BCP-47 language code to use, e.g. 'en-US'
// const languageCode = 'en-US';

// The filter to use
// const filter = 'supported_by=INSPECT'

async function listInfoTypes() {
  const [response] = await dlp.listInfoTypes({
    languageCode: languageCode,
    filter: filter,
  });
  const infoTypes = response.infoTypes;
  console.log('Info types:');
  infoTypes.forEach(infoType => {
    console.log(`\t${infoType.name} (${infoType.displayName})`);
  });
}

listInfoTypes();

Python

def list_info_types(language_code=None, result_filter=None):
    """List types of sensitive information within a category.
    Args:
        language_code: The BCP-47 language code to use, e.g. 'en-US'.
        filter: An optional filter to only return info types supported by
                certain parts of the API. Defaults to "supported_by=INSPECT".
    Returns:
        None; the response from the API is printed to the terminal.
    """
    # Import the client library
    import google.cloud.dlp

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

    # Make the API call.
    response = dlp.list_info_types(
        request={"parent": language_code, "filter": result_filter}
    )

    # Print the results to the console.
    print("Info types:")
    for info_type in response.info_types:
        print(
            u"{name}: {display_name}".format(
                name=info_type.name, display_name=info_type.display_name
            )
        )

Go

import (
	"context"
	"fmt"
	"io"

	dlp "cloud.google.com/go/dlp/apiv2"
	dlppb "google.golang.org/genproto/googleapis/privacy/dlp/v2"
)

// infoTypes returns the info types in the given language and matching the given filter.
func infoTypes(w io.Writer, languageCode, filter string) error {
	// languageCode := "en-US"
	// filter := "supported_by=INSPECT"
	ctx := context.Background()
	client, err := dlp.NewClient(ctx)
	if err != nil {
		return fmt.Errorf("dlp.NewClient: %v", err)
	}

	req := &dlppb.ListInfoTypesRequest{
		LanguageCode: languageCode,
		Filter:       filter,
	}
	resp, err := client.ListInfoTypes(ctx, req)
	if err != nil {
		return fmt.Errorf("ListInfoTypes: %v", err)
	}
	for _, it := range resp.GetInfoTypes() {
		fmt.Fprintln(w, it.GetName())
	}
	return nil
}

PHP

/**
 * Lists all Info Types for the Data Loss Prevention (DLP) API.
 */
use Google\Cloud\Dlp\V2\DlpServiceClient;

/** Uncomment and populate these variables in your code */
// $filter = ''; // (Optional) filter to use, empty for ''.
// $languageCode = ''; // (Optional) language code, empty for 'en-US'.

// Instantiate a client.
$dlp = new DlpServiceClient();

// Run request
$response = $dlp->listInfoTypes([
    'languageCode' => $languageCode,
    'filter' => $filter
]);

// Print the results
print('Info Types:' . PHP_EOL);
foreach ($response->getInfoTypes() as $infoType) {
    printf(
        '  %s (%s)' . PHP_EOL,
        $infoType->getDisplayName(),
        $infoType->getName()
    );
}

C#


using System;
using Google.Cloud.Dlp.V2;

public class InfoTypesList
{
    public static ListInfoTypesResponse ListInfoTypes(string languageCode, string filter)
    {
        var dlp = DlpServiceClient.Create();
        var response = dlp.ListInfoTypes(
            new ListInfoTypesRequest
            {
                LanguageCode = languageCode,
                Filter = filter
            });

        // Uncomment to print infotypes
        // Console.WriteLine("Info Types:");
        // foreach (var InfoType in response.InfoTypes)
        // {
        //     Console.WriteLine($"\t{InfoType.Name} ({InfoType.DisplayName})");
        // }

        return response;
    }
}

API Explorer

Vous pouvez répertorier les détecteurs d'infoTypes à l'aide d'APIs Explorer :

  1. Pour accéder à APIs Explorer sur la page de référence de l'API pour infoTypes.list, cliquez sur le bouton suivant :

    Ouvrez APIs Explorer

  2. Décochez Google OAuth 2.0.

  3. Cliquez sur Exécuter.

APIs Explorer envoie une requête à Cloud DLP, qui renvoie un objet JSON contenant tous les détecteurs d'infoTypes compatibles.