@google-cloud/dlp 3.3.0 → 4.0.1
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 +32 -0
- package/README.md +17 -17
- package/build/protos/google/privacy/dlp/v2/dlp.proto +426 -19
- package/build/protos/google/privacy/dlp/v2/storage.proto +82 -72
- package/build/protos/protos.d.ts +3582 -1813
- package/build/protos/protos.js +9560 -4922
- package/build/protos/protos.json +511 -113
- package/build/src/v2/dlp_service_client.d.ts +170 -34
- package/build/src/v2/dlp_service_client.js +2 -3
- package/build/src/v2/dlp_service_client.js.map +1 -1
- package/build/src/v2/index.js +2 -1
- package/build/src/v2/index.js.map +1 -1
- package/package.json +8 -8
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,38 @@
|
|
|
4
4
|
|
|
5
5
|
[1]: https://www.npmjs.com/package/PACKAGE NAME?activeTab=versions
|
|
6
6
|
|
|
7
|
+
## [4.0.1](https://github.com/googleapis/nodejs-dlp/compare/v4.0.0...v4.0.1) (2022-06-07)
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
### Bug Fixes
|
|
11
|
+
|
|
12
|
+
* **deps:** update dependency @google-cloud/pubsub to v3 ([#715](https://github.com/googleapis/nodejs-dlp/issues/715)) ([c8636f8](https://github.com/googleapis/nodejs-dlp/commit/c8636f84d844b594ffd11dd7bfbf5f73b56ee729))
|
|
13
|
+
|
|
14
|
+
## [4.0.0](https://github.com/googleapis/nodejs-dlp/compare/v3.5.0...v4.0.0) (2022-05-20)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### ⚠ BREAKING CHANGES
|
|
18
|
+
|
|
19
|
+
* update library to use Node 12 (#713)
|
|
20
|
+
|
|
21
|
+
### Build System
|
|
22
|
+
|
|
23
|
+
* update library to use Node 12 ([#713](https://github.com/googleapis/nodejs-dlp/issues/713)) ([2999561](https://github.com/googleapis/nodejs-dlp/commit/2999561d3c1b1f4de78fb11a8c916e2bb06a92a5))
|
|
24
|
+
|
|
25
|
+
## [3.5.0](https://github.com/googleapis/nodejs-dlp/compare/v3.4.0...v3.5.0) (2022-04-01)
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
### Features
|
|
29
|
+
|
|
30
|
+
* add DataProfilePubSubMessage supporting pub/sub integration ([#695](https://github.com/googleapis/nodejs-dlp/issues/695)) ([918b6cd](https://github.com/googleapis/nodejs-dlp/commit/918b6cd8ba8669e7c029ae7b4d3d01858121b9f6))
|
|
31
|
+
|
|
32
|
+
## [3.4.0](https://github.com/googleapis/nodejs-dlp/compare/v3.3.0...v3.4.0) (2022-03-25)
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
### Features
|
|
36
|
+
|
|
37
|
+
* new Bytes and File types: POWERPOINT and EXCEL ([#693](https://github.com/googleapis/nodejs-dlp/issues/693)) ([ed3dc42](https://github.com/googleapis/nodejs-dlp/commit/ed3dc42bce256100a62528481c7ec10362f7fa93))
|
|
38
|
+
|
|
7
39
|
## [3.3.0](https://www.github.com/googleapis/nodejs-dlp/compare/v3.2.1...v3.3.0) (2021-12-03)
|
|
8
40
|
|
|
9
41
|
|
package/README.md
CHANGED
|
@@ -4,9 +4,8 @@
|
|
|
4
4
|
|
|
5
5
|
# [Cloud Data Loss Prevention: Node.js Client](https://github.com/googleapis/nodejs-dlp)
|
|
6
6
|
|
|
7
|
-
[](https://cloud.google.com/terms/launch-stages)
|
|
8
8
|
[](https://www.npmjs.org/package/@google-cloud/dlp)
|
|
9
|
-
[](https://codecov.io/gh/googleapis/nodejs-dlp)
|
|
10
9
|
|
|
11
10
|
|
|
12
11
|
|
|
@@ -166,37 +165,38 @@ also contains samples.
|
|
|
166
165
|
Our client libraries follow the [Node.js release schedule](https://nodejs.org/en/about/releases/).
|
|
167
166
|
Libraries are compatible with all current _active_ and _maintenance_ versions of
|
|
168
167
|
Node.js.
|
|
168
|
+
If you are using an end-of-life version of Node.js, we recommend that you update
|
|
169
|
+
as soon as possible to an actively supported LTS version.
|
|
169
170
|
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
The dist-tags follow the naming convention `legacy-(version)`.
|
|
173
|
-
|
|
174
|
-
_Legacy Node.js versions are supported as a best effort:_
|
|
175
|
-
|
|
176
|
-
* Legacy versions will not be tested in continuous integration.
|
|
177
|
-
* Some security patches may not be able to be backported.
|
|
178
|
-
* Dependencies will not be kept up-to-date, and features will not be backported.
|
|
171
|
+
Google's client libraries support legacy versions of Node.js runtimes on a
|
|
172
|
+
best-efforts basis with the following warnings:
|
|
179
173
|
|
|
180
|
-
|
|
174
|
+
* Legacy versions are not tested in continuous integration.
|
|
175
|
+
* Some security patches and features cannot be backported.
|
|
176
|
+
* Dependencies cannot be kept up-to-date.
|
|
181
177
|
|
|
182
|
-
|
|
183
|
-
|
|
178
|
+
Client libraries targeting some end-of-life versions of Node.js are available, and
|
|
179
|
+
can be installed through npm [dist-tags](https://docs.npmjs.com/cli/dist-tag).
|
|
180
|
+
The dist-tags follow the naming convention `legacy-(version)`.
|
|
181
|
+
For example, `npm install @google-cloud/dlp@legacy-8` installs client libraries
|
|
182
|
+
for versions compatible with Node.js 8.
|
|
184
183
|
|
|
185
184
|
## Versioning
|
|
186
185
|
|
|
187
186
|
This library follows [Semantic Versioning](http://semver.org/).
|
|
188
187
|
|
|
189
188
|
|
|
190
|
-
|
|
191
|
-
is stable
|
|
189
|
+
|
|
190
|
+
This library is considered to be **stable**. The code surface will not change in backwards-incompatible ways
|
|
192
191
|
unless absolutely necessary (e.g. because of critical security issues) or with
|
|
193
|
-
an extensive deprecation period. Issues and requests against **
|
|
192
|
+
an extensive deprecation period. Issues and requests against **stable** libraries
|
|
194
193
|
are addressed with the highest priority.
|
|
195
194
|
|
|
196
195
|
|
|
197
196
|
|
|
198
197
|
|
|
199
198
|
|
|
199
|
+
|
|
200
200
|
More Information: [Google Cloud Platform Launch Stages][launch_stages]
|
|
201
201
|
|
|
202
202
|
[launch_stages]: https://cloud.google.com/terms/launch-stages
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Copyright
|
|
1
|
+
// Copyright 2022 Google LLC
|
|
2
2
|
//
|
|
3
3
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
4
|
// you may not use this file except in compliance with the License.
|
|
@@ -16,6 +16,7 @@ syntax = "proto3";
|
|
|
16
16
|
|
|
17
17
|
package google.privacy.dlp.v2;
|
|
18
18
|
|
|
19
|
+
import "google/api/annotations.proto";
|
|
19
20
|
import "google/api/client.proto";
|
|
20
21
|
import "google/api/field_behavior.proto";
|
|
21
22
|
import "google/api/resource.proto";
|
|
@@ -28,7 +29,6 @@ import "google/rpc/status.proto";
|
|
|
28
29
|
import "google/type/date.proto";
|
|
29
30
|
import "google/type/dayofweek.proto";
|
|
30
31
|
import "google/type/timeofday.proto";
|
|
31
|
-
import "google/api/annotations.proto";
|
|
32
32
|
|
|
33
33
|
option csharp_namespace = "Google.Cloud.Dlp.V2";
|
|
34
34
|
option go_package = "google.golang.org/genproto/googleapis/privacy/dlp/v2;dlp";
|
|
@@ -719,8 +719,8 @@ message InspectionRuleSet {
|
|
|
719
719
|
// When used with redactContent only info_types and min_likelihood are currently
|
|
720
720
|
// used.
|
|
721
721
|
message InspectConfig {
|
|
722
|
-
// Configuration to control the number of findings returned
|
|
723
|
-
// de-identification
|
|
722
|
+
// Configuration to control the number of findings returned for inspection.
|
|
723
|
+
// This is not used for de-identification or data profiling.
|
|
724
724
|
message FindingLimits {
|
|
725
725
|
// Max findings configuration per infoType, per content item or long
|
|
726
726
|
// running DlpJob.
|
|
@@ -769,21 +769,23 @@ message InspectConfig {
|
|
|
769
769
|
Likelihood min_likelihood = 2;
|
|
770
770
|
|
|
771
771
|
// Configuration to control the number of findings returned.
|
|
772
|
+
// This is not used for data profiling.
|
|
772
773
|
FindingLimits limits = 3;
|
|
773
774
|
|
|
774
775
|
// When true, a contextual quote from the data that triggered a finding is
|
|
775
776
|
// included in the response; see Finding.quote.
|
|
777
|
+
// This is not used for data profiling.
|
|
776
778
|
bool include_quote = 4;
|
|
777
779
|
|
|
778
780
|
// When true, excludes type information of the findings.
|
|
781
|
+
// This is not used for data profiling.
|
|
779
782
|
bool exclude_info_types = 5;
|
|
780
783
|
|
|
781
784
|
// CustomInfoTypes provided by the user. See
|
|
782
785
|
// https://cloud.google.com/dlp/docs/creating-custom-infotypes to learn more.
|
|
783
786
|
repeated CustomInfoType custom_info_types = 6;
|
|
784
787
|
|
|
785
|
-
//
|
|
786
|
-
// If empty, text, images, and other content will be included.
|
|
788
|
+
// Deprecated and unused.
|
|
787
789
|
repeated ContentOption content_options = 8;
|
|
788
790
|
|
|
789
791
|
// Set of rules to apply to the findings for this InspectConfig.
|
|
@@ -825,6 +827,12 @@ message ByteContentItem {
|
|
|
825
827
|
// pdf
|
|
826
828
|
PDF = 8;
|
|
827
829
|
|
|
830
|
+
// pptx, pptm, potx, potm, pot
|
|
831
|
+
POWERPOINT_DOCUMENT = 9;
|
|
832
|
+
|
|
833
|
+
// xlsx, xlsm, xltx, xltm
|
|
834
|
+
EXCEL_DOCUMENT = 10;
|
|
835
|
+
|
|
828
836
|
// avro
|
|
829
837
|
AVRO = 11;
|
|
830
838
|
|
|
@@ -2857,6 +2865,18 @@ message TransformationOverview {
|
|
|
2857
2865
|
// Only one of 'transformation', 'field_transformation', or 'record_suppress'
|
|
2858
2866
|
// will be set.
|
|
2859
2867
|
message TransformationSummary {
|
|
2868
|
+
// Possible outcomes of transformations.
|
|
2869
|
+
enum TransformationResultCode {
|
|
2870
|
+
// Unused
|
|
2871
|
+
TRANSFORMATION_RESULT_CODE_UNSPECIFIED = 0;
|
|
2872
|
+
|
|
2873
|
+
// Transformation completed without an error.
|
|
2874
|
+
SUCCESS = 1;
|
|
2875
|
+
|
|
2876
|
+
// Transformation had an error.
|
|
2877
|
+
ERROR = 2;
|
|
2878
|
+
}
|
|
2879
|
+
|
|
2860
2880
|
// A collection that informs the user the number of times a particular
|
|
2861
2881
|
// `TransformationResultCode` and error details occurred.
|
|
2862
2882
|
message SummaryResult {
|
|
@@ -2871,18 +2891,6 @@ message TransformationSummary {
|
|
|
2871
2891
|
string details = 3;
|
|
2872
2892
|
}
|
|
2873
2893
|
|
|
2874
|
-
// Possible outcomes of transformations.
|
|
2875
|
-
enum TransformationResultCode {
|
|
2876
|
-
// Unused
|
|
2877
|
-
TRANSFORMATION_RESULT_CODE_UNSPECIFIED = 0;
|
|
2878
|
-
|
|
2879
|
-
// Transformation completed without an error.
|
|
2880
|
-
SUCCESS = 1;
|
|
2881
|
-
|
|
2882
|
-
// Transformation had an error.
|
|
2883
|
-
ERROR = 2;
|
|
2884
|
-
}
|
|
2885
|
-
|
|
2886
2894
|
// Set if the transformation was limited to a specific InfoType.
|
|
2887
2895
|
InfoType info_type = 1;
|
|
2888
2896
|
|
|
@@ -3578,6 +3586,134 @@ message InspectJobConfig {
|
|
|
3578
3586
|
repeated Action actions = 4;
|
|
3579
3587
|
}
|
|
3580
3588
|
|
|
3589
|
+
// A task to execute when a data profile has been generated.
|
|
3590
|
+
message DataProfileAction {
|
|
3591
|
+
// If set, the detailed data profiles will be persisted to the location
|
|
3592
|
+
// of your choice whenever updated.
|
|
3593
|
+
message Export {
|
|
3594
|
+
// Store all table and column profiles in an existing table or a new table
|
|
3595
|
+
// in an existing dataset. Each re-generation will result in a new row in
|
|
3596
|
+
// BigQuery.
|
|
3597
|
+
BigQueryTable profile_table = 1;
|
|
3598
|
+
}
|
|
3599
|
+
|
|
3600
|
+
// Send a Pub/Sub message into the given Pub/Sub topic to connect other
|
|
3601
|
+
// systems to data profile generation. The message payload data will
|
|
3602
|
+
// be the byte serialization of `DataProfilePubSubMessage`.
|
|
3603
|
+
message PubSubNotification {
|
|
3604
|
+
// The levels of detail that can be included in the Pub/Sub message.
|
|
3605
|
+
enum DetailLevel {
|
|
3606
|
+
// Unused.
|
|
3607
|
+
DETAIL_LEVEL_UNSPECIFIED = 0;
|
|
3608
|
+
|
|
3609
|
+
// The full table data profile.
|
|
3610
|
+
TABLE_PROFILE = 1;
|
|
3611
|
+
|
|
3612
|
+
// The resource name of the table.
|
|
3613
|
+
RESOURCE_NAME = 2;
|
|
3614
|
+
}
|
|
3615
|
+
|
|
3616
|
+
// Cloud Pub/Sub topic to send notifications to.
|
|
3617
|
+
// Format is projects/{project}/topics/{topic}.
|
|
3618
|
+
string topic = 1;
|
|
3619
|
+
|
|
3620
|
+
// The type of event that triggers a Pub/Sub. At most one
|
|
3621
|
+
// `PubSubNotification` per EventType is permitted.
|
|
3622
|
+
EventType event = 2;
|
|
3623
|
+
|
|
3624
|
+
// Conditions (e.g., data risk or sensitivity level) for triggering a
|
|
3625
|
+
// Pub/Sub.
|
|
3626
|
+
DataProfilePubSubCondition pubsub_condition = 3;
|
|
3627
|
+
|
|
3628
|
+
// How much data to include in the Pub/Sub message. If the user wishes to
|
|
3629
|
+
// limit the size of the message, they can use resource_name and fetch the
|
|
3630
|
+
// profile fields they wish to. Per table profile (not per column).
|
|
3631
|
+
DetailLevel detail_of_message = 4;
|
|
3632
|
+
}
|
|
3633
|
+
|
|
3634
|
+
// Types of event that can trigger an action.
|
|
3635
|
+
enum EventType {
|
|
3636
|
+
// Unused.
|
|
3637
|
+
EVENT_TYPE_UNSPECIFIED = 0;
|
|
3638
|
+
|
|
3639
|
+
// New profile (not a re-profile).
|
|
3640
|
+
NEW_PROFILE = 1;
|
|
3641
|
+
|
|
3642
|
+
// Changed one of the following profile metrics:
|
|
3643
|
+
// * Table data risk score
|
|
3644
|
+
// * Table sensitivity score
|
|
3645
|
+
// * Table resource visibility
|
|
3646
|
+
// * Table encryption type
|
|
3647
|
+
// * Table predicted infoTypes
|
|
3648
|
+
// * Table other infoTypes
|
|
3649
|
+
CHANGED_PROFILE = 2;
|
|
3650
|
+
|
|
3651
|
+
// Table data risk score or sensitivity score increased.
|
|
3652
|
+
SCORE_INCREASED = 3;
|
|
3653
|
+
|
|
3654
|
+
// A user (non-internal) error occurred.
|
|
3655
|
+
ERROR_CHANGED = 4;
|
|
3656
|
+
}
|
|
3657
|
+
|
|
3658
|
+
oneof action {
|
|
3659
|
+
// Export data profiles into a provided location.
|
|
3660
|
+
Export export_data = 1;
|
|
3661
|
+
|
|
3662
|
+
// Publish a message into the Pub/Sub topic.
|
|
3663
|
+
PubSubNotification pub_sub_notification = 2;
|
|
3664
|
+
}
|
|
3665
|
+
}
|
|
3666
|
+
|
|
3667
|
+
// Configuration for setting up a job to scan resources for profile generation.
|
|
3668
|
+
// Only one data profile configuration may exist per organization, folder,
|
|
3669
|
+
// or project.
|
|
3670
|
+
//
|
|
3671
|
+
// The generated data profiles are retained according to the
|
|
3672
|
+
// [data retention policy]
|
|
3673
|
+
// (https://cloud.google.com/dlp/docs/data-profiles#retention).
|
|
3674
|
+
message DataProfileJobConfig {
|
|
3675
|
+
// The data to scan.
|
|
3676
|
+
DataProfileLocation location = 1;
|
|
3677
|
+
|
|
3678
|
+
// The project that will run the scan. The DLP service
|
|
3679
|
+
// account that exists within this project must have access to all resources
|
|
3680
|
+
// that are profiled, and the Cloud DLP API must be enabled.
|
|
3681
|
+
string project_id = 5;
|
|
3682
|
+
|
|
3683
|
+
// Detection logic for profile generation.
|
|
3684
|
+
//
|
|
3685
|
+
// Not all template features are used by profiles. FindingLimits,
|
|
3686
|
+
// include_quote and exclude_info_types have no impact on
|
|
3687
|
+
// data profiling.
|
|
3688
|
+
//
|
|
3689
|
+
// Multiple templates may be provided if there is data in multiple regions.
|
|
3690
|
+
// At most one template must be specified per-region (including "global").
|
|
3691
|
+
// Each region is scanned using the applicable template. If no region-specific
|
|
3692
|
+
// template is specified, but a "global" template is specified, it will be
|
|
3693
|
+
// copied to that region and used instead. If no global or region-specific
|
|
3694
|
+
// template is provided for a region with data, that region's data will not be
|
|
3695
|
+
// scanned.
|
|
3696
|
+
//
|
|
3697
|
+
// For more information, see
|
|
3698
|
+
// https://cloud.google.com/dlp/docs/data-profiles#data_residency.
|
|
3699
|
+
repeated string inspect_templates = 7;
|
|
3700
|
+
|
|
3701
|
+
// Actions to execute at the completion of the job.
|
|
3702
|
+
repeated DataProfileAction data_profile_actions = 6;
|
|
3703
|
+
}
|
|
3704
|
+
|
|
3705
|
+
// The data that will be profiled.
|
|
3706
|
+
message DataProfileLocation {
|
|
3707
|
+
// The location to be scanned.
|
|
3708
|
+
oneof location {
|
|
3709
|
+
// The ID of an organization to scan.
|
|
3710
|
+
int64 organization_id = 1;
|
|
3711
|
+
|
|
3712
|
+
// The ID of the Folder within an organization to scan.
|
|
3713
|
+
int64 folder_id = 2;
|
|
3714
|
+
}
|
|
3715
|
+
}
|
|
3716
|
+
|
|
3581
3717
|
// Combines all of the information about a DLP job.
|
|
3582
3718
|
message DlpJob {
|
|
3583
3719
|
option (google.api.resource) = {
|
|
@@ -4352,7 +4488,7 @@ enum MatchingType {
|
|
|
4352
4488
|
MATCHING_TYPE_INVERSE_MATCH = 3;
|
|
4353
4489
|
}
|
|
4354
4490
|
|
|
4355
|
-
//
|
|
4491
|
+
// Deprecated and unused.
|
|
4356
4492
|
enum ContentOption {
|
|
4357
4493
|
// Includes entire content of a file or a data stream.
|
|
4358
4494
|
CONTENT_UNSPECIFIED = 0;
|
|
@@ -4417,3 +4553,274 @@ enum StoredInfoTypeState {
|
|
|
4417
4553
|
// use the `UpdateStoredInfoType` method to create a new version.
|
|
4418
4554
|
INVALID = 4;
|
|
4419
4555
|
}
|
|
4556
|
+
|
|
4557
|
+
// Score is a summary of all elements in the data profile.
|
|
4558
|
+
// A higher number means more sensitive.
|
|
4559
|
+
message SensitivityScore {
|
|
4560
|
+
// Various score levels for resources.
|
|
4561
|
+
enum SensitivityScoreLevel {
|
|
4562
|
+
// Unused.
|
|
4563
|
+
SENSITIVITY_SCORE_UNSPECIFIED = 0;
|
|
4564
|
+
|
|
4565
|
+
// No sensitive information detected. Limited access.
|
|
4566
|
+
SENSITIVITY_LOW = 10;
|
|
4567
|
+
|
|
4568
|
+
// Medium risk - PII, potentially sensitive data, or fields with free-text
|
|
4569
|
+
// data that are at higher risk of having intermittent sensitive data.
|
|
4570
|
+
// Consider limiting access.
|
|
4571
|
+
SENSITIVITY_MODERATE = 20;
|
|
4572
|
+
|
|
4573
|
+
// High risk – SPII may be present. Exfiltration of data may lead to user
|
|
4574
|
+
// data loss. Re-identification of users may be possible. Consider limiting
|
|
4575
|
+
// usage and or removing SPII.
|
|
4576
|
+
SENSITIVITY_HIGH = 30;
|
|
4577
|
+
}
|
|
4578
|
+
|
|
4579
|
+
// The score applied to the resource.
|
|
4580
|
+
SensitivityScoreLevel score = 1;
|
|
4581
|
+
}
|
|
4582
|
+
|
|
4583
|
+
// Score is a summary of all elements in the data profile.
|
|
4584
|
+
// A higher number means more risky.
|
|
4585
|
+
message DataRiskLevel {
|
|
4586
|
+
// Various score levels for resources.
|
|
4587
|
+
enum DataRiskLevelScore {
|
|
4588
|
+
// Unused.
|
|
4589
|
+
RISK_SCORE_UNSPECIFIED = 0;
|
|
4590
|
+
|
|
4591
|
+
// Low risk - Lower indication of sensitive data that appears to have
|
|
4592
|
+
// additional access restrictions in place or no indication of sensitive
|
|
4593
|
+
// data found.
|
|
4594
|
+
RISK_LOW = 10;
|
|
4595
|
+
|
|
4596
|
+
// Medium risk - Sensitive data may be present but additional access or fine
|
|
4597
|
+
// grain access restrictions appears to be present. Consider limiting
|
|
4598
|
+
// access even further or transforming data to mask.
|
|
4599
|
+
RISK_MODERATE = 20;
|
|
4600
|
+
|
|
4601
|
+
// High risk – SPII may be present. Access controls may include public
|
|
4602
|
+
// ACLs. Exfiltration of data may lead to user data loss. Re-identification
|
|
4603
|
+
// of users may be possible. Consider limiting usage and or removing SPII.
|
|
4604
|
+
RISK_HIGH = 30;
|
|
4605
|
+
}
|
|
4606
|
+
|
|
4607
|
+
// The score applied to the resource.
|
|
4608
|
+
DataRiskLevelScore score = 1;
|
|
4609
|
+
}
|
|
4610
|
+
|
|
4611
|
+
// How broadly a resource has been shared. New items may be added over time.
|
|
4612
|
+
// A higher number means more restricted.
|
|
4613
|
+
enum ResourceVisibility {
|
|
4614
|
+
// Unused.
|
|
4615
|
+
RESOURCE_VISIBILITY_UNSPECIFIED = 0;
|
|
4616
|
+
|
|
4617
|
+
// Visible to any user.
|
|
4618
|
+
RESOURCE_VISIBILITY_PUBLIC = 10;
|
|
4619
|
+
|
|
4620
|
+
// Visible only to specific users.
|
|
4621
|
+
RESOURCE_VISIBILITY_RESTRICTED = 20;
|
|
4622
|
+
}
|
|
4623
|
+
|
|
4624
|
+
// Snapshot of the configurations used to generate the profile.
|
|
4625
|
+
message DataProfileConfigSnapshot {
|
|
4626
|
+
// A copy of the inspection config used to generate this profile. This
|
|
4627
|
+
// is a copy of the inspect_template specified in `DataProfileJobConfig`.
|
|
4628
|
+
InspectConfig inspect_config = 2;
|
|
4629
|
+
|
|
4630
|
+
// A copy of the configuration used to generate this profile.
|
|
4631
|
+
DataProfileJobConfig data_profile_job = 3;
|
|
4632
|
+
}
|
|
4633
|
+
|
|
4634
|
+
// The profile for a scanned table.
|
|
4635
|
+
message TableDataProfile {
|
|
4636
|
+
// Possible states of a profile. New items may be added.
|
|
4637
|
+
enum State {
|
|
4638
|
+
// Unused.
|
|
4639
|
+
STATE_UNSPECIFIED = 0;
|
|
4640
|
+
|
|
4641
|
+
// The profile is currently running. Once a profile has finished it will
|
|
4642
|
+
// transition to DONE.
|
|
4643
|
+
RUNNING = 1;
|
|
4644
|
+
|
|
4645
|
+
// The profile is no longer generating.
|
|
4646
|
+
// If profile_status.status.code is 0, the profile succeeded, otherwise, it
|
|
4647
|
+
// failed.
|
|
4648
|
+
DONE = 2;
|
|
4649
|
+
}
|
|
4650
|
+
|
|
4651
|
+
// The name of the profile.
|
|
4652
|
+
string name = 1;
|
|
4653
|
+
|
|
4654
|
+
// The resource name to the project data profile for this table.
|
|
4655
|
+
string project_data_profile = 2;
|
|
4656
|
+
|
|
4657
|
+
// The GCP project ID that owns the BigQuery dataset.
|
|
4658
|
+
string dataset_project_id = 24;
|
|
4659
|
+
|
|
4660
|
+
// The BigQuery location where the dataset's data is stored.
|
|
4661
|
+
// See https://cloud.google.com/bigquery/docs/locations for supported
|
|
4662
|
+
// locations.
|
|
4663
|
+
string dataset_location = 29;
|
|
4664
|
+
|
|
4665
|
+
// The BigQuery dataset ID.
|
|
4666
|
+
string dataset_id = 25;
|
|
4667
|
+
|
|
4668
|
+
// The BigQuery table ID.
|
|
4669
|
+
string table_id = 26;
|
|
4670
|
+
|
|
4671
|
+
// The resource name of the table.
|
|
4672
|
+
// https://cloud.google.com/apis/design/resource_names#full_resource_name
|
|
4673
|
+
string full_resource = 3;
|
|
4674
|
+
|
|
4675
|
+
// Success or error status from the most recent profile generation attempt.
|
|
4676
|
+
// May be empty if the profile is still being generated.
|
|
4677
|
+
ProfileStatus profile_status = 21;
|
|
4678
|
+
|
|
4679
|
+
// State of a profile.
|
|
4680
|
+
State state = 22;
|
|
4681
|
+
|
|
4682
|
+
// The sensitivity score of this table.
|
|
4683
|
+
SensitivityScore sensitivity_score = 5;
|
|
4684
|
+
|
|
4685
|
+
// The data risk level of this table.
|
|
4686
|
+
DataRiskLevel data_risk_level = 6;
|
|
4687
|
+
|
|
4688
|
+
// The infoTypes predicted from this table's data.
|
|
4689
|
+
repeated InfoTypeSummary predicted_info_types = 27;
|
|
4690
|
+
|
|
4691
|
+
// Other infoTypes found in this table's data.
|
|
4692
|
+
repeated OtherInfoTypeSummary other_info_types = 28;
|
|
4693
|
+
|
|
4694
|
+
// The snapshot of the configurations used to generate the profile.
|
|
4695
|
+
DataProfileConfigSnapshot config_snapshot = 7;
|
|
4696
|
+
|
|
4697
|
+
// The time when this table was last modified
|
|
4698
|
+
google.protobuf.Timestamp last_modified_time = 8;
|
|
4699
|
+
|
|
4700
|
+
// Optional. The time when this table expires.
|
|
4701
|
+
google.protobuf.Timestamp expiration_time = 9;
|
|
4702
|
+
|
|
4703
|
+
// The number of columns profiled in the table.
|
|
4704
|
+
int64 scanned_column_count = 10;
|
|
4705
|
+
|
|
4706
|
+
// The number of columns skipped in the table because of an error.
|
|
4707
|
+
int64 failed_column_count = 11;
|
|
4708
|
+
|
|
4709
|
+
// The size of the table when the profile was generated.
|
|
4710
|
+
int64 table_size_bytes = 12;
|
|
4711
|
+
|
|
4712
|
+
// Number of rows in the table when the profile was generated.
|
|
4713
|
+
int64 row_count = 13;
|
|
4714
|
+
|
|
4715
|
+
// How the table is encrypted.
|
|
4716
|
+
EncryptionStatus encryption_status = 14;
|
|
4717
|
+
|
|
4718
|
+
// How broadly a resource has been shared.
|
|
4719
|
+
ResourceVisibility resource_visibility = 15;
|
|
4720
|
+
|
|
4721
|
+
// The last time the profile was generated.
|
|
4722
|
+
google.protobuf.Timestamp profile_last_generated = 16;
|
|
4723
|
+
|
|
4724
|
+
// The labels applied to the resource at the time the profile was generated.
|
|
4725
|
+
map<string, string> resource_labels = 17;
|
|
4726
|
+
|
|
4727
|
+
// The time at which the table was created.
|
|
4728
|
+
google.protobuf.Timestamp create_time = 23;
|
|
4729
|
+
}
|
|
4730
|
+
|
|
4731
|
+
message ProfileStatus {
|
|
4732
|
+
// Profiling status code and optional message
|
|
4733
|
+
google.rpc.Status status = 1;
|
|
4734
|
+
|
|
4735
|
+
// Time when the profile generation status was updated
|
|
4736
|
+
google.protobuf.Timestamp timestamp = 3;
|
|
4737
|
+
}
|
|
4738
|
+
|
|
4739
|
+
// How a resource is encrypted.
|
|
4740
|
+
enum EncryptionStatus {
|
|
4741
|
+
// Unused.
|
|
4742
|
+
ENCRYPTION_STATUS_UNSPECIFIED = 0;
|
|
4743
|
+
|
|
4744
|
+
// Google manages server-side encryption keys on your behalf.
|
|
4745
|
+
ENCRYPTION_GOOGLE_MANAGED = 1;
|
|
4746
|
+
|
|
4747
|
+
// Customer provides the key.
|
|
4748
|
+
ENCRYPTION_CUSTOMER_MANAGED = 2;
|
|
4749
|
+
}
|
|
4750
|
+
|
|
4751
|
+
// The infoType details for this column.
|
|
4752
|
+
message InfoTypeSummary {
|
|
4753
|
+
// The infoType.
|
|
4754
|
+
InfoType info_type = 1;
|
|
4755
|
+
}
|
|
4756
|
+
|
|
4757
|
+
// Infotype details for other infoTypes found within a column.
|
|
4758
|
+
message OtherInfoTypeSummary {
|
|
4759
|
+
// The other infoType.
|
|
4760
|
+
InfoType info_type = 1;
|
|
4761
|
+
}
|
|
4762
|
+
|
|
4763
|
+
// A condition for determining whether a PubSub should be triggered.
|
|
4764
|
+
message DataProfilePubSubCondition {
|
|
4765
|
+
// Various score levels for resources.
|
|
4766
|
+
enum ProfileScoreBucket {
|
|
4767
|
+
// Unused.
|
|
4768
|
+
PROFILE_SCORE_BUCKET_UNSPECIFIED = 0;
|
|
4769
|
+
|
|
4770
|
+
// High risk/sensitivity detected.
|
|
4771
|
+
HIGH = 1;
|
|
4772
|
+
|
|
4773
|
+
// Medium or high risk/sensitivity detected.
|
|
4774
|
+
MEDIUM_OR_HIGH = 2;
|
|
4775
|
+
}
|
|
4776
|
+
|
|
4777
|
+
// A condition consisting of a value.
|
|
4778
|
+
message PubSubCondition {
|
|
4779
|
+
// The value for the condition to trigger.
|
|
4780
|
+
oneof value {
|
|
4781
|
+
// The minimum data risk score that triggers the condition.
|
|
4782
|
+
ProfileScoreBucket minimum_risk_score = 1;
|
|
4783
|
+
|
|
4784
|
+
// The minimum sensitivity level that triggers the condition.
|
|
4785
|
+
ProfileScoreBucket minimum_sensitivity_score = 2;
|
|
4786
|
+
}
|
|
4787
|
+
}
|
|
4788
|
+
|
|
4789
|
+
// An expression, consisting of an operator and conditions.
|
|
4790
|
+
message PubSubExpressions {
|
|
4791
|
+
// Logical operators for conditional checks.
|
|
4792
|
+
enum PubSubLogicalOperator {
|
|
4793
|
+
// Unused.
|
|
4794
|
+
LOGICAL_OPERATOR_UNSPECIFIED = 0;
|
|
4795
|
+
|
|
4796
|
+
// Conditional OR.
|
|
4797
|
+
OR = 1;
|
|
4798
|
+
|
|
4799
|
+
// Conditional AND.
|
|
4800
|
+
AND = 2;
|
|
4801
|
+
}
|
|
4802
|
+
|
|
4803
|
+
// The operator to apply to the collection of conditions.
|
|
4804
|
+
PubSubLogicalOperator logical_operator = 1;
|
|
4805
|
+
|
|
4806
|
+
// Conditions to apply to the expression.
|
|
4807
|
+
repeated PubSubCondition conditions = 2;
|
|
4808
|
+
}
|
|
4809
|
+
|
|
4810
|
+
// An expression.
|
|
4811
|
+
PubSubExpressions expressions = 1;
|
|
4812
|
+
}
|
|
4813
|
+
|
|
4814
|
+
// The message that will be published to a Pub/Sub topic.
|
|
4815
|
+
// To receive a message of protocol buffer schema type, convert the message data
|
|
4816
|
+
// to an object of this proto class.
|
|
4817
|
+
// https://cloud.google.com/pubsub/docs/samples/pubsub-subscribe-proto-messages
|
|
4818
|
+
message DataProfilePubSubMessage {
|
|
4819
|
+
// If `DetailLevel` is `TABLE_PROFILE` this will be fully populated.
|
|
4820
|
+
// Otherwise, if `DetailLevel` is `RESOURCE_NAME`, then only `name` and
|
|
4821
|
+
// `full_resource` will be populated.
|
|
4822
|
+
TableDataProfile profile = 1;
|
|
4823
|
+
|
|
4824
|
+
// The event that caused the Pub/Sub message to be sent.
|
|
4825
|
+
DataProfileAction.EventType event = 2;
|
|
4826
|
+
}
|