이 샘플은 저장된 infoType을 만듭니다.
더 살펴보기
이 코드 샘플이 포함된 자세한 문서는 다음을 참조하세요.
코드 샘플
C#
민감한 정보 보호의 클라이언트 라이브러리를 설치하고 사용하는 방법은 민감한 정보 보호 클라이언트 라이브러리를 참조하세요.
Sensitive Data Protection에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
using System;
using Google.Api.Gax.ResourceNames;
using Google.Cloud.Dlp.V2;
public class CreateStoredInfoTypes
{
public static StoredInfoType Create(
string projectId,
string outputPath,
string storedInfoTypeId)
{
// Instantiate the dlp client.
var dlp = DlpServiceClient.Create();
// Construct the stored infotype config by specifying the public table and
// cloud storage output path.
var storedInfoTypeConfig = new StoredInfoTypeConfig
{
DisplayName = "Github Usernames",
Description = "Dictionary of Github usernames used in commits.",
LargeCustomDictionary = new LargeCustomDictionaryConfig
{
BigQueryField = new BigQueryField
{
Table = new BigQueryTable
{
DatasetId = "samples",
ProjectId = "bigquery-public-data",
TableId = "github_nested"
},
Field = new FieldId
{
Name = "actor"
}
},
OutputPath = new CloudStoragePath
{
Path = outputPath
}
},
};
// Construct the request.
var request = new CreateStoredInfoTypeRequest
{
ParentAsLocationName = new LocationName(projectId, "global"),
Config = storedInfoTypeConfig,
StoredInfoTypeId = storedInfoTypeId
};
// Call the API.
StoredInfoType response = dlp.CreateStoredInfoType(request);
// Inspect the response.
Console.WriteLine($"Created the stored infotype at path: {response.Name}");
return response;
}
}
Go
Sensitive Data Protection의 클라이언트 라이브러리를 설치하고 사용하는 방법은 Sensitive Data Protection 클라이언트 라이브러리를 참조하세요.
Sensitive Data Protection에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
import (
"context"
"fmt"
"io"
dlp "cloud.google.com/go/dlp/apiv2"
"cloud.google.com/go/dlp/apiv2/dlppb"
)
// createStoredInfoType creates a custom stored info type based on your input data.
func createStoredInfoType(w io.Writer, projectID, outputPath string) error {
// projectId := "my-project-id"
// outputPath := "gs://" + "your-bucket-name" + "path/to/directory"
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()
// Specify the name you want to give the dictionary.
displayName := "Github Usernames"
// Specify a description of the dictionary.
description := "Dictionary of GitHub usernames used in commits"
// Specify the path to the location in a Cloud Storage
// bucket to store the created dictionary.
cloudStoragePath := &dlppb.CloudStoragePath{
Path: outputPath,
}
// Specify your term list is stored in BigQuery.
bigQueryField := &dlppb.BigQueryField{
Table: &dlppb.BigQueryTable{
ProjectId: "bigquery-public-data",
DatasetId: "samples",
TableId: "github_nested",
},
Field: &dlppb.FieldId{
Name: "actor",
},
}
// Specify the configuration of the large custom dictionary.
largeCustomDictionaryConfig := &dlppb.LargeCustomDictionaryConfig{
OutputPath: cloudStoragePath,
Source: &dlppb.LargeCustomDictionaryConfig_BigQueryField{
BigQueryField: bigQueryField,
},
}
// Specify the configuration for stored infoType.
storedInfoTypeConfig := &dlppb.StoredInfoTypeConfig{
DisplayName: displayName,
Description: description,
Type: &dlppb.StoredInfoTypeConfig_LargeCustomDictionary{
LargeCustomDictionary: largeCustomDictionaryConfig,
},
}
// Combine configurations into a request for the service.
req := &dlppb.CreateStoredInfoTypeRequest{
Parent: fmt.Sprintf("projects/%s/locations/global", projectID),
Config: storedInfoTypeConfig,
StoredInfoTypeId: "github-usernames",
}
// Send the request and receive response from the service.
resp, err := client.CreateStoredInfoType(ctx, req)
if err != nil {
return err
}
// Print the result.
fmt.Fprintf(w, "output: %v", resp.Name)
return nil
}
Java
Sensitive Data Protection의 클라이언트 라이브러리를 설치하고 사용하는 방법은 Sensitive Data Protection 클라이언트 라이브러리를 참조하세요.
Sensitive Data Protection에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
import com.google.cloud.dlp.v2.DlpServiceClient;
import com.google.privacy.dlp.v2.BigQueryField;
import com.google.privacy.dlp.v2.BigQueryTable;
import com.google.privacy.dlp.v2.CloudStoragePath;
import com.google.privacy.dlp.v2.CreateStoredInfoTypeRequest;
import com.google.privacy.dlp.v2.FieldId;
import com.google.privacy.dlp.v2.LargeCustomDictionaryConfig;
import com.google.privacy.dlp.v2.LocationName;
import com.google.privacy.dlp.v2.StoredInfoType;
import com.google.privacy.dlp.v2.StoredInfoTypeConfig;
import java.io.IOException;
public class CreateStoredInfoType {
public static void main(String[] args) throws IOException {
// TODO(developer): Replace these variables before running the sample.
//The Google Cloud project id to use as a parent resource.
String projectId = "your-project-id";
// The path to the location in a GCS bucket to store the created dictionary.
String outputPath = "gs://" + "your-bucket-name" + "path/to/directory";
createStoredInfoType(projectId, outputPath);
}
// Creates a custom stored info type that contains GitHub usernames used in commits.
public static void createStoredInfoType(String projectId, String outputPath)
throws IOException {
try (DlpServiceClient dlp = DlpServiceClient.create()) {
// Optionally set a display name and a description.
String displayName = "GitHub usernames";
String description = "Dictionary of GitHub usernames used in commits";
// The output path where the custom dictionary containing the GitHub usernames will be stored.
CloudStoragePath cloudStoragePath =
CloudStoragePath.newBuilder()
.setPath(outputPath)
.build();
// The reference to the table containing the GitHub usernames.
BigQueryTable table = BigQueryTable.newBuilder()
.setProjectId("bigquery-public-data")
.setDatasetId("samples")
.setTableId("github_nested")
.build();
// The reference to the BigQuery field that contains the GitHub usernames.
BigQueryField bigQueryField = BigQueryField.newBuilder()
.setTable(table)
.setField(FieldId.newBuilder().setName("actor").build())
.build();
LargeCustomDictionaryConfig largeCustomDictionaryConfig =
LargeCustomDictionaryConfig.newBuilder()
.setOutputPath(cloudStoragePath)
.setBigQueryField(bigQueryField)
.build();
StoredInfoTypeConfig storedInfoTypeConfig = StoredInfoTypeConfig.newBuilder()
.setDisplayName(displayName)
.setDescription(description)
.setLargeCustomDictionary(largeCustomDictionaryConfig)
.build();
// Combine configurations into a request for the service.
CreateStoredInfoTypeRequest createStoredInfoType = CreateStoredInfoTypeRequest.newBuilder()
.setParent(LocationName.of(projectId, "global").toString())
.setConfig(storedInfoTypeConfig)
.setStoredInfoTypeId("github-usernames")
.build();
// Send the request and receive response from the service.
StoredInfoType response = dlp.createStoredInfoType(createStoredInfoType);
// Print the results.
System.out.println("Created Stored InfoType: " + response.getName());
}
}
}
Node.js
Sensitive Data Protection의 클라이언트 라이브러리를 설치하고 사용하는 방법은 Sensitive Data Protection 클라이언트 라이브러리를 참조하세요.
Sensitive Data Protection에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
// Import the required libraries
const dlp = require('@google-cloud/dlp');
// Create a DLP client
const dlpClient = new dlp.DlpServiceClient();
// The project ID to run the API call under.
// const projectId = "your-project-id";
// The identifier for the stored infoType
// const infoTypeId = 'github-usernames';
// The path to the location in a Cloud Storage bucket to store the created dictionary
// const outputPath = 'cloud-bucket-path';
// The project ID the table is stored under
// This may or (for public datasets) may not equal the calling project ID
// const dataProjectId = 'my-project';
// The ID of the dataset to inspect, e.g. 'my_dataset'
// const datasetId = 'my_dataset';
// The ID of the table to inspect, e.g. 'my_table'
// const tableId = 'my_table';
// Field ID to be used for constructing dictionary
// const fieldName = 'field_name';
async function createStoredInfoType() {
// The name you want to give the dictionary.
const displayName = 'GitHub usernames';
// A description of the dictionary.
const description = 'Dictionary of GitHub usernames used in commits';
// Specify configuration for the large custom dictionary
const largeCustomDictionaryConfig = {
outputPath: {
path: outputPath,
},
bigQueryField: {
table: {
datasetId: datasetId,
projectId: dataProjectId,
tableId: tableId,
},
field: {
name: fieldName,
},
},
};
// Stored infoType configuration that uses large custom dictionary.
const storedInfoTypeConfig = {
displayName: displayName,
description: description,
largeCustomDictionary: largeCustomDictionaryConfig,
};
// Construct the job creation request to be sent by the client.
const request = {
parent: `projects/${projectId}/locations/global`,
config: storedInfoTypeConfig,
storedInfoTypeId: infoTypeId,
};
// Send the job creation request and process the response.
const [response] = await dlpClient.createStoredInfoType(request);
// Print results
console.log(`InfoType stored successfully: ${response.name}`);
}
await createStoredInfoType();
PHP
Sensitive Data Protection의 클라이언트 라이브러리를 설치하고 사용하는 방법은 Sensitive Data Protection 클라이언트 라이브러리를 참조하세요.
Sensitive Data Protection에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
use Google\Cloud\Dlp\V2\BigQueryField;
use Google\Cloud\Dlp\V2\BigQueryTable;
use Google\Cloud\Dlp\V2\DlpServiceClient;
use Google\Cloud\Dlp\V2\CloudStoragePath;
use Google\Cloud\Dlp\V2\FieldId;
use Google\Cloud\Dlp\V2\LargeCustomDictionaryConfig;
use Google\Cloud\Dlp\V2\StoredInfoTypeConfig;
/**
* Create a stored infoType.
*
* @param string $callingProjectId The Google Cloud Project ID to run the API call under.
* @param string $outputgcsPath The path to the location in a Cloud Storage bucket to store the created dictionary.
* @param string $storedInfoTypeId The name of the custom stored info type.
* @param string $displayName The human-readable name to give the stored infoType.
* @param string $description A description for the stored infoType to be created.
*/
function create_stored_infotype(
string $callingProjectId,
string $outputgcsPath,
string $storedInfoTypeId,
string $displayName,
string $description
): void {
// Instantiate a client.
$dlp = new DlpServiceClient();
// The reference to the table containing the GitHub usernames.
// The reference to the BigQuery field that contains the GitHub usernames.
// Note: we have used public data
$bigQueryField = (new BigQueryField())
->setTable((new BigQueryTable())
->setDatasetId('samples')
->setProjectId('bigquery-public-data')
->setTableId('github_nested'))
->setField((new FieldId())
->setName('actor'));
$largeCustomDictionaryConfig = (new LargeCustomDictionaryConfig())
// The output path where the custom dictionary containing the GitHub usernames will be stored.
->setOutputPath((new CloudStoragePath())
->setPath($outputgcsPath))
->setBigQueryField($bigQueryField);
// Configure the StoredInfoType we want the service to perform.
$storedInfoTypeConfig = (new StoredInfoTypeConfig())
->setDisplayName($displayName)
->setDescription($description)
->setLargeCustomDictionary($largeCustomDictionaryConfig);
// Send the stored infoType creation request and process the response.
$parent = "projects/$callingProjectId/locations/global";
$response = $dlp->createStoredInfoType($parent, $storedInfoTypeConfig, [
'storedInfoTypeId' => $storedInfoTypeId
]);
// Print results.
printf('Successfully created Stored InfoType : %s', $response->getName());
}
Python
Sensitive Data Protection의 클라이언트 라이브러리를 설치하고 사용하는 방법은 Sensitive Data Protection 클라이언트 라이브러리를 참조하세요.
Sensitive Data Protection에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
import google.cloud.dlp
def create_stored_infotype(
project: str,
stored_info_type_id: str,
output_bucket_name: str,
) -> None:
"""Uses the Data Loss Prevention API to create stored infoType.
Args:
project: The Google Cloud project id to use as a parent resource.
stored_info_type_id: The identifier for large custom dictionary.
output_bucket_name: The name of the bucket in Google Cloud Storage
that would store the created dictionary.
"""
# Instantiate a client.
dlp = google.cloud.dlp_v2.DlpServiceClient()
# Construct the stored infoType Configuration dictionary. This example creates
# a stored infoType from a term list stored in a publicly available BigQuery
# database (bigquery-public-data.samples.github_nested).
# The database contains all GitHub usernames used in commits.
stored_info_type_config = {
"display_name": "GitHub usernames",
"description": "Dictionary of GitHub usernames used in commits",
"large_custom_dictionary": {
"output_path": {"path": f"gs://{output_bucket_name}"},
# We can either use bigquery field or gcs file as a term list input option.
"big_query_field": {
"table": {
"project_id": "bigquery-public-data",
"dataset_id": "samples",
"table_id": "github_nested",
},
"field": {"name": "actor"},
},
},
}
# Convert the project id into a full resource id.
parent = f"projects/{project}/locations/global"
# Call the API.
response = dlp.create_stored_info_type(
request={
"parent": parent,
"config": stored_info_type_config,
"stored_info_type_id": stored_info_type_id,
}
)
# Print the result
print(f"Created Stored InfoType: {response.name}")
다음 단계
다른 Google Cloud 제품의 코드 샘플을 검색하고 필터링하려면 Google Cloud 샘플 브라우저를 참조하세요.