@google-cloud/dlp 6.0.1 → 6.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -4,6 +4,23 @@
4
4
 
5
5
  [1]: https://www.npmjs.com/package/PACKAGE NAME?activeTab=versions
6
6
 
7
+ ## [6.2.0](https://github.com/googleapis/google-cloud-node/compare/dlp-v6.1.0...dlp-v6.2.0) (2025-06-03)
8
+
9
+
10
+ ### Features
11
+
12
+ * [dlp] add Dataplex Catalog action for discovery configs ([#6381](https://github.com/googleapis/google-cloud-node/issues/6381)) ([0a4221e](https://github.com/googleapis/google-cloud-node/commit/0a4221eb6787f427f82b835b6bd27c7fd5363b41))
13
+ * Add a project ID to table reference so that org parents can create single table discovery configs. ([0a4221e](https://github.com/googleapis/google-cloud-node/commit/0a4221eb6787f427f82b835b6bd27c7fd5363b41))
14
+ * New fields for data profile finding. ([0a4221e](https://github.com/googleapis/google-cloud-node/commit/0a4221eb6787f427f82b835b6bd27c7fd5363b41))
15
+
16
+ ## [6.1.0](https://github.com/googleapis/google-cloud-node/compare/dlp-v6.0.1...dlp-v6.1.0) (2025-03-21)
17
+
18
+
19
+ ### Features
20
+
21
+ * [dlp] add sample findings for data profiles ([#6192](https://github.com/googleapis/google-cloud-node/issues/6192)) ([3f39c49](https://github.com/googleapis/google-cloud-node/commit/3f39c49a0bd9cc9ee7544ae0dba60bf7d5c69805))
22
+ * List tags on resources for data profiles ([3f39c49](https://github.com/googleapis/google-cloud-node/commit/3f39c49a0bd9cc9ee7544ae0dba60bf7d5c69805))
23
+
7
24
  ## [6.0.1](https://github.com/googleapis/google-cloud-node/compare/dlp-v6.0.0...dlp-v6.0.1) (2025-03-19)
8
25
 
9
26
 
package/README.md CHANGED
@@ -44,7 +44,7 @@ Google APIs Client Libraries, in [Client Libraries Explained][explained].
44
44
  1. [Select or create a Cloud Platform project][projects].
45
45
  1. [Enable billing for your project][billing].
46
46
  1. [Enable the Cloud Data Loss Prevention API][enable_api].
47
- 1. [Set up authentication with a service account][auth] so you can access the
47
+ 1. [Set up authentication][auth] so you can access the
48
48
  API from your local workstation.
49
49
 
50
50
  ### Installing the client library
@@ -250,4 +250,4 @@ See [LICENSE](https://github.com/googleapis/google-cloud-node/blob/main/LICENSE)
250
250
  [projects]: https://console.cloud.google.com/project
251
251
  [billing]: https://support.google.com/cloud/answer/6293499#enable-billing
252
252
  [enable_api]: https://console.cloud.google.com/flows/enableapi?apiid=dlp.googleapis.com
253
- [auth]: https://cloud.google.com/docs/authentication/getting-started
253
+ [auth]: https://cloud.google.com/docs/authentication/external/set-up-adc-local
@@ -88,6 +88,9 @@ service DlpService {
88
88
  // When no InfoTypes or CustomInfoTypes are specified in this request, the
89
89
  // system will automatically choose what detectors to run. By default this may
90
90
  // be all types, but may change over time as detectors are updated.
91
+ //
92
+ // Only the first frame of each multiframe image is redacted. Metadata and
93
+ // other frames are omitted in the response.
91
94
  rpc RedactImage(RedactImageRequest) returns (RedactImageResponse) {
92
95
  option (google.api.http) = {
93
96
  post: "/v2/{parent=projects/*}/image:redact"
@@ -144,6 +147,12 @@ service DlpService {
144
147
  option (google.api.http) = {
145
148
  get: "/v2/infoTypes"
146
149
  additional_bindings { get: "/v2/{parent=locations/*}/infoTypes" }
150
+ additional_bindings {
151
+ get: "/v2/{parent=projects/*/locations/*}/infoTypes"
152
+ }
153
+ additional_bindings {
154
+ get: "/v2/{parent=organizations/*/locations/*}/infoTypes"
155
+ }
147
156
  };
148
157
  option (google.api.method_signature) = "parent";
149
158
  }
@@ -1183,6 +1192,9 @@ message ByteContentItem {
1183
1192
  // The type of data being sent for inspection. To learn more, see
1184
1193
  // [Supported file
1185
1194
  // types](https://cloud.google.com/sensitive-data-protection/docs/supported-file-types).
1195
+ //
1196
+ // Only the first frame of each multiframe image is inspected. Metadata and
1197
+ // other frames aren't inspected.
1186
1198
  enum BytesType {
1187
1199
  // Unused
1188
1200
  BYTES_TYPE_UNSPECIFIED = 0;
@@ -2038,6 +2050,13 @@ message InfoTypeDescription {
2038
2050
 
2039
2051
  // The default sensitivity of the infoType.
2040
2052
  SensitivityScore sensitivity_score = 11;
2053
+
2054
+ // If this field is set, this infoType is a general infoType and these
2055
+ // specific infoTypes are contained within it.
2056
+ // General infoTypes are infoTypes that encompass multiple specific infoTypes.
2057
+ // For example, the "GEOGRAPHIC_DATA" general infoType would have set for this
2058
+ // field "LOCATION", "LOCATION_COORDINATES", and "STREET_ADDRESS".
2059
+ repeated string specific_info_types = 12;
2041
2060
  }
2042
2061
 
2043
2062
  // Classification of infoTypes to organize them according to geographic
@@ -2089,6 +2108,9 @@ message InfoTypeCategory {
2089
2108
  // The infoType is typically used in Croatia.
2090
2109
  CROATIA = 42;
2091
2110
 
2111
+ // The infoType is typically used in Czechia.
2112
+ CZECHIA = 52;
2113
+
2092
2114
  // The infoType is typically used in Denmark.
2093
2115
  DENMARK = 10;
2094
2116
 
@@ -4177,32 +4199,78 @@ message Action {
4177
4199
  // Compatible with: Inspect
4178
4200
  message PublishFindingsToCloudDataCatalog {}
4179
4201
 
4180
- // Create a de-identified copy of the requested table or files.
4202
+ // Create a de-identified copy of a storage bucket. Only compatible
4203
+ // with Cloud Storage buckets.
4204
+ //
4181
4205
  //
4182
4206
  // A TransformationDetail will be created for each transformation.
4183
4207
  //
4184
- // If any rows in BigQuery are skipped during de-identification
4185
- // (transformation errors or row size exceeds BigQuery insert API limits) they
4186
- // are placed in the failure output table. If the original row exceeds
4187
- // the BigQuery insert API limit it will be truncated when written to the
4188
- // failure output table. The failure output table can be set in the
4189
- // action.deidentify.output.big_query_output.deidentified_failure_output_table
4190
- // field, if no table is set, a table will be automatically created in the
4191
- // same project and dataset as the original table.
4192
4208
  //
4193
- // Compatible with: Inspect
4209
+ // Compatible with: Inspection of Cloud Storage
4194
4210
  message Deidentify {
4195
4211
  // User specified deidentify templates and configs for structured,
4196
4212
  // unstructured, and image files.
4197
4213
  TransformationConfig transformation_config = 7;
4198
4214
 
4199
- // Config for storing transformation details. This is separate from the
4200
- // de-identified content, and contains metadata about the successful
4201
- // transformations and/or failures that occurred while de-identifying. This
4202
- // needs to be set in order for users to access information about the status
4203
- // of each transformation (see
4215
+ // Config for storing transformation details.
4216
+ //
4217
+ // This field specifies the configuration for storing detailed metadata
4218
+ // about each transformation performed during a de-identification process.
4219
+ // The metadata is stored separately from the de-identified content itself
4220
+ // and provides a granular record of both successful transformations and any
4221
+ // failures that occurred.
4222
+ //
4223
+ // Enabling this configuration is essential for users who need to access
4224
+ // comprehensive information about the status, outcome, and specifics of
4225
+ // each transformation. The details are captured in the
4204
4226
  // [TransformationDetails][google.privacy.dlp.v2.TransformationDetails]
4205
- // message for more information about what is noted).
4227
+ // message for each operation.
4228
+ //
4229
+ // Key use cases:
4230
+ //
4231
+ // * **Auditing and compliance**
4232
+ // * Provides a verifiable audit trail of de-identification activities,
4233
+ // which is crucial for meeting regulatory requirements and internal
4234
+ // data governance policies.
4235
+ // * Logs what data was transformed, what transformations were applied,
4236
+ // when they occurred, and their success status. This helps
4237
+ // demonstrate accountability and due diligence in protecting
4238
+ // sensitive data.
4239
+ //
4240
+ // * **Troubleshooting and debugging**
4241
+ // * Offers detailed error messages and context if a transformation
4242
+ // fails. This information is useful for diagnosing and resolving
4243
+ // issues in the de-identification pipeline.
4244
+ // * Helps pinpoint the exact location and nature of failures, speeding
4245
+ // up the debugging process.
4246
+ //
4247
+ // * **Process verification and quality assurance**
4248
+ // * Allows users to confirm that de-identification rules and
4249
+ // transformations were applied correctly and consistently across
4250
+ // the dataset as intended.
4251
+ // * Helps in verifying the effectiveness of the chosen
4252
+ // de-identification strategies.
4253
+ //
4254
+ // * **Data lineage and impact analysis**
4255
+ // * Creates a record of how data elements were modified, contributing
4256
+ // to data lineage. This is useful for understanding the provenance
4257
+ // of de-identified data.
4258
+ // * Aids in assessing the potential impact of de-identification choices
4259
+ // on downstream analytical processes or data usability.
4260
+ //
4261
+ // * **Reporting and operational insights**
4262
+ // * You can analyze the metadata stored in a queryable BigQuery table
4263
+ // to generate reports on transformation success rates, common
4264
+ // error types, processing volumes (e.g., transformedBytes), and the
4265
+ // types of transformations applied.
4266
+ // * These insights can inform optimization of de-identification
4267
+ // configurations and resource planning.
4268
+ //
4269
+ // To take advantage of these benefits, set this configuration. The stored
4270
+ // details include a description of the transformation, success or
4271
+ // error codes, error messages, the number of bytes transformed, the
4272
+ // location of the transformed content, and identifiers for the job and
4273
+ // source data.
4206
4274
  TransformationDetailsStorageConfig transformation_details_storage_config =
4207
4275
  3;
4208
4276
 
@@ -4861,6 +4929,15 @@ message DataProfileAction {
4861
4929
  // If you use VPC Service Controls to define security perimeters, then
4862
4930
  // you must use a separate table for each boundary.
4863
4931
  BigQueryTable profile_table = 1;
4932
+
4933
+ // Store sample [data profile
4934
+ // findings][google.privacy.dlp.v2.DataProfileFinding] in an existing table
4935
+ // or a new table in an existing dataset. Each regeneration will result in
4936
+ // new rows in BigQuery. Data is inserted using [streaming
4937
+ // insert](https://cloud.google.com/blog/products/bigquery/life-of-a-bigquery-streaming-insert)
4938
+ // and so data may be in the buffer for a period of time after the profile
4939
+ // has finished.
4940
+ BigQueryTable sample_findings_table = 2;
4864
4941
  }
4865
4942
 
4866
4943
  // Send a Pub/Sub message into the given Pub/Sub topic to connect other
@@ -4927,6 +5004,18 @@ message DataProfileAction {
4927
5004
  // Center for each profile.
4928
5005
  message PublishToSecurityCommandCenter {}
4929
5006
 
5007
+ // Create Dataplex Catalog aspects for profiled resources with the aspect type
5008
+ // Sensitive Data Protection Profile. To learn more about aspects, see
5009
+ // https://cloud.google.com/sensitive-data-protection/docs/add-aspects.
5010
+ message PublishToDataplexCatalog {
5011
+ // Whether creating a Dataplex Catalog aspect for a profiled resource should
5012
+ // lower the risk of the profile for that resource. This also lowers the
5013
+ // data risk of resources at the lower levels of the resource hierarchy. For
5014
+ // example, reducing the data risk of a table data profile also reduces the
5015
+ // data risk of the constituent column data profiles.
5016
+ bool lower_data_risk_to_low = 1;
5017
+ }
5018
+
4930
5019
  // If set, attaches the [tags]
4931
5020
  // (https://cloud.google.com/resource-manager/docs/tags/tags-overview)
4932
5021
  // provided to profiled resources. Tags support [access
@@ -5000,9 +5089,80 @@ message DataProfileAction {
5000
5089
 
5001
5090
  // Tags the profiled resources with the specified tag values.
5002
5091
  TagResources tag_resources = 8;
5092
+
5093
+ // Publishes a portion of each profile to Dataplex Catalog with the aspect
5094
+ // type Sensitive Data Protection Profile.
5095
+ PublishToDataplexCatalog publish_to_dataplex_catalog = 9;
5003
5096
  }
5004
5097
  }
5005
5098
 
5099
+ // Details about a piece of potentially sensitive information that was detected
5100
+ // when the data resource was profiled.
5101
+ message DataProfileFinding {
5102
+ // The content that was found. Even if the content is not textual, it
5103
+ // may be converted to a textual representation here. If the finding exceeds
5104
+ // 4096 bytes in length, the quote may be omitted.
5105
+ string quote = 1;
5106
+
5107
+ // The [type of
5108
+ // content](https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference)
5109
+ // that might have been found.
5110
+ InfoType infotype = 2;
5111
+
5112
+ // Contains data parsed from quotes. Currently supported infoTypes: DATE,
5113
+ // DATE_OF_BIRTH, and TIME.
5114
+ QuoteInfo quote_info = 3;
5115
+
5116
+ // Resource name of the data profile associated with the finding.
5117
+ string data_profile_resource_name = 4;
5118
+
5119
+ // A unique identifier for the finding.
5120
+ string finding_id = 5;
5121
+
5122
+ // Timestamp when the finding was detected.
5123
+ google.protobuf.Timestamp timestamp = 6;
5124
+
5125
+ // Where the content was found.
5126
+ DataProfileFindingLocation location = 7;
5127
+
5128
+ // How broadly a resource has been shared.
5129
+ ResourceVisibility resource_visibility = 8;
5130
+
5131
+ // The [full resource
5132
+ // name](https://cloud.google.com/apis/design/resource_names#full_resource_name)
5133
+ // of the resource profiled for this finding.
5134
+ string full_resource_name = 9;
5135
+
5136
+ // The type of the resource that was profiled.
5137
+ DataSourceType data_source_type = 10;
5138
+ }
5139
+
5140
+ // Location of a data profile finding within a resource.
5141
+ message DataProfileFindingLocation {
5142
+ // Name of the container where the finding is located.
5143
+ // The top-level name is the source file name or table name. Names of some
5144
+ // common storage containers are formatted as follows:
5145
+ //
5146
+ // * BigQuery tables: `{project_id}:{dataset_id}.{table_id}`
5147
+ // * Cloud Storage files: `gs://{bucket}/{path}`
5148
+ string container_name = 1;
5149
+
5150
+ // Additional location details that may be provided for some types of
5151
+ // profiles. At this time, only findings for table data profiles include such
5152
+ // details.
5153
+ oneof location_extra_details {
5154
+ // Location of a finding within a resource that produces a table data
5155
+ // profile.
5156
+ DataProfileFindingRecordLocation data_profile_finding_record_location = 2;
5157
+ }
5158
+ }
5159
+
5160
+ // Location of a finding within a resource that produces a table data profile.
5161
+ message DataProfileFindingRecordLocation {
5162
+ // Field ID of the column containing the finding.
5163
+ FieldId field = 1;
5164
+ }
5165
+
5006
5166
  // Configuration for setting up a job to scan resources for profile generation.
5007
5167
  // Only one data profile configuration may exist per organization, folder,
5008
5168
  // or project.
@@ -7520,6 +7680,14 @@ message TableDataProfile {
7520
7680
  // The time at which the table was created.
7521
7681
  google.protobuf.Timestamp create_time = 23;
7522
7682
 
7683
+ // The BigQuery table to which the sample findings are written.
7684
+ BigQueryTable sample_findings_table = 37;
7685
+
7686
+ // The tags attached to the table, including any tags attached during
7687
+ // profiling. Because tags are attached to Cloud SQL instances rather than
7688
+ // Cloud SQL tables, this field is empty for Cloud SQL table profiles.
7689
+ repeated Tag tags = 39;
7690
+
7523
7691
  // Resources related to this profile.
7524
7692
  repeated RelatedResource related_resources = 41;
7525
7693
  }
@@ -7888,13 +8056,38 @@ message FileStoreDataProfile {
7888
8056
  // InfoTypes detected in this file store.
7889
8057
  repeated FileStoreInfoTypeSummary file_store_info_type_summaries = 21;
7890
8058
 
7891
- // The file store does not have any files.
8059
+ // The BigQuery table to which the sample findings are written.
8060
+ BigQueryTable sample_findings_table = 22;
8061
+
8062
+ // The file store does not have any files. If the profiling operation failed,
8063
+ // this is false.
7892
8064
  bool file_store_is_empty = 23;
7893
8065
 
8066
+ // The tags attached to the resource, including any tags attached during
8067
+ // profiling.
8068
+ repeated Tag tags = 25;
8069
+
7894
8070
  // Resources related to this profile.
7895
8071
  repeated RelatedResource related_resources = 26;
7896
8072
  }
7897
8073
 
8074
+ // A tag associated with a resource.
8075
+ message Tag {
8076
+ // The namespaced name for the tag value to attach to Google Cloud resources.
8077
+ // Must be in the format `{parent_id}/{tag_key_short_name}/{short_name}`, for
8078
+ // example, "123456/environment/prod". This is only set for Google Cloud
8079
+ // resources.
8080
+ string namespaced_tag_value = 1;
8081
+
8082
+ // The key of a tag key-value pair. For Google Cloud resources, this is the
8083
+ // resource name of the key, for example, "tagKeys/123456".
8084
+ string key = 2;
8085
+
8086
+ // The value of a tag key-value pair. For Google Cloud resources, this is the
8087
+ // resource name of the value, for example, "tagValues/123456".
8088
+ string value = 3;
8089
+ }
8090
+
7898
8091
  // A related resource.
7899
8092
  // Examples:
7900
8093
  //
@@ -869,6 +869,11 @@ message TableReference {
869
869
 
870
870
  // Name of the table.
871
871
  string table_id = 2;
872
+
873
+ // The Google Cloud project ID of the project containing the table.
874
+ // If omitted, the project ID is inferred from the parent project. This field
875
+ // is required if the parent resource is an organization.
876
+ string project_id = 3;
872
877
  }
873
878
 
874
879
  // Message defining a field of a BigQuery table.