@google-cloud/dlp 5.7.0 → 5.9.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 +14 -0
- package/README.md +3 -0
- package/build/protos/google/privacy/dlp/v2/dlp.proto +861 -119
- package/build/protos/google/privacy/dlp/v2/storage.proto +9 -7
- package/build/protos/protos.d.ts +5269 -2439
- package/build/protos/protos.js +15068 -7549
- package/build/protos/protos.json +856 -109
- package/build/src/v2/dlp_service_client.d.ts +618 -214
- package/build/src/v2/dlp_service_client.js +522 -133
- package/build/src/v2/dlp_service_client_config.json +15 -0
- package/package.json +1 -1
|
@@ -160,7 +160,7 @@ service DlpService {
|
|
|
160
160
|
rpc CreateInspectTemplate(CreateInspectTemplateRequest)
|
|
161
161
|
returns (InspectTemplate) {
|
|
162
162
|
option (google.api.http) = {
|
|
163
|
-
post: "/v2/{parent=
|
|
163
|
+
post: "/v2/{parent=projects/*/locations/*}/inspectTemplates"
|
|
164
164
|
body: "*"
|
|
165
165
|
additional_bindings {
|
|
166
166
|
post: "/v2/{parent=organizations/*/locations/*}/inspectTemplates"
|
|
@@ -171,7 +171,7 @@ service DlpService {
|
|
|
171
171
|
body: "*"
|
|
172
172
|
}
|
|
173
173
|
additional_bindings {
|
|
174
|
-
post: "/v2/{parent=
|
|
174
|
+
post: "/v2/{parent=organizations/*}/inspectTemplates"
|
|
175
175
|
body: "*"
|
|
176
176
|
}
|
|
177
177
|
};
|
|
@@ -185,7 +185,7 @@ service DlpService {
|
|
|
185
185
|
rpc UpdateInspectTemplate(UpdateInspectTemplateRequest)
|
|
186
186
|
returns (InspectTemplate) {
|
|
187
187
|
option (google.api.http) = {
|
|
188
|
-
patch: "/v2/{name=
|
|
188
|
+
patch: "/v2/{name=projects/*/locations/*/inspectTemplates/*}"
|
|
189
189
|
body: "*"
|
|
190
190
|
additional_bindings {
|
|
191
191
|
patch: "/v2/{name=organizations/*/locations/*/inspectTemplates/*}"
|
|
@@ -196,7 +196,7 @@ service DlpService {
|
|
|
196
196
|
body: "*"
|
|
197
197
|
}
|
|
198
198
|
additional_bindings {
|
|
199
|
-
patch: "/v2/{name=
|
|
199
|
+
patch: "/v2/{name=organizations/*/inspectTemplates/*}"
|
|
200
200
|
body: "*"
|
|
201
201
|
}
|
|
202
202
|
};
|
|
@@ -209,13 +209,13 @@ service DlpService {
|
|
|
209
209
|
// to learn more.
|
|
210
210
|
rpc GetInspectTemplate(GetInspectTemplateRequest) returns (InspectTemplate) {
|
|
211
211
|
option (google.api.http) = {
|
|
212
|
-
get: "/v2/{name=
|
|
212
|
+
get: "/v2/{name=projects/*/locations/*/inspectTemplates/*}"
|
|
213
213
|
additional_bindings {
|
|
214
214
|
get: "/v2/{name=organizations/*/locations/*/inspectTemplates/*}"
|
|
215
215
|
}
|
|
216
216
|
additional_bindings { get: "/v2/{name=projects/*/inspectTemplates/*}" }
|
|
217
217
|
additional_bindings {
|
|
218
|
-
get: "/v2/{name=
|
|
218
|
+
get: "/v2/{name=organizations/*/inspectTemplates/*}"
|
|
219
219
|
}
|
|
220
220
|
};
|
|
221
221
|
option (google.api.method_signature) = "name";
|
|
@@ -228,13 +228,13 @@ service DlpService {
|
|
|
228
228
|
rpc ListInspectTemplates(ListInspectTemplatesRequest)
|
|
229
229
|
returns (ListInspectTemplatesResponse) {
|
|
230
230
|
option (google.api.http) = {
|
|
231
|
-
get: "/v2/{parent=
|
|
231
|
+
get: "/v2/{parent=projects/*/locations/*}/inspectTemplates"
|
|
232
232
|
additional_bindings {
|
|
233
233
|
get: "/v2/{parent=organizations/*/locations/*}/inspectTemplates"
|
|
234
234
|
}
|
|
235
235
|
additional_bindings { get: "/v2/{parent=projects/*}/inspectTemplates" }
|
|
236
236
|
additional_bindings {
|
|
237
|
-
get: "/v2/{parent=
|
|
237
|
+
get: "/v2/{parent=organizations/*}/inspectTemplates"
|
|
238
238
|
}
|
|
239
239
|
};
|
|
240
240
|
option (google.api.method_signature) = "parent";
|
|
@@ -247,13 +247,13 @@ service DlpService {
|
|
|
247
247
|
rpc DeleteInspectTemplate(DeleteInspectTemplateRequest)
|
|
248
248
|
returns (google.protobuf.Empty) {
|
|
249
249
|
option (google.api.http) = {
|
|
250
|
-
delete: "/v2/{name=
|
|
250
|
+
delete: "/v2/{name=projects/*/locations/*/inspectTemplates/*}"
|
|
251
251
|
additional_bindings {
|
|
252
252
|
delete: "/v2/{name=organizations/*/locations/*/inspectTemplates/*}"
|
|
253
253
|
}
|
|
254
254
|
additional_bindings { delete: "/v2/{name=projects/*/inspectTemplates/*}" }
|
|
255
255
|
additional_bindings {
|
|
256
|
-
delete: "/v2/{name=
|
|
256
|
+
delete: "/v2/{name=organizations/*/inspectTemplates/*}"
|
|
257
257
|
}
|
|
258
258
|
};
|
|
259
259
|
option (google.api.method_signature) = "name";
|
|
@@ -798,6 +798,43 @@ service DlpService {
|
|
|
798
798
|
option (google.api.method_signature) = "name";
|
|
799
799
|
}
|
|
800
800
|
|
|
801
|
+
// Lists file store data profiles for an organization.
|
|
802
|
+
rpc ListFileStoreDataProfiles(ListFileStoreDataProfilesRequest)
|
|
803
|
+
returns (ListFileStoreDataProfilesResponse) {
|
|
804
|
+
option (google.api.http) = {
|
|
805
|
+
get: "/v2/{parent=organizations/*/locations/*}/fileStoreDataProfiles"
|
|
806
|
+
additional_bindings {
|
|
807
|
+
get: "/v2/{parent=projects/*/locations/*}/fileStoreDataProfiles"
|
|
808
|
+
}
|
|
809
|
+
};
|
|
810
|
+
option (google.api.method_signature) = "parent";
|
|
811
|
+
}
|
|
812
|
+
|
|
813
|
+
// Gets a file store data profile.
|
|
814
|
+
rpc GetFileStoreDataProfile(GetFileStoreDataProfileRequest)
|
|
815
|
+
returns (FileStoreDataProfile) {
|
|
816
|
+
option (google.api.http) = {
|
|
817
|
+
get: "/v2/{name=organizations/*/locations/*/fileStoreDataProfiles/*}"
|
|
818
|
+
additional_bindings {
|
|
819
|
+
get: "/v2/{name=projects/*/locations/*/fileStoreDataProfiles/*}"
|
|
820
|
+
}
|
|
821
|
+
};
|
|
822
|
+
option (google.api.method_signature) = "name";
|
|
823
|
+
}
|
|
824
|
+
|
|
825
|
+
// Delete a FileStoreDataProfile. Will not prevent the profile from being
|
|
826
|
+
// regenerated if the resource is still included in a discovery configuration.
|
|
827
|
+
rpc DeleteFileStoreDataProfile(DeleteFileStoreDataProfileRequest)
|
|
828
|
+
returns (google.protobuf.Empty) {
|
|
829
|
+
option (google.api.http) = {
|
|
830
|
+
delete: "/v2/{name=organizations/*/locations/*/fileStoreDataProfiles/*}"
|
|
831
|
+
additional_bindings {
|
|
832
|
+
delete: "/v2/{name=projects/*/locations/*/fileStoreDataProfiles/*}"
|
|
833
|
+
}
|
|
834
|
+
};
|
|
835
|
+
option (google.api.method_signature) = "name";
|
|
836
|
+
}
|
|
837
|
+
|
|
801
838
|
// Gets a table data profile.
|
|
802
839
|
rpc GetTableDataProfile(GetTableDataProfileRequest)
|
|
803
840
|
returns (TableDataProfile) {
|
|
@@ -861,6 +898,10 @@ service DlpService {
|
|
|
861
898
|
option (google.api.http) = {
|
|
862
899
|
post: "/v2/{parent=projects/*/locations/*}/connections"
|
|
863
900
|
body: "*"
|
|
901
|
+
additional_bindings {
|
|
902
|
+
post: "/v2/{parent=organizations/*/locations/*}/connections"
|
|
903
|
+
body: "*"
|
|
904
|
+
}
|
|
864
905
|
};
|
|
865
906
|
option (google.api.method_signature) = "parent, connection";
|
|
866
907
|
}
|
|
@@ -869,15 +910,22 @@ service DlpService {
|
|
|
869
910
|
rpc GetConnection(GetConnectionRequest) returns (Connection) {
|
|
870
911
|
option (google.api.http) = {
|
|
871
912
|
get: "/v2/{name=projects/*/locations/*/connections/*}"
|
|
913
|
+
additional_bindings {
|
|
914
|
+
get: "/v2/{name=organizations/*/locations/*/connections/*}"
|
|
915
|
+
}
|
|
872
916
|
};
|
|
873
917
|
option (google.api.method_signature) = "name";
|
|
874
918
|
}
|
|
875
919
|
|
|
876
|
-
// Lists Connections in a parent.
|
|
920
|
+
// Lists Connections in a parent. Use SearchConnections to see all connections
|
|
921
|
+
// within an organization.
|
|
877
922
|
rpc ListConnections(ListConnectionsRequest)
|
|
878
923
|
returns (ListConnectionsResponse) {
|
|
879
924
|
option (google.api.http) = {
|
|
880
925
|
get: "/v2/{parent=projects/*/locations/*}/connections"
|
|
926
|
+
additional_bindings {
|
|
927
|
+
get: "/v2/{parent=organizations/*/locations/*}/connections"
|
|
928
|
+
}
|
|
881
929
|
};
|
|
882
930
|
option (google.api.method_signature) = "parent";
|
|
883
931
|
}
|
|
@@ -899,6 +947,9 @@ service DlpService {
|
|
|
899
947
|
returns (google.protobuf.Empty) {
|
|
900
948
|
option (google.api.http) = {
|
|
901
949
|
delete: "/v2/{name=projects/*/locations/*/connections/*}"
|
|
950
|
+
additional_bindings {
|
|
951
|
+
delete: "/v2/{name=organizations/*/locations/*/connections/*}"
|
|
952
|
+
}
|
|
902
953
|
};
|
|
903
954
|
option (google.api.method_signature) = "name";
|
|
904
955
|
}
|
|
@@ -908,6 +959,10 @@ service DlpService {
|
|
|
908
959
|
option (google.api.http) = {
|
|
909
960
|
patch: "/v2/{name=projects/*/locations/*/connections/*}"
|
|
910
961
|
body: "*"
|
|
962
|
+
additional_bindings {
|
|
963
|
+
patch: "/v2/{name=organizations/*/locations/*/connections/*}"
|
|
964
|
+
body: "*"
|
|
965
|
+
}
|
|
911
966
|
};
|
|
912
967
|
option (google.api.method_signature) = "name";
|
|
913
968
|
}
|
|
@@ -1174,6 +1229,15 @@ message ByteContentItem {
|
|
|
1174
1229
|
|
|
1175
1230
|
// tsv
|
|
1176
1231
|
TSV = 13;
|
|
1232
|
+
|
|
1233
|
+
// Audio file types. Only used for profiling.
|
|
1234
|
+
AUDIO = 15;
|
|
1235
|
+
|
|
1236
|
+
// Video file types. Only used for profiling.
|
|
1237
|
+
VIDEO = 16;
|
|
1238
|
+
|
|
1239
|
+
// Executable file types. Only used for profiling.
|
|
1240
|
+
EXECUTABLE = 17;
|
|
1177
1241
|
}
|
|
1178
1242
|
|
|
1179
1243
|
// The type of data stored in the bytes string. Default will be TEXT_UTF8.
|
|
@@ -1288,6 +1352,7 @@ message Finding {
|
|
|
1288
1352
|
// No more than 10 labels can be associated with a given finding.
|
|
1289
1353
|
//
|
|
1290
1354
|
// Examples:
|
|
1355
|
+
//
|
|
1291
1356
|
// * `"environment" : "production"`
|
|
1292
1357
|
// * `"pipeline" : "etl"`
|
|
1293
1358
|
map<string, string> labels = 10;
|
|
@@ -1519,10 +1584,10 @@ message RedactImageRequest {
|
|
|
1519
1584
|
// processing
|
|
1520
1585
|
// location](https://cloud.google.com/sensitive-data-protection/docs/specifying-location):
|
|
1521
1586
|
//
|
|
1522
|
-
// + Projects scope, location specified
|
|
1523
|
-
// `projects
|
|
1524
|
-
// + Projects scope, no location specified (defaults to global)
|
|
1525
|
-
// `projects
|
|
1587
|
+
// + Projects scope, location specified:
|
|
1588
|
+
// `projects/{project_id}/locations/{location_id}`
|
|
1589
|
+
// + Projects scope, no location specified (defaults to global):
|
|
1590
|
+
// `projects/{project_id}`
|
|
1526
1591
|
//
|
|
1527
1592
|
// The following example `parent` string specifies a parent project with the
|
|
1528
1593
|
// identifier `example-project`, and specifies the `europe-west3` location
|
|
@@ -1584,10 +1649,10 @@ message DeidentifyContentRequest {
|
|
|
1584
1649
|
// processing
|
|
1585
1650
|
// location](https://cloud.google.com/sensitive-data-protection/docs/specifying-location):
|
|
1586
1651
|
//
|
|
1587
|
-
// + Projects scope, location specified
|
|
1588
|
-
// `projects
|
|
1589
|
-
// + Projects scope, no location specified (defaults to global)
|
|
1590
|
-
// `projects
|
|
1652
|
+
// + Projects scope, location specified:
|
|
1653
|
+
// `projects/{project_id}/locations/{location_id}`
|
|
1654
|
+
// + Projects scope, no location specified (defaults to global):
|
|
1655
|
+
// `projects/{project_id}`
|
|
1591
1656
|
//
|
|
1592
1657
|
// The following example `parent` string specifies a parent project with the
|
|
1593
1658
|
// identifier `example-project`, and specifies the `europe-west3` location
|
|
@@ -1653,10 +1718,10 @@ message ReidentifyContentRequest {
|
|
|
1653
1718
|
// processing
|
|
1654
1719
|
// location](https://cloud.google.com/sensitive-data-protection/docs/specifying-location):
|
|
1655
1720
|
//
|
|
1656
|
-
// + Projects scope, location specified
|
|
1657
|
-
// `projects
|
|
1658
|
-
// + Projects scope, no location specified (defaults to global)
|
|
1659
|
-
// `projects
|
|
1721
|
+
// + Projects scope, location specified:
|
|
1722
|
+
// `projects/{project_id}/locations/{location_id}`
|
|
1723
|
+
// + Projects scope, no location specified (defaults to global):
|
|
1724
|
+
// `projects/{project_id}`
|
|
1660
1725
|
//
|
|
1661
1726
|
// The following example `parent` string specifies a parent project with the
|
|
1662
1727
|
// identifier `example-project`, and specifies the `europe-west3` location
|
|
@@ -1725,10 +1790,10 @@ message InspectContentRequest {
|
|
|
1725
1790
|
// processing
|
|
1726
1791
|
// location](https://cloud.google.com/sensitive-data-protection/docs/specifying-location):
|
|
1727
1792
|
//
|
|
1728
|
-
// + Projects scope, location specified
|
|
1729
|
-
// `projects
|
|
1730
|
-
// + Projects scope, no location specified (defaults to global)
|
|
1731
|
-
// `projects
|
|
1793
|
+
// + Projects scope, location specified:
|
|
1794
|
+
// `projects/{project_id}/locations/{location_id}`
|
|
1795
|
+
// + Projects scope, no location specified (defaults to global):
|
|
1796
|
+
// `projects/{project_id}`
|
|
1732
1797
|
//
|
|
1733
1798
|
// The following example `parent` string specifies a parent project with the
|
|
1734
1799
|
// identifier `example-project`, and specifies the `europe-west3` location
|
|
@@ -1878,6 +1943,9 @@ message DataProfileBigQueryRowSchema {
|
|
|
1878
1943
|
|
|
1879
1944
|
// Column data profile column
|
|
1880
1945
|
ColumnDataProfile column_profile = 2;
|
|
1946
|
+
|
|
1947
|
+
// File store data profile column.
|
|
1948
|
+
FileStoreDataProfile file_store_profile = 3;
|
|
1881
1949
|
}
|
|
1882
1950
|
}
|
|
1883
1951
|
|
|
@@ -1986,12 +2054,18 @@ message InfoTypeCategory {
|
|
|
1986
2054
|
// The infoType is typically used in Argentina.
|
|
1987
2055
|
ARGENTINA = 2;
|
|
1988
2056
|
|
|
2057
|
+
// The infoType is typically used in Armenia.
|
|
2058
|
+
ARMENIA = 51;
|
|
2059
|
+
|
|
1989
2060
|
// The infoType is typically used in Australia.
|
|
1990
2061
|
AUSTRALIA = 3;
|
|
1991
2062
|
|
|
1992
2063
|
// The infoType is typically used in Azerbaijan.
|
|
1993
2064
|
AZERBAIJAN = 48;
|
|
1994
2065
|
|
|
2066
|
+
// The infoType is typically used in Belarus.
|
|
2067
|
+
BELARUS = 50;
|
|
2068
|
+
|
|
1995
2069
|
// The infoType is typically used in Belgium.
|
|
1996
2070
|
BELGIUM = 4;
|
|
1997
2071
|
|
|
@@ -2202,7 +2276,7 @@ message ListInfoTypesRequest {
|
|
|
2202
2276
|
//
|
|
2203
2277
|
// The format of this value is as follows:
|
|
2204
2278
|
//
|
|
2205
|
-
// locations
|
|
2279
|
+
// `locations/{location_id}`
|
|
2206
2280
|
string parent = 4;
|
|
2207
2281
|
|
|
2208
2282
|
// BCP-47 language code for localized infoType friendly
|
|
@@ -3200,9 +3274,10 @@ message FixedSizeBucketingConfig {
|
|
|
3200
3274
|
|
|
3201
3275
|
// Generalization function that buckets values based on ranges. The ranges and
|
|
3202
3276
|
// replacement values are dynamically provided by the user for custom behavior,
|
|
3203
|
-
// such as 1-30 -> LOW 31-65 -> MEDIUM 66-100 -> HIGH
|
|
3204
|
-
//
|
|
3205
|
-
// data of type: number, long, string, timestamp.
|
|
3277
|
+
// such as 1-30 -> LOW, 31-65 -> MEDIUM, 66-100 -> HIGH.
|
|
3278
|
+
//
|
|
3279
|
+
// This can be used on data of type: number, long, string, timestamp.
|
|
3280
|
+
//
|
|
3206
3281
|
// If the bound `Value` type differs from the type of data being transformed, we
|
|
3207
3282
|
// will first attempt converting the type of the data to be transformed to match
|
|
3208
3283
|
// the type of the bound before comparing.
|
|
@@ -3300,8 +3375,7 @@ message CryptoReplaceFfxFpeConfig {
|
|
|
3300
3375
|
// This must be encoded as ASCII.
|
|
3301
3376
|
// The order of characters does not matter.
|
|
3302
3377
|
// The full list of allowed characters is:
|
|
3303
|
-
//
|
|
3304
|
-
// ~`!@#$%^&*()_-+={[}]|\:;"'<,>.?/</code>
|
|
3378
|
+
// ``0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz~`!@#$%^&*()_-+={[}]|\:;"'<,>.?/``
|
|
3305
3379
|
string custom_alphabet = 5;
|
|
3306
3380
|
|
|
3307
3381
|
// The native way to select the alphabet. Must be in the range [2, 95].
|
|
@@ -3933,12 +4007,27 @@ message DeidentifyTemplate {
|
|
|
3933
4007
|
// Details information about an error encountered during job execution or
|
|
3934
4008
|
// the results of an unsuccessful activation of the JobTrigger.
|
|
3935
4009
|
message Error {
|
|
4010
|
+
// Additional information about the error.
|
|
4011
|
+
enum ErrorExtraInfo {
|
|
4012
|
+
// Unused.
|
|
4013
|
+
ERROR_INFO_UNSPECIFIED = 0;
|
|
4014
|
+
|
|
4015
|
+
// Image scan is not available in the region.
|
|
4016
|
+
IMAGE_SCAN_UNAVAILABLE_IN_REGION = 1;
|
|
4017
|
+
|
|
4018
|
+
// File store cluster is not supported for profile generation.
|
|
4019
|
+
FILE_STORE_CLUSTER_UNSUPPORTED = 2;
|
|
4020
|
+
}
|
|
4021
|
+
|
|
3936
4022
|
// Detailed error codes and messages.
|
|
3937
4023
|
google.rpc.Status details = 1;
|
|
3938
4024
|
|
|
3939
4025
|
// The times the error occurred. List includes the oldest timestamp and the
|
|
3940
4026
|
// last 9 timestamps.
|
|
3941
4027
|
repeated google.protobuf.Timestamp timestamps = 2;
|
|
4028
|
+
|
|
4029
|
+
// Additional information about the error.
|
|
4030
|
+
ErrorExtraInfo extra_info = 4;
|
|
3942
4031
|
}
|
|
3943
4032
|
|
|
3944
4033
|
// Contains a configuration to make API calls on a repeating basis.
|
|
@@ -4114,7 +4203,7 @@ message Action {
|
|
|
4114
4203
|
// Where to store the output.
|
|
4115
4204
|
oneof output {
|
|
4116
4205
|
// Required. User settable Cloud Storage bucket and folders to store
|
|
4117
|
-
// de-identified files. This field must be set for
|
|
4206
|
+
// de-identified files. This field must be set for Cloud Storage
|
|
4118
4207
|
// deidentification. The output Cloud Storage bucket must be different
|
|
4119
4208
|
// from the input bucket. De-identified files will overwrite files in the
|
|
4120
4209
|
// output path.
|
|
@@ -4124,12 +4213,12 @@ message Action {
|
|
|
4124
4213
|
}
|
|
4125
4214
|
|
|
4126
4215
|
// List of user-specified file type groups to transform. If specified, only
|
|
4127
|
-
// the files with these
|
|
4216
|
+
// the files with these file types will be transformed. If empty, all
|
|
4128
4217
|
// supported files will be transformed. Supported types may be automatically
|
|
4129
4218
|
// added over time. If a file type is set in this field that isn't supported
|
|
4130
4219
|
// by the Deidentify action then the job will fail and will not be
|
|
4131
|
-
// successfully created/started. Currently the only
|
|
4132
|
-
// IMAGES, TEXT_FILES, CSV, TSV.
|
|
4220
|
+
// successfully created/started. Currently the only file types supported
|
|
4221
|
+
// are: IMAGES, TEXT_FILES, CSV, TSV.
|
|
4133
4222
|
repeated FileType file_types_to_transform = 8;
|
|
4134
4223
|
}
|
|
4135
4224
|
|
|
@@ -4208,14 +4297,14 @@ message CreateInspectTemplateRequest {
|
|
|
4208
4297
|
// (project or organization) and whether you have [specified a processing
|
|
4209
4298
|
// location](https://cloud.google.com/sensitive-data-protection/docs/specifying-location):
|
|
4210
4299
|
//
|
|
4211
|
-
// + Projects scope, location specified
|
|
4212
|
-
// `projects
|
|
4213
|
-
// + Projects scope, no location specified (defaults to global)
|
|
4214
|
-
// `projects
|
|
4215
|
-
// + Organizations scope, location specified
|
|
4216
|
-
// `organizations
|
|
4217
|
-
// + Organizations scope, no location specified (defaults to global)
|
|
4218
|
-
// `organizations
|
|
4300
|
+
// + Projects scope, location specified:
|
|
4301
|
+
// `projects/{project_id}/locations/{location_id}`
|
|
4302
|
+
// + Projects scope, no location specified (defaults to global):
|
|
4303
|
+
// `projects/{project_id}`
|
|
4304
|
+
// + Organizations scope, location specified:
|
|
4305
|
+
// `organizations/{org_id}/locations/{location_id}`
|
|
4306
|
+
// + Organizations scope, no location specified (defaults to global):
|
|
4307
|
+
// `organizations/{org_id}`
|
|
4219
4308
|
//
|
|
4220
4309
|
// The following example `parent` string specifies a parent project with the
|
|
4221
4310
|
// identifier `example-project`, and specifies the `europe-west3` location
|
|
@@ -4282,14 +4371,14 @@ message ListInspectTemplatesRequest {
|
|
|
4282
4371
|
// (project or organization) and whether you have [specified a processing
|
|
4283
4372
|
// location](https://cloud.google.com/sensitive-data-protection/docs/specifying-location):
|
|
4284
4373
|
//
|
|
4285
|
-
// + Projects scope, location specified
|
|
4286
|
-
// `projects
|
|
4287
|
-
// + Projects scope, no location specified (defaults to global)
|
|
4288
|
-
// `projects
|
|
4289
|
-
// + Organizations scope, location specified
|
|
4290
|
-
// `organizations
|
|
4291
|
-
// + Organizations scope, no location specified (defaults to global)
|
|
4292
|
-
// `organizations
|
|
4374
|
+
// + Projects scope, location specified:
|
|
4375
|
+
// `projects/{project_id}/locations/{location_id}`
|
|
4376
|
+
// + Projects scope, no location specified (defaults to global):
|
|
4377
|
+
// `projects/{project_id}`
|
|
4378
|
+
// + Organizations scope, location specified:
|
|
4379
|
+
// `organizations/{org_id}/locations/{location_id}`
|
|
4380
|
+
// + Organizations scope, no location specified (defaults to global):
|
|
4381
|
+
// `organizations/{org_id}`
|
|
4293
4382
|
//
|
|
4294
4383
|
// The following example `parent` string specifies a parent project with the
|
|
4295
4384
|
// identifier `example-project`, and specifies the `europe-west3` location
|
|
@@ -4311,7 +4400,7 @@ message ListInspectTemplatesRequest {
|
|
|
4311
4400
|
// returns a page of max size 100.
|
|
4312
4401
|
int32 page_size = 3;
|
|
4313
4402
|
|
|
4314
|
-
// Comma
|
|
4403
|
+
// Comma-separated list of fields to order by,
|
|
4315
4404
|
// followed by `asc` or `desc` postfix. This list is case insensitive. The
|
|
4316
4405
|
// default sorting order is ascending. Redundant space characters are
|
|
4317
4406
|
// insignificant.
|
|
@@ -4361,10 +4450,10 @@ message CreateJobTriggerRequest {
|
|
|
4361
4450
|
// processing
|
|
4362
4451
|
// location](https://cloud.google.com/sensitive-data-protection/docs/specifying-location):
|
|
4363
4452
|
//
|
|
4364
|
-
// + Projects scope, location specified
|
|
4365
|
-
// `projects
|
|
4366
|
-
// + Projects scope, no location specified (defaults to global)
|
|
4367
|
-
// `projects
|
|
4453
|
+
// + Projects scope, location specified:
|
|
4454
|
+
// `projects/{project_id}/locations/{location_id}`
|
|
4455
|
+
// + Projects scope, no location specified (defaults to global):
|
|
4456
|
+
// `projects/{project_id}`
|
|
4368
4457
|
//
|
|
4369
4458
|
// The following example `parent` string specifies a parent project with the
|
|
4370
4459
|
// identifier `example-project`, and specifies the `europe-west3` location
|
|
@@ -4431,8 +4520,13 @@ message GetJobTriggerRequest {
|
|
|
4431
4520
|
message CreateDiscoveryConfigRequest {
|
|
4432
4521
|
// Required. Parent resource name.
|
|
4433
4522
|
//
|
|
4434
|
-
// The format of this value
|
|
4435
|
-
//
|
|
4523
|
+
// The format of this value varies depending on the scope of the request
|
|
4524
|
+
// (project or organization):
|
|
4525
|
+
//
|
|
4526
|
+
// + Projects scope:
|
|
4527
|
+
// `projects/{project_id}/locations/{location_id}`
|
|
4528
|
+
// + Organizations scope:
|
|
4529
|
+
// `organizations/{org_id}/locations/{location_id}`
|
|
4436
4530
|
//
|
|
4437
4531
|
// The following example `parent` string specifies a parent project with the
|
|
4438
4532
|
// identifier `example-project`, and specifies the `europe-west3` location
|
|
@@ -4491,7 +4585,7 @@ message ListDiscoveryConfigsRequest {
|
|
|
4491
4585
|
// Required. Parent resource name.
|
|
4492
4586
|
//
|
|
4493
4587
|
// The format of this value is as follows:
|
|
4494
|
-
// `projects
|
|
4588
|
+
// `projects/{project_id}/locations/{location_id}`
|
|
4495
4589
|
//
|
|
4496
4590
|
// The following example `parent` string specifies a parent project with the
|
|
4497
4591
|
// identifier `example-project`, and specifies the `europe-west3` location
|
|
@@ -4513,7 +4607,7 @@ message ListDiscoveryConfigsRequest {
|
|
|
4513
4607
|
// Size of the page. This value can be limited by a server.
|
|
4514
4608
|
int32 page_size = 3;
|
|
4515
4609
|
|
|
4516
|
-
// Comma
|
|
4610
|
+
// Comma-separated list of config fields to order by,
|
|
4517
4611
|
// followed by `asc` or `desc` postfix. This list is case insensitive. The
|
|
4518
4612
|
// default sorting order is ascending. Redundant space characters are
|
|
4519
4613
|
// insignificant.
|
|
@@ -4560,10 +4654,10 @@ message CreateDlpJobRequest {
|
|
|
4560
4654
|
// processing
|
|
4561
4655
|
// location](https://cloud.google.com/sensitive-data-protection/docs/specifying-location):
|
|
4562
4656
|
//
|
|
4563
|
-
// + Projects scope, location specified
|
|
4564
|
-
// `projects
|
|
4565
|
-
// + Projects scope, no location specified (defaults to global)
|
|
4566
|
-
// `projects
|
|
4657
|
+
// + Projects scope, location specified:
|
|
4658
|
+
// `projects/{project_id}/locations/{location_id}`
|
|
4659
|
+
// + Projects scope, no location specified (defaults to global):
|
|
4660
|
+
// `projects/{project_id}`
|
|
4567
4661
|
//
|
|
4568
4662
|
// The following example `parent` string specifies a parent project with the
|
|
4569
4663
|
// identifier `example-project`, and specifies the `europe-west3` location
|
|
@@ -4605,10 +4699,10 @@ message ListJobTriggersRequest {
|
|
|
4605
4699
|
// processing
|
|
4606
4700
|
// location](https://cloud.google.com/sensitive-data-protection/docs/specifying-location):
|
|
4607
4701
|
//
|
|
4608
|
-
// + Projects scope, location specified
|
|
4609
|
-
// `projects
|
|
4610
|
-
// + Projects scope, no location specified (defaults to global)
|
|
4611
|
-
// `projects
|
|
4702
|
+
// + Projects scope, location specified:
|
|
4703
|
+
// `projects/{project_id}/locations/{location_id}`
|
|
4704
|
+
// + Projects scope, no location specified (defaults to global):
|
|
4705
|
+
// `projects/{project_id}`
|
|
4612
4706
|
//
|
|
4613
4707
|
// The following example `parent` string specifies a parent project with the
|
|
4614
4708
|
// identifier `example-project`, and specifies the `europe-west3` location
|
|
@@ -4630,7 +4724,7 @@ message ListJobTriggersRequest {
|
|
|
4630
4724
|
// Size of the page. This value can be limited by a server.
|
|
4631
4725
|
int32 page_size = 3;
|
|
4632
4726
|
|
|
4633
|
-
// Comma
|
|
4727
|
+
// Comma-separated list of triggeredJob fields to order by,
|
|
4634
4728
|
// followed by `asc` or `desc` postfix. This list is case insensitive. The
|
|
4635
4729
|
// default sorting order is ascending. Redundant space characters are
|
|
4636
4730
|
// insignificant.
|
|
@@ -4717,6 +4811,18 @@ message InspectJobConfig {
|
|
|
4717
4811
|
repeated Action actions = 4;
|
|
4718
4812
|
}
|
|
4719
4813
|
|
|
4814
|
+
// Whether a profile being created is the first generation or an update.
|
|
4815
|
+
enum ProfileGeneration {
|
|
4816
|
+
// Unused.
|
|
4817
|
+
PROFILE_GENERATION_UNSPECIFIED = 0;
|
|
4818
|
+
|
|
4819
|
+
// The profile is the first profile for the resource.
|
|
4820
|
+
PROFILE_GENERATION_NEW = 1;
|
|
4821
|
+
|
|
4822
|
+
// The profile is an update to a previous profile.
|
|
4823
|
+
PROFILE_GENERATION_UPDATE = 2;
|
|
4824
|
+
}
|
|
4825
|
+
|
|
4720
4826
|
// A task to execute when a data profile has been generated.
|
|
4721
4827
|
message DataProfileAction {
|
|
4722
4828
|
// If set, the detailed data profiles will be persisted to the location
|
|
@@ -4748,6 +4854,9 @@ message DataProfileAction {
|
|
|
4748
4854
|
|
|
4749
4855
|
// The name of the profiled resource.
|
|
4750
4856
|
RESOURCE_NAME = 2;
|
|
4857
|
+
|
|
4858
|
+
// The full file store data profile.
|
|
4859
|
+
FILE_STORE_PROFILE = 3;
|
|
4751
4860
|
}
|
|
4752
4861
|
|
|
4753
4862
|
// Cloud Pub/Sub topic to send notifications to.
|
|
@@ -4788,6 +4897,60 @@ message DataProfileAction {
|
|
|
4788
4897
|
ERROR_CHANGED = 4;
|
|
4789
4898
|
}
|
|
4790
4899
|
|
|
4900
|
+
// If set, attaches the [tags]
|
|
4901
|
+
// (https://cloud.google.com/resource-manager/docs/tags/tags-overview)
|
|
4902
|
+
// provided to profiled resources. Tags support [access
|
|
4903
|
+
// control](https://cloud.google.com/iam/docs/tags-access-control). You can
|
|
4904
|
+
// conditionally grant or deny access to a resource based on whether the
|
|
4905
|
+
// resource has a specific tag.
|
|
4906
|
+
message TagResources {
|
|
4907
|
+
// The tag to attach to profiles matching the condition. At most one
|
|
4908
|
+
// `TagCondition` can be specified per sensitivity level.
|
|
4909
|
+
message TagCondition {
|
|
4910
|
+
// The tag value to attach to resources.
|
|
4911
|
+
TagValue tag = 1;
|
|
4912
|
+
|
|
4913
|
+
// The type of condition on which attaching the tag will be predicated.
|
|
4914
|
+
oneof type {
|
|
4915
|
+
// Conditions attaching the tag to a resource on its profile having this
|
|
4916
|
+
// sensitivity score.
|
|
4917
|
+
SensitivityScore sensitivity_score = 2;
|
|
4918
|
+
}
|
|
4919
|
+
}
|
|
4920
|
+
|
|
4921
|
+
// A value of a tag.
|
|
4922
|
+
message TagValue {
|
|
4923
|
+
// The format of the tag value.
|
|
4924
|
+
oneof format {
|
|
4925
|
+
// The namespaced name for the tag value to attach to resources. Must be
|
|
4926
|
+
// in the format `{parent_id}/{tag_key_short_name}/{short_name}`, for
|
|
4927
|
+
// example, "123456/environment/prod".
|
|
4928
|
+
string namespaced_value = 1;
|
|
4929
|
+
}
|
|
4930
|
+
}
|
|
4931
|
+
|
|
4932
|
+
// The tags to associate with different conditions.
|
|
4933
|
+
repeated TagCondition tag_conditions = 1;
|
|
4934
|
+
|
|
4935
|
+
// The profile generations for which the tag should be attached to
|
|
4936
|
+
// resources. If you attach a tag to only new profiles, then if the
|
|
4937
|
+
// sensitivity score of a profile subsequently changes, its tag doesn't
|
|
4938
|
+
// change. By default, this field includes only new profiles. To include
|
|
4939
|
+
// both new and updated profiles for tagging, this field should explicitly
|
|
4940
|
+
// include both `PROFILE_GENERATION_NEW` and `PROFILE_GENERATION_UPDATE`.
|
|
4941
|
+
repeated ProfileGeneration profile_generations_to_tag = 2;
|
|
4942
|
+
|
|
4943
|
+
// Whether applying a tag to a resource should lower the risk of the profile
|
|
4944
|
+
// for that resource. For example, in conjunction with an [IAM deny
|
|
4945
|
+
// policy](https://cloud.google.com/iam/docs/deny-overview), you can deny
|
|
4946
|
+
// all principals a permission if a tag value is present, mitigating the
|
|
4947
|
+
// risk of the resource. This also lowers the data risk of resources at the
|
|
4948
|
+
// lower levels of the resource hierarchy. For example, reducing the data
|
|
4949
|
+
// risk of a table data profile also reduces the data risk of the
|
|
4950
|
+
// constituent column data profiles.
|
|
4951
|
+
bool lower_data_risk_to_low = 3;
|
|
4952
|
+
}
|
|
4953
|
+
|
|
4791
4954
|
// Type of action to execute when a profile is generated.
|
|
4792
4955
|
oneof action {
|
|
4793
4956
|
// Export data profiles into a provided location.
|
|
@@ -4795,6 +4958,9 @@ message DataProfileAction {
|
|
|
4795
4958
|
|
|
4796
4959
|
// Publish a message into the Pub/Sub topic.
|
|
4797
4960
|
PubSubNotification pub_sub_notification = 2;
|
|
4961
|
+
|
|
4962
|
+
// Tags the profiled resources with the specified tag values.
|
|
4963
|
+
TagResources tag_resources = 8;
|
|
4798
4964
|
}
|
|
4799
4965
|
}
|
|
4800
4966
|
|
|
@@ -4925,7 +5091,7 @@ message DataProfileLocation {
|
|
|
4925
5091
|
// The ID of an organization to scan.
|
|
4926
5092
|
int64 organization_id = 1;
|
|
4927
5093
|
|
|
4928
|
-
// The ID of the
|
|
5094
|
+
// The ID of the folder within an organization to scan.
|
|
4929
5095
|
int64 folder_id = 2;
|
|
4930
5096
|
}
|
|
4931
5097
|
}
|
|
@@ -5040,6 +5206,10 @@ message DiscoveryTarget {
|
|
|
5040
5206
|
// resource metadata and reports them as vulnerabilities to Security Command
|
|
5041
5207
|
// Center. Only one target of this type is allowed.
|
|
5042
5208
|
SecretsDiscoveryTarget secrets_target = 3;
|
|
5209
|
+
|
|
5210
|
+
// Cloud Storage target for Discovery. The first target to match a table
|
|
5211
|
+
// will be the one applied.
|
|
5212
|
+
CloudStorageDiscoveryTarget cloud_storage_target = 4;
|
|
5043
5213
|
}
|
|
5044
5214
|
}
|
|
5045
5215
|
|
|
@@ -5157,6 +5327,15 @@ message DiscoveryGenerationCadence {
|
|
|
5157
5327
|
|
|
5158
5328
|
// Governs when to update data profiles when a table is modified.
|
|
5159
5329
|
DiscoveryTableModifiedCadence table_modified_cadence = 2;
|
|
5330
|
+
|
|
5331
|
+
// Governs when to update data profiles when the inspection rules
|
|
5332
|
+
// defined by the `InspectTemplate` change.
|
|
5333
|
+
// If not set, changing the template will not cause a data profile to update.
|
|
5334
|
+
DiscoveryInspectTemplateModifiedCadence inspect_template_modified_cadence = 3;
|
|
5335
|
+
|
|
5336
|
+
// Frequency at which profiles should be updated, regardless of whether the
|
|
5337
|
+
// underlying resource has changed. Defaults to never.
|
|
5338
|
+
DataProfileUpdateFrequency refresh_frequency = 4;
|
|
5160
5339
|
}
|
|
5161
5340
|
|
|
5162
5341
|
// The cadence at which to update data profiles when a table is modified.
|
|
@@ -5208,6 +5387,14 @@ enum BigQuerySchemaModification {
|
|
|
5208
5387
|
SCHEMA_REMOVED_COLUMNS = 2;
|
|
5209
5388
|
}
|
|
5210
5389
|
|
|
5390
|
+
// The cadence at which to update data profiles when the inspection rules
|
|
5391
|
+
// defined by the `InspectTemplate` change.
|
|
5392
|
+
message DiscoveryInspectTemplateModifiedCadence {
|
|
5393
|
+
// How frequently data profiles can be updated when the template is modified.
|
|
5394
|
+
// Defaults to never.
|
|
5395
|
+
DataProfileUpdateFrequency frequency = 1;
|
|
5396
|
+
}
|
|
5397
|
+
|
|
5211
5398
|
// Target used to match against for discovery with Cloud SQL tables.
|
|
5212
5399
|
message CloudSqlDiscoveryTarget {
|
|
5213
5400
|
// Required. The tables the discovery cadence applies to. The first target
|
|
@@ -5410,6 +5597,225 @@ message DiscoveryCloudSqlGenerationCadence {
|
|
|
5410
5597
|
// Security Command Center.
|
|
5411
5598
|
message SecretsDiscoveryTarget {}
|
|
5412
5599
|
|
|
5600
|
+
// Target used to match against for discovery with Cloud Storage buckets.
|
|
5601
|
+
message CloudStorageDiscoveryTarget {
|
|
5602
|
+
// Required. The buckets the generation_cadence applies to. The first target
|
|
5603
|
+
// with a matching filter will be the one to apply to a bucket.
|
|
5604
|
+
DiscoveryCloudStorageFilter filter = 1
|
|
5605
|
+
[(google.api.field_behavior) = REQUIRED];
|
|
5606
|
+
|
|
5607
|
+
// Optional. In addition to matching the filter, these conditions must be true
|
|
5608
|
+
// before a profile is generated.
|
|
5609
|
+
DiscoveryFileStoreConditions conditions = 4
|
|
5610
|
+
[(google.api.field_behavior) = OPTIONAL];
|
|
5611
|
+
|
|
5612
|
+
// How often and when to update profiles.
|
|
5613
|
+
oneof cadence {
|
|
5614
|
+
// Optional. How often and when to update profiles. New buckets that match
|
|
5615
|
+
// both the filter and conditions are scanned as quickly as possible
|
|
5616
|
+
// depending on system capacity.
|
|
5617
|
+
DiscoveryCloudStorageGenerationCadence generation_cadence = 2
|
|
5618
|
+
[(google.api.field_behavior) = OPTIONAL];
|
|
5619
|
+
|
|
5620
|
+
// Optional. Disable profiling for buckets that match this filter.
|
|
5621
|
+
Disabled disabled = 3 [(google.api.field_behavior) = OPTIONAL];
|
|
5622
|
+
}
|
|
5623
|
+
}
|
|
5624
|
+
|
|
5625
|
+
// Determines which buckets will have profiles generated within an organization
|
|
5626
|
+
// or project. Includes the ability to filter by regular expression patterns
|
|
5627
|
+
// on project ID and bucket name.
|
|
5628
|
+
message DiscoveryCloudStorageFilter {
|
|
5629
|
+
// Whether the filter applies to a specific set of buckets or all
|
|
5630
|
+
// other buckets within the location being profiled. The first
|
|
5631
|
+
// filter to match will be applied, regardless of the condition. If none is
|
|
5632
|
+
// set, will default to `others`.
|
|
5633
|
+
oneof filter {
|
|
5634
|
+
// Optional. A specific set of buckets for this filter to apply to.
|
|
5635
|
+
FileStoreCollection collection = 1 [(google.api.field_behavior) = OPTIONAL];
|
|
5636
|
+
|
|
5637
|
+
// Optional. The bucket to scan. Targets including this can only include one
|
|
5638
|
+
// target (the target with this bucket). This enables profiling the contents
|
|
5639
|
+
// of a single bucket, while the other options allow for easy profiling of
|
|
5640
|
+
// many bucets within a project or an organization.
|
|
5641
|
+
CloudStorageResourceReference cloud_storage_resource_reference = 2
|
|
5642
|
+
[(google.api.field_behavior) = OPTIONAL];
|
|
5643
|
+
|
|
5644
|
+
// Optional. Catch-all. This should always be the last target in the list
|
|
5645
|
+
// because anything above it will apply first. Should only appear once in a
|
|
5646
|
+
// configuration. If none is specified, a default one will be added
|
|
5647
|
+
// automatically.
|
|
5648
|
+
AllOtherResources others = 100 [(google.api.field_behavior) = OPTIONAL];
|
|
5649
|
+
}
|
|
5650
|
+
}
|
|
5651
|
+
|
|
5652
|
+
// Match file stores (e.g. buckets) using regex filters.
|
|
5653
|
+
message FileStoreCollection {
|
|
5654
|
+
// The first filter containing a pattern that matches a file store will
|
|
5655
|
+
// be used.
|
|
5656
|
+
oneof pattern {
|
|
5657
|
+
// Optional. A collection of regular expressions to match a file store
|
|
5658
|
+
// against.
|
|
5659
|
+
FileStoreRegexes include_regexes = 1
|
|
5660
|
+
[(google.api.field_behavior) = OPTIONAL];
|
|
5661
|
+
}
|
|
5662
|
+
}
|
|
5663
|
+
|
|
5664
|
+
// A collection of regular expressions to determine what file store to match
|
|
5665
|
+
// against.
|
|
5666
|
+
message FileStoreRegexes {
|
|
5667
|
+
// Required. The group of regular expression patterns to match against one or
|
|
5668
|
+
// more file stores. Maximum of 100 entries. The sum of all regular
|
|
5669
|
+
// expression's length can't exceed 10 KiB.
|
|
5670
|
+
repeated FileStoreRegex patterns = 1 [(google.api.field_behavior) = REQUIRED];
|
|
5671
|
+
}
|
|
5672
|
+
|
|
5673
|
+
// A pattern to match against one or more file stores.
|
|
5674
|
+
message FileStoreRegex {
|
|
5675
|
+
// The type of resource regex to use.
|
|
5676
|
+
oneof resource_regex {
|
|
5677
|
+
// Optional. Regex for Cloud Storage.
|
|
5678
|
+
CloudStorageRegex cloud_storage_regex = 1
|
|
5679
|
+
[(google.api.field_behavior) = OPTIONAL];
|
|
5680
|
+
}
|
|
5681
|
+
}
|
|
5682
|
+
|
|
5683
|
+
// A pattern to match against one or more file stores. At least one
|
|
5684
|
+
// pattern must be specified. Regular expressions use RE2
|
|
5685
|
+
// [syntax](https://github.com/google/re2/wiki/Syntax); a guide can be found
|
|
5686
|
+
// under the google/re2 repository on GitHub.
|
|
5687
|
+
message CloudStorageRegex {
|
|
5688
|
+
// Optional. For organizations, if unset, will match all projects.
|
|
5689
|
+
string project_id_regex = 1 [(google.api.field_behavior) = OPTIONAL];
|
|
5690
|
+
|
|
5691
|
+
// Optional. Regex to test the bucket name against. If empty, all buckets
|
|
5692
|
+
// match. Example: "marketing2021" or "(marketing)\d{4}" will both match the
|
|
5693
|
+
// bucket gs://marketing2021
|
|
5694
|
+
string bucket_name_regex = 2 [(google.api.field_behavior) = OPTIONAL];
|
|
5695
|
+
}
|
|
5696
|
+
|
|
5697
|
+
// Identifies a single Cloud Storage bucket.
|
|
5698
|
+
message CloudStorageResourceReference {
|
|
5699
|
+
// Required. The bucket to scan.
|
|
5700
|
+
string bucket_name = 1 [(google.api.field_behavior) = REQUIRED];
|
|
5701
|
+
|
|
5702
|
+
// Required. If within a project-level config, then this must match the
|
|
5703
|
+
// config's project id.
|
|
5704
|
+
string project_id = 2 [(google.api.field_behavior) = REQUIRED];
|
|
5705
|
+
}
|
|
5706
|
+
|
|
5707
|
+
// How often existing buckets should have their profiles refreshed.
|
|
5708
|
+
// New buckets are scanned as quickly as possible depending on system
|
|
5709
|
+
// capacity.
|
|
5710
|
+
message DiscoveryCloudStorageGenerationCadence {
|
|
5711
|
+
// Optional. Data changes in Cloud Storage can't trigger reprofiling. If you
|
|
5712
|
+
// set this field, profiles are refreshed at this frequency regardless of
|
|
5713
|
+
// whether the underlying buckets have changed. Defaults to never.
|
|
5714
|
+
DataProfileUpdateFrequency refresh_frequency = 1
|
|
5715
|
+
[(google.api.field_behavior) = OPTIONAL];
|
|
5716
|
+
|
|
5717
|
+
// Optional. Governs when to update data profiles when the inspection rules
|
|
5718
|
+
// defined by the `InspectTemplate` change.
|
|
5719
|
+
// If not set, changing the template will not cause a data profile to update.
|
|
5720
|
+
DiscoveryInspectTemplateModifiedCadence inspect_template_modified_cadence = 2
|
|
5721
|
+
[(google.api.field_behavior) = OPTIONAL];
|
|
5722
|
+
}
|
|
5723
|
+
|
|
5724
|
+
// Requirements that must be true before a Cloud Storage bucket or object is
|
|
5725
|
+
// scanned in discovery for the first time. There is an AND relationship between
|
|
5726
|
+
// the top-level attributes.
|
|
5727
|
+
message DiscoveryCloudStorageConditions {
|
|
5728
|
+
// The attribute of an object. See
|
|
5729
|
+
// https://cloud.google.com/storage/docs/storage-classes for more information
|
|
5730
|
+
// on storage classes.
|
|
5731
|
+
enum CloudStorageObjectAttribute {
|
|
5732
|
+
// Unused.
|
|
5733
|
+
CLOUD_STORAGE_OBJECT_ATTRIBUTE_UNSPECIFIED = 0;
|
|
5734
|
+
|
|
5735
|
+
// Scan objects regardless of the attribute.
|
|
5736
|
+
ALL_SUPPORTED_OBJECTS = 1;
|
|
5737
|
+
|
|
5738
|
+
// Scan objects with the standard storage class.
|
|
5739
|
+
STANDARD = 2;
|
|
5740
|
+
|
|
5741
|
+
// Scan objects with the nearline storage class. This will incur retrieval
|
|
5742
|
+
// fees.
|
|
5743
|
+
NEARLINE = 3;
|
|
5744
|
+
|
|
5745
|
+
// Scan objects with the coldline storage class. This will incur retrieval
|
|
5746
|
+
// fees.
|
|
5747
|
+
COLDLINE = 4;
|
|
5748
|
+
|
|
5749
|
+
// Scan objects with the archive storage class. This will incur retrieval
|
|
5750
|
+
// fees.
|
|
5751
|
+
ARCHIVE = 5;
|
|
5752
|
+
|
|
5753
|
+
// Scan objects with the regional storage class.
|
|
5754
|
+
REGIONAL = 6;
|
|
5755
|
+
|
|
5756
|
+
// Scan objects with the multi-regional storage class.
|
|
5757
|
+
MULTI_REGIONAL = 7;
|
|
5758
|
+
|
|
5759
|
+
// Scan objects with the dual-regional storage class. This will incur
|
|
5760
|
+
// retrieval fees.
|
|
5761
|
+
DURABLE_REDUCED_AVAILABILITY = 8;
|
|
5762
|
+
}
|
|
5763
|
+
|
|
5764
|
+
// The attribute of a bucket.
|
|
5765
|
+
enum CloudStorageBucketAttribute {
|
|
5766
|
+
// Unused.
|
|
5767
|
+
CLOUD_STORAGE_BUCKET_ATTRIBUTE_UNSPECIFIED = 0;
|
|
5768
|
+
|
|
5769
|
+
// Scan buckets regardless of the attribute.
|
|
5770
|
+
ALL_SUPPORTED_BUCKETS = 1;
|
|
5771
|
+
|
|
5772
|
+
// Buckets with autoclass disabled
|
|
5773
|
+
// (https://cloud.google.com/storage/docs/autoclass). Only one of
|
|
5774
|
+
// AUTOCLASS_DISABLED or AUTOCLASS_ENABLED should be set.
|
|
5775
|
+
AUTOCLASS_DISABLED = 2;
|
|
5776
|
+
|
|
5777
|
+
// Buckets with autoclass enabled
|
|
5778
|
+
// (https://cloud.google.com/storage/docs/autoclass). Only one of
|
|
5779
|
+
// AUTOCLASS_DISABLED or AUTOCLASS_ENABLED should be set. Scanning
|
|
5780
|
+
// Autoclass-enabled buckets can affect object storage classes.
|
|
5781
|
+
AUTOCLASS_ENABLED = 3;
|
|
5782
|
+
}
|
|
5783
|
+
|
|
5784
|
+
// Required. Only objects with the specified attributes will be scanned. If an
|
|
5785
|
+
// object has one of the specified attributes but is inside an excluded
|
|
5786
|
+
// bucket, it will not be scanned. Defaults to [ALL_SUPPORTED_OBJECTS]. A
|
|
5787
|
+
// profile will be created even if no objects match the
|
|
5788
|
+
// included_object_attributes.
|
|
5789
|
+
repeated CloudStorageObjectAttribute included_object_attributes = 1
|
|
5790
|
+
[(google.api.field_behavior) = REQUIRED];
|
|
5791
|
+
|
|
5792
|
+
// Required. Only objects with the specified attributes will be scanned.
|
|
5793
|
+
// Defaults to [ALL_SUPPORTED_BUCKETS] if unset.
|
|
5794
|
+
repeated CloudStorageBucketAttribute included_bucket_attributes = 2
|
|
5795
|
+
[(google.api.field_behavior) = REQUIRED];
|
|
5796
|
+
}
|
|
5797
|
+
|
|
5798
|
+
// Requirements that must be true before a file store is scanned in discovery
|
|
5799
|
+
// for the first time. There is an AND relationship between the top-level
|
|
5800
|
+
// attributes.
|
|
5801
|
+
message DiscoveryFileStoreConditions {
|
|
5802
|
+
// Optional. File store must have been created after this date. Used to avoid
|
|
5803
|
+
// backfilling.
|
|
5804
|
+
google.protobuf.Timestamp created_after = 1
|
|
5805
|
+
[(google.api.field_behavior) = OPTIONAL];
|
|
5806
|
+
|
|
5807
|
+
// Optional. Minimum age a file store must have. If set, the value must be 1
|
|
5808
|
+
// hour or greater.
|
|
5809
|
+
google.protobuf.Duration min_age = 2 [(google.api.field_behavior) = OPTIONAL];
|
|
5810
|
+
|
|
5811
|
+
// File store specific conditions.
|
|
5812
|
+
oneof conditions {
|
|
5813
|
+
// Optional. Cloud Storage conditions.
|
|
5814
|
+
DiscoveryCloudStorageConditions cloud_storage_conditions = 3
|
|
5815
|
+
[(google.api.field_behavior) = OPTIONAL];
|
|
5816
|
+
}
|
|
5817
|
+
}
|
|
5818
|
+
|
|
5413
5819
|
// The location to begin a discovery scan. Denotes an organization ID or folder
|
|
5414
5820
|
// ID within an organization.
|
|
5415
5821
|
message DiscoveryStartingLocation {
|
|
@@ -5418,11 +5824,14 @@ message DiscoveryStartingLocation {
|
|
|
5418
5824
|
// The ID of an organization to scan.
|
|
5419
5825
|
int64 organization_id = 1;
|
|
5420
5826
|
|
|
5421
|
-
// The ID of the
|
|
5827
|
+
// The ID of the folder within an organization to be scanned.
|
|
5422
5828
|
int64 folder_id = 2;
|
|
5423
5829
|
}
|
|
5424
5830
|
}
|
|
5425
5831
|
|
|
5832
|
+
// Match discovery resources not covered by any other filter.
|
|
5833
|
+
message AllOtherResources {}
|
|
5834
|
+
|
|
5426
5835
|
// Combines all of the information about a DLP job.
|
|
5427
5836
|
message DlpJob {
|
|
5428
5837
|
option (google.api.resource) = {
|
|
@@ -5517,10 +5926,10 @@ message ListDlpJobsRequest {
|
|
|
5517
5926
|
// processing
|
|
5518
5927
|
// location](https://cloud.google.com/sensitive-data-protection/docs/specifying-location):
|
|
5519
5928
|
//
|
|
5520
|
-
// + Projects scope, location specified
|
|
5521
|
-
// `projects
|
|
5522
|
-
// + Projects scope, no location specified (defaults to global)
|
|
5523
|
-
// `projects
|
|
5929
|
+
// + Projects scope, location specified:
|
|
5930
|
+
// `projects/{project_id}/locations/{location_id}`
|
|
5931
|
+
// + Projects scope, no location specified (defaults to global):
|
|
5932
|
+
// `projects/{project_id}`
|
|
5524
5933
|
//
|
|
5525
5934
|
// The following example `parent` string specifies a parent project with the
|
|
5526
5935
|
// identifier `example-project`, and specifies the `europe-west3` location
|
|
@@ -5573,7 +5982,7 @@ message ListDlpJobsRequest {
|
|
|
5573
5982
|
// The type of job. Defaults to `DlpJobType.INSPECT`
|
|
5574
5983
|
DlpJobType type = 5;
|
|
5575
5984
|
|
|
5576
|
-
// Comma
|
|
5985
|
+
// Comma-separated list of fields to order by,
|
|
5577
5986
|
// followed by `asc` or `desc` postfix. This list is case insensitive. The
|
|
5578
5987
|
// default sorting order is ascending. Redundant space characters are
|
|
5579
5988
|
// insignificant.
|
|
@@ -5636,14 +6045,14 @@ message CreateDeidentifyTemplateRequest {
|
|
|
5636
6045
|
// (project or organization) and whether you have [specified a processing
|
|
5637
6046
|
// location](https://cloud.google.com/sensitive-data-protection/docs/specifying-location):
|
|
5638
6047
|
//
|
|
5639
|
-
// + Projects scope, location specified
|
|
5640
|
-
// `projects
|
|
5641
|
-
// + Projects scope, no location specified (defaults to global)
|
|
5642
|
-
// `projects
|
|
5643
|
-
// + Organizations scope, location specified
|
|
5644
|
-
// `organizations
|
|
5645
|
-
// + Organizations scope, no location specified (defaults to global)
|
|
5646
|
-
// `organizations
|
|
6048
|
+
// + Projects scope, location specified:
|
|
6049
|
+
// `projects/{project_id}/locations/{location_id}`
|
|
6050
|
+
// + Projects scope, no location specified (defaults to global):
|
|
6051
|
+
// `projects/{project_id}`
|
|
6052
|
+
// + Organizations scope, location specified:
|
|
6053
|
+
// `organizations/{org_id}/locations/{location_id}`
|
|
6054
|
+
// + Organizations scope, no location specified (defaults to global):
|
|
6055
|
+
// `organizations/{org_id}`
|
|
5647
6056
|
//
|
|
5648
6057
|
// The following example `parent` string specifies a parent project with the
|
|
5649
6058
|
// identifier `example-project`, and specifies the `europe-west3` location
|
|
@@ -5712,14 +6121,14 @@ message ListDeidentifyTemplatesRequest {
|
|
|
5712
6121
|
// (project or organization) and whether you have [specified a processing
|
|
5713
6122
|
// location](https://cloud.google.com/sensitive-data-protection/docs/specifying-location):
|
|
5714
6123
|
//
|
|
5715
|
-
// + Projects scope, location specified
|
|
5716
|
-
// `projects
|
|
5717
|
-
// + Projects scope, no location specified (defaults to global)
|
|
5718
|
-
// `projects
|
|
5719
|
-
// + Organizations scope, location specified
|
|
5720
|
-
// `organizations
|
|
5721
|
-
// + Organizations scope, no location specified (defaults to global)
|
|
5722
|
-
// `organizations
|
|
6124
|
+
// + Projects scope, location specified:
|
|
6125
|
+
// `projects/{project_id}/locations/{location_id}`
|
|
6126
|
+
// + Projects scope, no location specified (defaults to global):
|
|
6127
|
+
// `projects/{project_id}`
|
|
6128
|
+
// + Organizations scope, location specified:
|
|
6129
|
+
// `organizations/{org_id}/locations/{location_id}`
|
|
6130
|
+
// + Organizations scope, no location specified (defaults to global):
|
|
6131
|
+
// `organizations/{org_id}`
|
|
5723
6132
|
//
|
|
5724
6133
|
// The following example `parent` string specifies a parent project with the
|
|
5725
6134
|
// identifier `example-project`, and specifies the `europe-west3` location
|
|
@@ -5741,7 +6150,7 @@ message ListDeidentifyTemplatesRequest {
|
|
|
5741
6150
|
// returns a page of max size 100.
|
|
5742
6151
|
int32 page_size = 3;
|
|
5743
6152
|
|
|
5744
|
-
// Comma
|
|
6153
|
+
// Comma-separated list of fields to order by,
|
|
5745
6154
|
// followed by `asc` or `desc` postfix. This list is case insensitive. The
|
|
5746
6155
|
// default sorting order is ascending. Redundant space characters are
|
|
5747
6156
|
// insignificant.
|
|
@@ -5909,14 +6318,14 @@ message CreateStoredInfoTypeRequest {
|
|
|
5909
6318
|
// (project or organization) and whether you have [specified a processing
|
|
5910
6319
|
// location](https://cloud.google.com/sensitive-data-protection/docs/specifying-location):
|
|
5911
6320
|
//
|
|
5912
|
-
// + Projects scope, location specified
|
|
5913
|
-
// `projects
|
|
5914
|
-
// + Projects scope, no location specified (defaults to global)
|
|
5915
|
-
// `projects
|
|
5916
|
-
// + Organizations scope, location specified
|
|
5917
|
-
// `organizations
|
|
5918
|
-
// + Organizations scope, no location specified (defaults to global)
|
|
5919
|
-
// `organizations
|
|
6321
|
+
// + Projects scope, location specified:
|
|
6322
|
+
// `projects/{project_id}/locations/{location_id}`
|
|
6323
|
+
// + Projects scope, no location specified (defaults to global):
|
|
6324
|
+
// `projects/{project_id}`
|
|
6325
|
+
// + Organizations scope, location specified:
|
|
6326
|
+
// `organizations/{org_id}/locations/{location_id}`
|
|
6327
|
+
// + Organizations scope, no location specified (defaults to global):
|
|
6328
|
+
// `organizations/{org_id}`
|
|
5920
6329
|
//
|
|
5921
6330
|
// The following example `parent` string specifies a parent project with the
|
|
5922
6331
|
// identifier `example-project`, and specifies the `europe-west3` location
|
|
@@ -5985,10 +6394,10 @@ message ListStoredInfoTypesRequest {
|
|
|
5985
6394
|
// (project or organization) and whether you have [specified a processing
|
|
5986
6395
|
// location](https://cloud.google.com/sensitive-data-protection/docs/specifying-location):
|
|
5987
6396
|
//
|
|
5988
|
-
// + Projects scope, location specified
|
|
5989
|
-
// `projects
|
|
5990
|
-
// + Projects scope, no location specified (defaults to global)
|
|
5991
|
-
// `projects
|
|
6397
|
+
// + Projects scope, location specified:
|
|
6398
|
+
// `projects/{project_id}/locations/{location_id}`
|
|
6399
|
+
// + Projects scope, no location specified (defaults to global):
|
|
6400
|
+
// `projects/{project_id}`
|
|
5992
6401
|
//
|
|
5993
6402
|
// The following example `parent` string specifies a parent project with the
|
|
5994
6403
|
// identifier `example-project`, and specifies the `europe-west3` location
|
|
@@ -6010,7 +6419,7 @@ message ListStoredInfoTypesRequest {
|
|
|
6010
6419
|
// returns a page of max size 100.
|
|
6011
6420
|
int32 page_size = 3;
|
|
6012
6421
|
|
|
6013
|
-
// Comma
|
|
6422
|
+
// Comma-separated list of fields to order by,
|
|
6014
6423
|
// followed by `asc` or `desc` postfix. This list is case insensitive. The
|
|
6015
6424
|
// default sorting order is ascending. Redundant space characters are
|
|
6016
6425
|
// insignificant.
|
|
@@ -6126,6 +6535,7 @@ message HybridFindingDetails {
|
|
|
6126
6535
|
// No more than 10 labels can be associated with a given finding.
|
|
6127
6536
|
//
|
|
6128
6537
|
// Examples:
|
|
6538
|
+
//
|
|
6129
6539
|
// * `"environment" : "production"`
|
|
6130
6540
|
// * `"pipeline" : "etl"`
|
|
6131
6541
|
map<string, string> labels = 5;
|
|
@@ -6273,7 +6683,7 @@ message ListProjectDataProfilesRequest {
|
|
|
6273
6683
|
// returns a page of max size 100.
|
|
6274
6684
|
int32 page_size = 3;
|
|
6275
6685
|
|
|
6276
|
-
// Comma
|
|
6686
|
+
// Comma-separated list of fields to order by, followed by `asc` or `desc`
|
|
6277
6687
|
// postfix. This list is case insensitive. The default sorting order is
|
|
6278
6688
|
// ascending. Redundant space characters are insignificant. Only one order
|
|
6279
6689
|
// field at a time is allowed.
|
|
@@ -6343,7 +6753,7 @@ message ListTableDataProfilesRequest {
|
|
|
6343
6753
|
// returns a page of max size 100.
|
|
6344
6754
|
int32 page_size = 3;
|
|
6345
6755
|
|
|
6346
|
-
// Comma
|
|
6756
|
+
// Comma-separated list of fields to order by, followed by `asc` or `desc`
|
|
6347
6757
|
// postfix. This list is case insensitive. The default sorting order is
|
|
6348
6758
|
// ascending. Redundant space characters are insignificant. Only one order
|
|
6349
6759
|
// field at a time is allowed.
|
|
@@ -6424,12 +6834,13 @@ message ListColumnDataProfilesRequest {
|
|
|
6424
6834
|
// returns a page of max size 100.
|
|
6425
6835
|
int32 page_size = 3;
|
|
6426
6836
|
|
|
6427
|
-
// Comma
|
|
6837
|
+
// Comma-separated list of fields to order by, followed by `asc` or `desc`
|
|
6428
6838
|
// postfix. This list is case insensitive. The default sorting order is
|
|
6429
6839
|
// ascending. Redundant space characters are insignificant. Only one order
|
|
6430
6840
|
// field at a time is allowed.
|
|
6431
6841
|
//
|
|
6432
6842
|
// Examples:
|
|
6843
|
+
//
|
|
6433
6844
|
// * `project_id asc`
|
|
6434
6845
|
// * `table_id`
|
|
6435
6846
|
// * `sensitivity_level desc`
|
|
@@ -6500,6 +6911,9 @@ message DataRiskLevel {
|
|
|
6500
6911
|
// data found.
|
|
6501
6912
|
RISK_LOW = 10;
|
|
6502
6913
|
|
|
6914
|
+
// Unable to determine risk.
|
|
6915
|
+
RISK_UNKNOWN = 12;
|
|
6916
|
+
|
|
6503
6917
|
// Medium risk - Sensitive data may be present but additional access or fine
|
|
6504
6918
|
// grain access restrictions appear to be present. Consider limiting
|
|
6505
6919
|
// access even further or transform data to mask.
|
|
@@ -6541,6 +6955,12 @@ message ProjectDataProfile {
|
|
|
6541
6955
|
|
|
6542
6956
|
// Success or error status of the last attempt to profile the project.
|
|
6543
6957
|
ProfileStatus profile_status = 7;
|
|
6958
|
+
|
|
6959
|
+
// The number of table data profiles generated for this project.
|
|
6960
|
+
int64 table_data_profile_count = 9;
|
|
6961
|
+
|
|
6962
|
+
// The number of file store data profiles generated for this project.
|
|
6963
|
+
int64 file_store_data_profile_count = 10;
|
|
6544
6964
|
}
|
|
6545
6965
|
|
|
6546
6966
|
// How broadly the data in the resource has been shared. New items may be added
|
|
@@ -6554,7 +6974,7 @@ enum ResourceVisibility {
|
|
|
6554
6974
|
|
|
6555
6975
|
// May contain public items.
|
|
6556
6976
|
// For example, if a Cloud Storage bucket has uniform bucket level access
|
|
6557
|
-
// disabled, some objects inside it may be public.
|
|
6977
|
+
// disabled, some objects inside it may be public, but none are known yet.
|
|
6558
6978
|
RESOURCE_VISIBILITY_INCONCLUSIVE = 15;
|
|
6559
6979
|
|
|
6560
6980
|
// Visible only to specific users.
|
|
@@ -6613,7 +7033,7 @@ message TableDataProfile {
|
|
|
6613
7033
|
// The resource type that was profiled.
|
|
6614
7034
|
DataSourceType data_source_type = 36;
|
|
6615
7035
|
|
|
6616
|
-
// The resource name
|
|
7036
|
+
// The resource name of the project data profile for this table.
|
|
6617
7037
|
string project_data_profile = 2;
|
|
6618
7038
|
|
|
6619
7039
|
// The Google Cloud project ID that owns the resource.
|
|
@@ -6936,6 +7356,164 @@ message ColumnDataProfile {
|
|
|
6936
7356
|
ColumnPolicyState policy_state = 15;
|
|
6937
7357
|
}
|
|
6938
7358
|
|
|
7359
|
+
// The profile for a file store.
|
|
7360
|
+
//
|
|
7361
|
+
// * Cloud Storage: maps 1:1 with a bucket.
|
|
7362
|
+
message FileStoreDataProfile {
|
|
7363
|
+
option (google.api.resource) = {
|
|
7364
|
+
type: "dlp.googleapis.com/FileStoreDataProfile"
|
|
7365
|
+
pattern: "organizations/{organization}/locations/{location}/fileStoreDataProfiles/{file_store_data_profile}"
|
|
7366
|
+
pattern: "projects/{project}/locations/{location}/fileStoreDataProfiles/{file_store_data_profile}"
|
|
7367
|
+
};
|
|
7368
|
+
|
|
7369
|
+
// Possible states of a profile. New items may be added.
|
|
7370
|
+
enum State {
|
|
7371
|
+
// Unused.
|
|
7372
|
+
STATE_UNSPECIFIED = 0;
|
|
7373
|
+
|
|
7374
|
+
// The profile is currently running. Once a profile has finished it will
|
|
7375
|
+
// transition to DONE.
|
|
7376
|
+
RUNNING = 1;
|
|
7377
|
+
|
|
7378
|
+
// The profile is no longer generating.
|
|
7379
|
+
// If profile_status.status.code is 0, the profile succeeded, otherwise, it
|
|
7380
|
+
// failed.
|
|
7381
|
+
DONE = 2;
|
|
7382
|
+
}
|
|
7383
|
+
|
|
7384
|
+
// The name of the profile.
|
|
7385
|
+
string name = 1;
|
|
7386
|
+
|
|
7387
|
+
// The resource type that was profiled.
|
|
7388
|
+
DataSourceType data_source_type = 2;
|
|
7389
|
+
|
|
7390
|
+
// The resource name of the project data profile for this file store.
|
|
7391
|
+
string project_data_profile = 3;
|
|
7392
|
+
|
|
7393
|
+
// The Google Cloud project ID that owns the resource.
|
|
7394
|
+
string project_id = 4;
|
|
7395
|
+
|
|
7396
|
+
// The location of the file store.
|
|
7397
|
+
//
|
|
7398
|
+
// * Cloud Storage:
|
|
7399
|
+
// https://cloud.google.com/storage/docs/locations#available-locations
|
|
7400
|
+
string file_store_location = 5;
|
|
7401
|
+
|
|
7402
|
+
// For resources that have multiple storage locations, these are those
|
|
7403
|
+
// regions. For Cloud Storage this is the list of regions chosen for
|
|
7404
|
+
// dual-region storage. `file_store_location` will normally be the
|
|
7405
|
+
// corresponding multi-region for the list of individual locations. The first
|
|
7406
|
+
// region is always picked as the processing and storage location for the data
|
|
7407
|
+
// profile.
|
|
7408
|
+
repeated string data_storage_locations = 19;
|
|
7409
|
+
|
|
7410
|
+
// The location type of the bucket (region, dual-region, multi-region, etc).
|
|
7411
|
+
// If dual-region, expect data_storage_locations to be populated.
|
|
7412
|
+
string location_type = 20;
|
|
7413
|
+
|
|
7414
|
+
// The file store path.
|
|
7415
|
+
//
|
|
7416
|
+
// * Cloud Storage: `gs://{bucket}`
|
|
7417
|
+
string file_store_path = 6;
|
|
7418
|
+
|
|
7419
|
+
// The resource name of the resource profiled.
|
|
7420
|
+
// https://cloud.google.com/apis/design/resource_names#full_resource_name
|
|
7421
|
+
string full_resource = 24;
|
|
7422
|
+
|
|
7423
|
+
// The snapshot of the configurations used to generate the profile.
|
|
7424
|
+
DataProfileConfigSnapshot config_snapshot = 7;
|
|
7425
|
+
|
|
7426
|
+
// Success or error status from the most recent profile generation attempt.
|
|
7427
|
+
// May be empty if the profile is still being generated.
|
|
7428
|
+
ProfileStatus profile_status = 8;
|
|
7429
|
+
|
|
7430
|
+
// State of a profile.
|
|
7431
|
+
State state = 9;
|
|
7432
|
+
|
|
7433
|
+
// The last time the profile was generated.
|
|
7434
|
+
google.protobuf.Timestamp profile_last_generated = 10;
|
|
7435
|
+
|
|
7436
|
+
// How broadly a resource has been shared.
|
|
7437
|
+
ResourceVisibility resource_visibility = 11;
|
|
7438
|
+
|
|
7439
|
+
// The sensitivity score of this resource.
|
|
7440
|
+
SensitivityScore sensitivity_score = 12;
|
|
7441
|
+
|
|
7442
|
+
// The data risk level of this resource.
|
|
7443
|
+
DataRiskLevel data_risk_level = 13;
|
|
7444
|
+
|
|
7445
|
+
// The time the file store was first created.
|
|
7446
|
+
google.protobuf.Timestamp create_time = 14;
|
|
7447
|
+
|
|
7448
|
+
// The time the file store was last modified.
|
|
7449
|
+
google.protobuf.Timestamp last_modified_time = 15;
|
|
7450
|
+
|
|
7451
|
+
// FileClusterSummary per each cluster.
|
|
7452
|
+
repeated FileClusterSummary file_cluster_summaries = 16;
|
|
7453
|
+
|
|
7454
|
+
// Attributes of the resource being profiled.
|
|
7455
|
+
// Currently used attributes:
|
|
7456
|
+
//
|
|
7457
|
+
// * customer_managed_encryption: boolean
|
|
7458
|
+
// - true: the resource is encrypted with a customer-managed key.
|
|
7459
|
+
// - false: the resource is encrypted with a provider-managed key.
|
|
7460
|
+
map<string, Value> resource_attributes = 17;
|
|
7461
|
+
|
|
7462
|
+
// The labels applied to the resource at the time the profile was generated.
|
|
7463
|
+
map<string, string> resource_labels = 18;
|
|
7464
|
+
|
|
7465
|
+
// InfoTypes detected in this file store.
|
|
7466
|
+
repeated FileStoreInfoTypeSummary file_store_info_type_summaries = 21;
|
|
7467
|
+
|
|
7468
|
+
// The file store does not have any files.
|
|
7469
|
+
bool file_store_is_empty = 23;
|
|
7470
|
+
}
|
|
7471
|
+
|
|
7472
|
+
// Information regarding the discovered InfoType.
|
|
7473
|
+
message FileStoreInfoTypeSummary {
|
|
7474
|
+
// The InfoType seen.
|
|
7475
|
+
InfoType info_type = 1;
|
|
7476
|
+
}
|
|
7477
|
+
|
|
7478
|
+
// Information regarding the discovered file extension.
|
|
7479
|
+
message FileExtensionInfo {
|
|
7480
|
+
// The file extension if set. (aka .pdf, .jpg, .txt)
|
|
7481
|
+
string file_extension = 1;
|
|
7482
|
+
}
|
|
7483
|
+
|
|
7484
|
+
// The file cluster summary.
|
|
7485
|
+
message FileClusterSummary {
|
|
7486
|
+
// The file cluster type.
|
|
7487
|
+
FileClusterType file_cluster_type = 1;
|
|
7488
|
+
|
|
7489
|
+
// InfoTypes detected in this cluster.
|
|
7490
|
+
repeated FileStoreInfoTypeSummary file_store_info_type_summaries = 2;
|
|
7491
|
+
|
|
7492
|
+
// The sensitivity score of this cluster. The score will be SENSITIVITY_LOW
|
|
7493
|
+
// if nothing has been scanned.
|
|
7494
|
+
SensitivityScore sensitivity_score = 3;
|
|
7495
|
+
|
|
7496
|
+
// The data risk level of this cluster. RISK_LOW if nothing has been
|
|
7497
|
+
// scanned.
|
|
7498
|
+
DataRiskLevel data_risk_level = 4;
|
|
7499
|
+
|
|
7500
|
+
// A list of errors detected while scanning this cluster. The list is
|
|
7501
|
+
// truncated to 10 per cluster.
|
|
7502
|
+
repeated Error errors = 6;
|
|
7503
|
+
|
|
7504
|
+
// A sample of file types scanned in this cluster. Empty if no files were
|
|
7505
|
+
// scanned.
|
|
7506
|
+
repeated FileExtensionInfo file_extensions_scanned = 7;
|
|
7507
|
+
|
|
7508
|
+
// A sample of file types seen in this cluster. Empty if no files were seen.
|
|
7509
|
+
repeated FileExtensionInfo file_extensions_seen = 8;
|
|
7510
|
+
|
|
7511
|
+
// True if no files exist in this cluster. If the bucket had more files than
|
|
7512
|
+
// could be listed, this will be false even if no files for this cluster
|
|
7513
|
+
// were seen and file_extensions_seen is empty.
|
|
7514
|
+
bool no_files_exist = 9;
|
|
7515
|
+
}
|
|
7516
|
+
|
|
6939
7517
|
// Request to get a project data profile.
|
|
6940
7518
|
message GetProjectDataProfileRequest {
|
|
6941
7519
|
// Required. Resource name, for example
|
|
@@ -6948,6 +7526,112 @@ message GetProjectDataProfileRequest {
|
|
|
6948
7526
|
];
|
|
6949
7527
|
}
|
|
6950
7528
|
|
|
7529
|
+
// Request to get a file store data profile.
|
|
7530
|
+
message GetFileStoreDataProfileRequest {
|
|
7531
|
+
// Required. Resource name, for example
|
|
7532
|
+
// `organizations/12345/locations/us/fileStoreDataProfiles/53234423`.
|
|
7533
|
+
string name = 1 [
|
|
7534
|
+
(google.api.field_behavior) = REQUIRED,
|
|
7535
|
+
(google.api.resource_reference) = {
|
|
7536
|
+
type: "dlp.googleapis.com/ProjectDataProfile"
|
|
7537
|
+
}
|
|
7538
|
+
];
|
|
7539
|
+
}
|
|
7540
|
+
|
|
7541
|
+
// Request to list the file store profiles generated for a given organization or
|
|
7542
|
+
// project.
|
|
7543
|
+
message ListFileStoreDataProfilesRequest {
|
|
7544
|
+
// Required. Resource name of the organization or project, for
|
|
7545
|
+
// example `organizations/433245324/locations/europe` or
|
|
7546
|
+
// `projects/project-id/locations/asia`.
|
|
7547
|
+
string parent = 1 [
|
|
7548
|
+
(google.api.field_behavior) = REQUIRED,
|
|
7549
|
+
(google.api.resource_reference) = {
|
|
7550
|
+
child_type: "dlp.googleapis.com/FileStoreDataProfile"
|
|
7551
|
+
}
|
|
7552
|
+
];
|
|
7553
|
+
|
|
7554
|
+
// Optional. Page token to continue retrieval.
|
|
7555
|
+
string page_token = 2 [(google.api.field_behavior) = OPTIONAL];
|
|
7556
|
+
|
|
7557
|
+
// Optional. Size of the page. This value can be limited by the server. If
|
|
7558
|
+
// zero, server returns a page of max size 100.
|
|
7559
|
+
int32 page_size = 3 [(google.api.field_behavior) = OPTIONAL];
|
|
7560
|
+
|
|
7561
|
+
// Optional. Comma-separated list of fields to order by, followed by `asc` or
|
|
7562
|
+
// `desc` postfix. This list is case insensitive. The default sorting order is
|
|
7563
|
+
// ascending. Redundant space characters are insignificant. Only one order
|
|
7564
|
+
// field at a time is allowed.
|
|
7565
|
+
//
|
|
7566
|
+
// Examples:
|
|
7567
|
+
//
|
|
7568
|
+
// * `project_id asc`
|
|
7569
|
+
// * `name`
|
|
7570
|
+
// * `sensitivity_level desc`
|
|
7571
|
+
//
|
|
7572
|
+
// Supported fields are:
|
|
7573
|
+
//
|
|
7574
|
+
// - `project_id`: The Google Cloud project ID.
|
|
7575
|
+
// - `sensitivity_level`: How sensitive the data in a table is, at most.
|
|
7576
|
+
// - `data_risk_level`: How much risk is associated with this data.
|
|
7577
|
+
// - `profile_last_generated`: When the profile was last updated in epoch
|
|
7578
|
+
// seconds.
|
|
7579
|
+
// - `last_modified`: The last time the resource was modified.
|
|
7580
|
+
// - `resource_visibility`: Visibility restriction for this resource.
|
|
7581
|
+
// - `name`: The name of the profile.
|
|
7582
|
+
// - `create_time`: The time the file store was first created.
|
|
7583
|
+
string order_by = 4 [(google.api.field_behavior) = OPTIONAL];
|
|
7584
|
+
|
|
7585
|
+
// Optional. Allows filtering.
|
|
7586
|
+
//
|
|
7587
|
+
// Supported syntax:
|
|
7588
|
+
//
|
|
7589
|
+
// * Filter expressions are made up of one or more restrictions.
|
|
7590
|
+
// * Restrictions can be combined by `AND` or `OR` logical operators. A
|
|
7591
|
+
// sequence of restrictions implicitly uses `AND`.
|
|
7592
|
+
// * A restriction has the form of `{field} {operator} {value}`.
|
|
7593
|
+
// * Supported fields/values:
|
|
7594
|
+
// - `project_id` - The Google Cloud project ID.
|
|
7595
|
+
// - `file_store_path` - The path like "gs://bucket".
|
|
7596
|
+
// - `sensitivity_level` - HIGH|MODERATE|LOW
|
|
7597
|
+
// - `data_risk_level` - HIGH|MODERATE|LOW
|
|
7598
|
+
// - `resource_visibility`: PUBLIC|RESTRICTED
|
|
7599
|
+
// - `status_code` - an RPC status code as defined in
|
|
7600
|
+
// https://github.com/googleapis/googleapis/blob/master/google/rpc/code.proto
|
|
7601
|
+
// * The operator must be `=` or `!=`.
|
|
7602
|
+
//
|
|
7603
|
+
// Examples:
|
|
7604
|
+
//
|
|
7605
|
+
// * `project_id = 12345 AND status_code = 1`
|
|
7606
|
+
// * `project_id = 12345 AND sensitivity_level = HIGH`
|
|
7607
|
+
// * `project_id = 12345 AND resource_visibility = PUBLIC`
|
|
7608
|
+
// * `file_store_path = "gs://mybucket"`
|
|
7609
|
+
//
|
|
7610
|
+
// The length of this field should be no more than 500 characters.
|
|
7611
|
+
string filter = 5 [(google.api.field_behavior) = OPTIONAL];
|
|
7612
|
+
}
|
|
7613
|
+
|
|
7614
|
+
// List of file store data profiles generated for a given organization or
|
|
7615
|
+
// project.
|
|
7616
|
+
message ListFileStoreDataProfilesResponse {
|
|
7617
|
+
// List of data profiles.
|
|
7618
|
+
repeated FileStoreDataProfile file_store_data_profiles = 1;
|
|
7619
|
+
|
|
7620
|
+
// The next page token.
|
|
7621
|
+
string next_page_token = 2;
|
|
7622
|
+
}
|
|
7623
|
+
|
|
7624
|
+
// Request message for DeleteFileStoreProfile.
|
|
7625
|
+
message DeleteFileStoreDataProfileRequest {
|
|
7626
|
+
// Required. Resource name of the file store data profile.
|
|
7627
|
+
string name = 1 [
|
|
7628
|
+
(google.api.field_behavior) = REQUIRED,
|
|
7629
|
+
(google.api.resource_reference) = {
|
|
7630
|
+
type: "dlp.googleapis.com/FileStoreDataProfile"
|
|
7631
|
+
}
|
|
7632
|
+
];
|
|
7633
|
+
}
|
|
7634
|
+
|
|
6951
7635
|
// Request to get a table data profile.
|
|
6952
7636
|
message GetTableDataProfileRequest {
|
|
6953
7637
|
// Required. Resource name, for example
|
|
@@ -7032,14 +7716,26 @@ message DataProfilePubSubMessage {
|
|
|
7032
7716
|
// `full_resource` will be populated.
|
|
7033
7717
|
TableDataProfile profile = 1;
|
|
7034
7718
|
|
|
7719
|
+
// If `DetailLevel` is `FILE_STORE_PROFILE` this will be fully populated.
|
|
7720
|
+
// Otherwise, if `DetailLevel` is `RESOURCE_NAME`, then only `name` and
|
|
7721
|
+
// `file_store_path` will be populated.
|
|
7722
|
+
FileStoreDataProfile file_store_profile = 3;
|
|
7723
|
+
|
|
7035
7724
|
// The event that caused the Pub/Sub message to be sent.
|
|
7036
7725
|
DataProfileAction.EventType event = 2;
|
|
7037
7726
|
}
|
|
7038
7727
|
|
|
7039
7728
|
// Request message for CreateConnection.
|
|
7040
7729
|
message CreateConnectionRequest {
|
|
7041
|
-
// Required. Parent resource name
|
|
7042
|
-
//
|
|
7730
|
+
// Required. Parent resource name.
|
|
7731
|
+
//
|
|
7732
|
+
// The format of this value varies depending on the scope of the request
|
|
7733
|
+
// (project or organization):
|
|
7734
|
+
//
|
|
7735
|
+
// + Projects scope:
|
|
7736
|
+
// `projects/{project_id}/locations/{location_id}`
|
|
7737
|
+
// + Organizations scope:
|
|
7738
|
+
// `organizations/{org_id}/locations/{location_id}`
|
|
7043
7739
|
string parent = 1 [
|
|
7044
7740
|
(google.api.field_behavior) = REQUIRED,
|
|
7045
7741
|
(google.api.resource_reference) = {
|
|
@@ -7063,8 +7759,9 @@ message GetConnectionRequest {
|
|
|
7063
7759
|
|
|
7064
7760
|
// Request message for ListConnections.
|
|
7065
7761
|
message ListConnectionsRequest {
|
|
7066
|
-
// Required.
|
|
7067
|
-
// `
|
|
7762
|
+
// Required. Resource name of the organization or project, for
|
|
7763
|
+
// example, `organizations/433245324/locations/europe` or
|
|
7764
|
+
// `projects/project-id/locations/asia`.
|
|
7068
7765
|
string parent = 1 [
|
|
7069
7766
|
(google.api.field_behavior) = REQUIRED,
|
|
7070
7767
|
(google.api.resource_reference) = {
|
|
@@ -7085,8 +7782,9 @@ message ListConnectionsRequest {
|
|
|
7085
7782
|
|
|
7086
7783
|
// Request message for SearchConnections.
|
|
7087
7784
|
message SearchConnectionsRequest {
|
|
7088
|
-
// Required.
|
|
7089
|
-
//
|
|
7785
|
+
// Required. Resource name of the organization or project with a wildcard
|
|
7786
|
+
// location, for example, `organizations/433245324/locations/-` or
|
|
7787
|
+
// `projects/project-id/locations/-`.
|
|
7090
7788
|
string parent = 1 [
|
|
7091
7789
|
(google.api.field_behavior) = REQUIRED,
|
|
7092
7790
|
(google.api.resource_reference) = {
|
|
@@ -7160,6 +7858,7 @@ message Connection {
|
|
|
7160
7858
|
option (google.api.resource) = {
|
|
7161
7859
|
type: "dlp.googleapis.com/Connection"
|
|
7162
7860
|
pattern: "projects/{project}/locations/{location}/connections/{connection}"
|
|
7861
|
+
pattern: "organizations/{organization}/locations/{location}/connections/{connection}"
|
|
7163
7862
|
};
|
|
7164
7863
|
|
|
7165
7864
|
// Output only. Name of the connection:
|
|
@@ -7288,3 +7987,46 @@ message DataSourceType {
|
|
|
7288
7987
|
// Current values: google/bigquery/table, google/project
|
|
7289
7988
|
string data_source = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
7290
7989
|
}
|
|
7990
|
+
|
|
7991
|
+
// Message used to identify file cluster type being profiled.
|
|
7992
|
+
message FileClusterType {
|
|
7993
|
+
// Cluster type. Each cluster corresponds to a set of file types.
|
|
7994
|
+
// Over time, new types may be added and files may move between clusters.
|
|
7995
|
+
enum Cluster {
|
|
7996
|
+
// Unused.
|
|
7997
|
+
CLUSTER_UNSPECIFIED = 0;
|
|
7998
|
+
|
|
7999
|
+
// Unsupported files.
|
|
8000
|
+
CLUSTER_UNKNOWN = 1;
|
|
8001
|
+
|
|
8002
|
+
// Plain text.
|
|
8003
|
+
CLUSTER_TEXT = 2;
|
|
8004
|
+
|
|
8005
|
+
// Structured data like CSV, TSV etc.
|
|
8006
|
+
CLUSTER_STRUCTURED_DATA = 3;
|
|
8007
|
+
|
|
8008
|
+
// Source code.
|
|
8009
|
+
CLUSTER_SOURCE_CODE = 4;
|
|
8010
|
+
|
|
8011
|
+
// Rich document like docx, xlsx etc.
|
|
8012
|
+
CLUSTER_RICH_DOCUMENT = 5;
|
|
8013
|
+
|
|
8014
|
+
// Images like jpeg, bmp.
|
|
8015
|
+
CLUSTER_IMAGE = 6;
|
|
8016
|
+
|
|
8017
|
+
// Archives and containers like .zip, .tar etc.
|
|
8018
|
+
CLUSTER_ARCHIVE = 7;
|
|
8019
|
+
|
|
8020
|
+
// Multimedia like .mp4, .avi etc.
|
|
8021
|
+
CLUSTER_MULTIMEDIA = 8;
|
|
8022
|
+
|
|
8023
|
+
// Executable files like .exe, .class, .apk etc.
|
|
8024
|
+
CLUSTER_EXECUTABLE = 9;
|
|
8025
|
+
}
|
|
8026
|
+
|
|
8027
|
+
// File cluster type.
|
|
8028
|
+
oneof file_cluster_type {
|
|
8029
|
+
// Cluster type.
|
|
8030
|
+
Cluster cluster = 1;
|
|
8031
|
+
}
|
|
8032
|
+
}
|