@google-cloud/dlp 5.3.0 → 5.5.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 +7 -0
- package/build/protos/google/privacy/dlp/v2/dlp.proto +561 -17
- package/build/protos/google/privacy/dlp/v2/storage.proto +12 -1
- package/build/protos/protos.d.ts +5389 -2752
- package/build/protos/protos.js +14623 -8286
- package/build/protos/protos.json +642 -2
- package/build/src/v2/dlp_service_client.d.ts +355 -12
- package/build/src/v2/dlp_service_client.js +391 -13
- package/build/src/v2/dlp_service_client_config.json +28 -0
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Copyright
|
|
1
|
+
// Copyright 2024 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.
|
|
@@ -750,7 +750,7 @@ service DlpService {
|
|
|
750
750
|
option (google.api.method_signature) = "name";
|
|
751
751
|
}
|
|
752
752
|
|
|
753
|
-
// Lists data profiles for an organization.
|
|
753
|
+
// Lists project data profiles for an organization.
|
|
754
754
|
rpc ListProjectDataProfiles(ListProjectDataProfilesRequest)
|
|
755
755
|
returns (ListProjectDataProfilesResponse) {
|
|
756
756
|
option (google.api.http) = {
|
|
@@ -762,7 +762,7 @@ service DlpService {
|
|
|
762
762
|
option (google.api.method_signature) = "parent";
|
|
763
763
|
}
|
|
764
764
|
|
|
765
|
-
// Lists data profiles for an organization.
|
|
765
|
+
// Lists table data profiles for an organization.
|
|
766
766
|
rpc ListTableDataProfiles(ListTableDataProfilesRequest)
|
|
767
767
|
returns (ListTableDataProfilesResponse) {
|
|
768
768
|
option (google.api.http) = {
|
|
@@ -774,7 +774,7 @@ service DlpService {
|
|
|
774
774
|
option (google.api.method_signature) = "parent";
|
|
775
775
|
}
|
|
776
776
|
|
|
777
|
-
// Lists data profiles for an organization.
|
|
777
|
+
// Lists column data profiles for an organization.
|
|
778
778
|
rpc ListColumnDataProfiles(ListColumnDataProfilesRequest)
|
|
779
779
|
returns (ListColumnDataProfilesResponse) {
|
|
780
780
|
option (google.api.http) = {
|
|
@@ -822,6 +822,19 @@ service DlpService {
|
|
|
822
822
|
option (google.api.method_signature) = "name";
|
|
823
823
|
}
|
|
824
824
|
|
|
825
|
+
// Delete a TableDataProfile. Will not prevent the profile from being
|
|
826
|
+
// regenerated if the table is still included in a discovery configuration.
|
|
827
|
+
rpc DeleteTableDataProfile(DeleteTableDataProfileRequest)
|
|
828
|
+
returns (google.protobuf.Empty) {
|
|
829
|
+
option (google.api.http) = {
|
|
830
|
+
delete: "/v2/{name=organizations/*/locations/*/tableDataProfiles/*}"
|
|
831
|
+
additional_bindings {
|
|
832
|
+
delete: "/v2/{name=projects/*/locations/*/tableDataProfiles/*}"
|
|
833
|
+
}
|
|
834
|
+
};
|
|
835
|
+
option (google.api.method_signature) = "name";
|
|
836
|
+
}
|
|
837
|
+
|
|
825
838
|
// Inspect hybrid content and store findings to a job.
|
|
826
839
|
// To review the findings, inspect the job. Inspection will occur
|
|
827
840
|
// asynchronously.
|
|
@@ -842,6 +855,62 @@ service DlpService {
|
|
|
842
855
|
body: "*"
|
|
843
856
|
};
|
|
844
857
|
}
|
|
858
|
+
|
|
859
|
+
// Create a Connection to an external data source.
|
|
860
|
+
rpc CreateConnection(CreateConnectionRequest) returns (Connection) {
|
|
861
|
+
option (google.api.http) = {
|
|
862
|
+
post: "/v2/{parent=projects/*/locations/*}/connections"
|
|
863
|
+
body: "*"
|
|
864
|
+
};
|
|
865
|
+
option (google.api.method_signature) = "parent, connection";
|
|
866
|
+
}
|
|
867
|
+
|
|
868
|
+
// Get a Connection by name.
|
|
869
|
+
rpc GetConnection(GetConnectionRequest) returns (Connection) {
|
|
870
|
+
option (google.api.http) = {
|
|
871
|
+
get: "/v2/{name=projects/*/locations/*/connections/*}"
|
|
872
|
+
};
|
|
873
|
+
option (google.api.method_signature) = "name";
|
|
874
|
+
}
|
|
875
|
+
|
|
876
|
+
// Lists Connections in a parent.
|
|
877
|
+
rpc ListConnections(ListConnectionsRequest)
|
|
878
|
+
returns (ListConnectionsResponse) {
|
|
879
|
+
option (google.api.http) = {
|
|
880
|
+
get: "/v2/{parent=projects/*/locations/*}/connections"
|
|
881
|
+
};
|
|
882
|
+
option (google.api.method_signature) = "parent";
|
|
883
|
+
}
|
|
884
|
+
|
|
885
|
+
// Searches for Connections in a parent.
|
|
886
|
+
rpc SearchConnections(SearchConnectionsRequest)
|
|
887
|
+
returns (SearchConnectionsResponse) {
|
|
888
|
+
option (google.api.http) = {
|
|
889
|
+
get: "/v2/{parent=projects/*/locations/*}/connections:search"
|
|
890
|
+
additional_bindings {
|
|
891
|
+
get: "/v2/{parent=organizations/*/locations/*}/connections:search"
|
|
892
|
+
}
|
|
893
|
+
};
|
|
894
|
+
option (google.api.method_signature) = "parent";
|
|
895
|
+
}
|
|
896
|
+
|
|
897
|
+
// Delete a Connection.
|
|
898
|
+
rpc DeleteConnection(DeleteConnectionRequest)
|
|
899
|
+
returns (google.protobuf.Empty) {
|
|
900
|
+
option (google.api.http) = {
|
|
901
|
+
delete: "/v2/{name=projects/*/locations/*/connections/*}"
|
|
902
|
+
};
|
|
903
|
+
option (google.api.method_signature) = "name";
|
|
904
|
+
}
|
|
905
|
+
|
|
906
|
+
// Update a Connection.
|
|
907
|
+
rpc UpdateConnection(UpdateConnectionRequest) returns (Connection) {
|
|
908
|
+
option (google.api.http) = {
|
|
909
|
+
patch: "/v2/{name=projects/*/locations/*/connections/*}"
|
|
910
|
+
body: "*"
|
|
911
|
+
};
|
|
912
|
+
option (google.api.method_signature) = "name";
|
|
913
|
+
}
|
|
845
914
|
}
|
|
846
915
|
|
|
847
916
|
// List of excluded infoTypes.
|
|
@@ -1784,6 +1853,10 @@ message InspectDataSourceDetails {
|
|
|
1784
1853
|
// inspect job.
|
|
1785
1854
|
repeated InfoTypeStats info_type_stats = 3;
|
|
1786
1855
|
|
|
1856
|
+
// Number of rows scanned post sampling and time filtering (Applicable for
|
|
1857
|
+
// row based stores such as BigQuery).
|
|
1858
|
+
int64 num_rows_processed = 5;
|
|
1859
|
+
|
|
1787
1860
|
// Statistics related to the processing of hybrid inspect.
|
|
1788
1861
|
HybridInspectStatistics hybrid_stats = 7;
|
|
1789
1862
|
}
|
|
@@ -1970,6 +2043,9 @@ message InfoTypeCategory {
|
|
|
1970
2043
|
// The infoType is typically used in Japan.
|
|
1971
2044
|
JAPAN = 20;
|
|
1972
2045
|
|
|
2046
|
+
// The infoType is typically used in Kazakhstan.
|
|
2047
|
+
KAZAKHSTAN = 47;
|
|
2048
|
+
|
|
1973
2049
|
// The infoType is typically used in Korea.
|
|
1974
2050
|
KOREA = 21;
|
|
1975
2051
|
|
|
@@ -1997,6 +2073,9 @@ message InfoTypeCategory {
|
|
|
1997
2073
|
// The infoType is typically used in Portugal.
|
|
1998
2074
|
PORTUGAL = 28;
|
|
1999
2075
|
|
|
2076
|
+
// The infoType is typically used in Russia.
|
|
2077
|
+
RUSSIA = 44;
|
|
2078
|
+
|
|
2000
2079
|
// The infoType is typically used in Singapore.
|
|
2001
2080
|
SINGAPORE = 29;
|
|
2002
2081
|
|
|
@@ -2021,6 +2100,9 @@ message InfoTypeCategory {
|
|
|
2021
2100
|
// The infoType is typically used in Turkey.
|
|
2022
2101
|
TURKEY = 35;
|
|
2023
2102
|
|
|
2103
|
+
// The infoType is typically used in Ukraine.
|
|
2104
|
+
UKRAINE = 45;
|
|
2105
|
+
|
|
2024
2106
|
// The infoType is typically used in the United Kingdom.
|
|
2025
2107
|
UNITED_KINGDOM = 36;
|
|
2026
2108
|
|
|
@@ -2030,6 +2112,9 @@ message InfoTypeCategory {
|
|
|
2030
2112
|
// The infoType is typically used in Uruguay.
|
|
2031
2113
|
URUGUAY = 38;
|
|
2032
2114
|
|
|
2115
|
+
// The infoType is typically used in Uzbekistan.
|
|
2116
|
+
UZBEKISTAN = 46;
|
|
2117
|
+
|
|
2033
2118
|
// The infoType is typically used in Venezuela.
|
|
2034
2119
|
VENEZUELA = 39;
|
|
2035
2120
|
|
|
@@ -3853,7 +3938,7 @@ message Error {
|
|
|
3853
3938
|
repeated google.protobuf.Timestamp timestamps = 2;
|
|
3854
3939
|
}
|
|
3855
3940
|
|
|
3856
|
-
// Contains a configuration to make
|
|
3941
|
+
// Contains a configuration to make api calls on a repeating basis.
|
|
3857
3942
|
// See
|
|
3858
3943
|
// https://cloud.google.com/sensitive-data-protection/docs/concepts-job-triggers
|
|
3859
3944
|
// to learn more.
|
|
@@ -4635,8 +4720,14 @@ message DataProfileAction {
|
|
|
4635
4720
|
// of your choice whenever updated.
|
|
4636
4721
|
message Export {
|
|
4637
4722
|
// Store all table and column profiles in an existing table or a new table
|
|
4638
|
-
// in an existing dataset. Each re-generation will result in
|
|
4639
|
-
// BigQuery.
|
|
4723
|
+
// in an existing dataset. Each re-generation will result in new rows in
|
|
4724
|
+
// BigQuery. Data is inserted using [streaming
|
|
4725
|
+
// insert](https://cloud.google.com/blog/products/bigquery/life-of-a-bigquery-streaming-insert)
|
|
4726
|
+
// and so data may be in the buffer for a period of time after the profile
|
|
4727
|
+
// has finished. The Pub/Sub notification is sent before the streaming
|
|
4728
|
+
// buffer is guaranteed to be written, so data may not be instantly
|
|
4729
|
+
// visible to queries by the time your topic receives the Pub/Sub
|
|
4730
|
+
// notification.
|
|
4640
4731
|
BigQueryTable profile_table = 1;
|
|
4641
4732
|
}
|
|
4642
4733
|
|
|
@@ -4652,7 +4743,7 @@ message DataProfileAction {
|
|
|
4652
4743
|
// The full table data profile.
|
|
4653
4744
|
TABLE_PROFILE = 1;
|
|
4654
4745
|
|
|
4655
|
-
// The
|
|
4746
|
+
// The name of the profiled resource.
|
|
4656
4747
|
RESOURCE_NAME = 2;
|
|
4657
4748
|
}
|
|
4658
4749
|
|
|
@@ -4683,12 +4774,12 @@ message DataProfileAction {
|
|
|
4683
4774
|
NEW_PROFILE = 1;
|
|
4684
4775
|
|
|
4685
4776
|
// Changed one of the following profile metrics:
|
|
4686
|
-
// *
|
|
4687
|
-
// *
|
|
4688
|
-
// *
|
|
4689
|
-
// *
|
|
4690
|
-
// *
|
|
4691
|
-
// *
|
|
4777
|
+
// * Data risk score
|
|
4778
|
+
// * Sensitivity score
|
|
4779
|
+
// * Resource visibility
|
|
4780
|
+
// * Encryption type
|
|
4781
|
+
// * Predicted infoTypes
|
|
4782
|
+
// * Other infoTypes
|
|
4692
4783
|
CHANGED_PROFILE = 2;
|
|
4693
4784
|
|
|
4694
4785
|
// Table data risk score or sensitivity score increased.
|
|
@@ -4941,6 +5032,10 @@ message DiscoveryTarget {
|
|
|
4941
5032
|
// BigQuery target for Discovery. The first target to match a table will be
|
|
4942
5033
|
// the one applied.
|
|
4943
5034
|
BigQueryDiscoveryTarget big_query_target = 1;
|
|
5035
|
+
|
|
5036
|
+
// Cloud SQL target for Discovery. The first target to match a table will be
|
|
5037
|
+
// the one applied.
|
|
5038
|
+
CloudSqlDiscoveryTarget cloud_sql_target = 2;
|
|
4944
5039
|
}
|
|
4945
5040
|
}
|
|
4946
5041
|
|
|
@@ -5104,6 +5199,187 @@ enum BigQuerySchemaModification {
|
|
|
5104
5199
|
SCHEMA_REMOVED_COLUMNS = 2;
|
|
5105
5200
|
}
|
|
5106
5201
|
|
|
5202
|
+
// Target used to match against for discovery with Cloud SQL tables.
|
|
5203
|
+
message CloudSqlDiscoveryTarget {
|
|
5204
|
+
// Required. The tables the discovery cadence applies to. The first target
|
|
5205
|
+
// with a matching filter will be the one to apply to a table.
|
|
5206
|
+
DiscoveryCloudSqlFilter filter = 1 [(google.api.field_behavior) = REQUIRED];
|
|
5207
|
+
|
|
5208
|
+
// In addition to matching the filter, these conditions must be true
|
|
5209
|
+
// before a profile is generated.
|
|
5210
|
+
DiscoveryCloudSqlConditions conditions = 2;
|
|
5211
|
+
|
|
5212
|
+
// Type of schedule.
|
|
5213
|
+
oneof cadence {
|
|
5214
|
+
// How often and when to update profiles. New tables that match both the
|
|
5215
|
+
// filter and conditions are scanned as quickly as possible depending on
|
|
5216
|
+
// system capacity.
|
|
5217
|
+
DiscoveryCloudSqlGenerationCadence generation_cadence = 3;
|
|
5218
|
+
|
|
5219
|
+
// Disable profiling for database resources that match this filter.
|
|
5220
|
+
Disabled disabled = 4;
|
|
5221
|
+
}
|
|
5222
|
+
}
|
|
5223
|
+
|
|
5224
|
+
// Determines what tables will have profiles generated within an organization
|
|
5225
|
+
// or project. Includes the ability to filter by regular expression patterns
|
|
5226
|
+
// on project ID, location, instance, database, and database resource name.
|
|
5227
|
+
message DiscoveryCloudSqlFilter {
|
|
5228
|
+
// Whether the filter applies to a specific set of database resources or all
|
|
5229
|
+
// other database resources within the location being profiled. The first
|
|
5230
|
+
// filter to match will be applied, regardless of the condition. If none is
|
|
5231
|
+
// set, will default to `others`.
|
|
5232
|
+
oneof filter {
|
|
5233
|
+
// A specific set of database resources for this filter to apply to.
|
|
5234
|
+
DatabaseResourceCollection collection = 1;
|
|
5235
|
+
|
|
5236
|
+
// Catch-all. This should always be the last target in the list because
|
|
5237
|
+
// anything above it will apply first. Should only appear once in a
|
|
5238
|
+
// configuration. If none is specified, a default one will be added
|
|
5239
|
+
// automatically.
|
|
5240
|
+
AllOtherDatabaseResources others = 2;
|
|
5241
|
+
|
|
5242
|
+
// The database resource to scan. Targets including this can only include
|
|
5243
|
+
// one target (the target with this database resource reference).
|
|
5244
|
+
DatabaseResourceReference database_resource_reference = 3;
|
|
5245
|
+
}
|
|
5246
|
+
}
|
|
5247
|
+
|
|
5248
|
+
// Match database resources using regex filters. Examples of database
|
|
5249
|
+
// resources are tables, views, and stored procedures.
|
|
5250
|
+
message DatabaseResourceCollection {
|
|
5251
|
+
// The first filter containing a pattern that matches a database resource will
|
|
5252
|
+
// be used.
|
|
5253
|
+
oneof pattern {
|
|
5254
|
+
// A collection of regular expressions to match a database resource against.
|
|
5255
|
+
DatabaseResourceRegexes include_regexes = 1;
|
|
5256
|
+
}
|
|
5257
|
+
}
|
|
5258
|
+
|
|
5259
|
+
// A collection of regular expressions to determine what database resources to
|
|
5260
|
+
// match against.
|
|
5261
|
+
message DatabaseResourceRegexes {
|
|
5262
|
+
// A group of regular expression patterns to match against one or more
|
|
5263
|
+
// database resources.
|
|
5264
|
+
// Maximum of 100 entries. The sum of all regular expression's length can't
|
|
5265
|
+
// exceed 10 KiB.
|
|
5266
|
+
repeated DatabaseResourceRegex patterns = 1;
|
|
5267
|
+
}
|
|
5268
|
+
|
|
5269
|
+
// A pattern to match against one or more database resources. At least one
|
|
5270
|
+
// pattern must be specified. Regular expressions use RE2
|
|
5271
|
+
// [syntax](https://github.com/google/re2/wiki/Syntax); a guide can be found
|
|
5272
|
+
// under the google/re2 repository on GitHub.
|
|
5273
|
+
message DatabaseResourceRegex {
|
|
5274
|
+
// For organizations, if unset, will match all projects. Has no effect
|
|
5275
|
+
// for Data Profile configurations created within a project.
|
|
5276
|
+
string project_id_regex = 1;
|
|
5277
|
+
|
|
5278
|
+
// Regex to test the instance name against. If empty, all instances match.
|
|
5279
|
+
string instance_regex = 2;
|
|
5280
|
+
|
|
5281
|
+
// Regex to test the database name against. If empty, all databases match.
|
|
5282
|
+
string database_regex = 3;
|
|
5283
|
+
|
|
5284
|
+
// Regex to test the database resource's name against. An example of a
|
|
5285
|
+
// database resource name is a table's name. Other database resource names
|
|
5286
|
+
// like view names could be included in the future. If empty, all database
|
|
5287
|
+
// resources match.
|
|
5288
|
+
string database_resource_name_regex = 4;
|
|
5289
|
+
}
|
|
5290
|
+
|
|
5291
|
+
// Match database resources not covered by any other filter.
|
|
5292
|
+
message AllOtherDatabaseResources {}
|
|
5293
|
+
|
|
5294
|
+
// Identifies a single database resource, like a table within a database.
|
|
5295
|
+
message DatabaseResourceReference {
|
|
5296
|
+
// Required. If within a project-level config, then this must match the
|
|
5297
|
+
// config's project id.
|
|
5298
|
+
string project_id = 1 [(google.api.field_behavior) = REQUIRED];
|
|
5299
|
+
|
|
5300
|
+
// Required. The instance where this resource is located. For example: Cloud
|
|
5301
|
+
// SQL's instance id.
|
|
5302
|
+
string instance = 2 [(google.api.field_behavior) = REQUIRED];
|
|
5303
|
+
}
|
|
5304
|
+
|
|
5305
|
+
// Requirements that must be true before a table is profiled for the
|
|
5306
|
+
// first time.
|
|
5307
|
+
message DiscoveryCloudSqlConditions {
|
|
5308
|
+
// The database engines that should be profiled.
|
|
5309
|
+
enum DatabaseEngine {
|
|
5310
|
+
// Unused.
|
|
5311
|
+
DATABASE_ENGINE_UNSPECIFIED = 0;
|
|
5312
|
+
|
|
5313
|
+
// Include all supported database engines.
|
|
5314
|
+
ALL_SUPPORTED_DATABASE_ENGINES = 1;
|
|
5315
|
+
|
|
5316
|
+
// MySql database.
|
|
5317
|
+
MYSQL = 2;
|
|
5318
|
+
|
|
5319
|
+
// PostGres database.
|
|
5320
|
+
POSTGRES = 3;
|
|
5321
|
+
}
|
|
5322
|
+
|
|
5323
|
+
// Cloud SQL database resource types. New values can be added at a later time.
|
|
5324
|
+
enum DatabaseResourceType {
|
|
5325
|
+
// Unused.
|
|
5326
|
+
DATABASE_RESOURCE_TYPE_UNSPECIFIED = 0;
|
|
5327
|
+
|
|
5328
|
+
// Includes database resource types that become supported at a later time.
|
|
5329
|
+
DATABASE_RESOURCE_TYPE_ALL_SUPPORTED_TYPES = 1;
|
|
5330
|
+
|
|
5331
|
+
// Tables.
|
|
5332
|
+
DATABASE_RESOURCE_TYPE_TABLE = 2;
|
|
5333
|
+
}
|
|
5334
|
+
|
|
5335
|
+
// Optional. Database engines that should be profiled.
|
|
5336
|
+
// Optional. Defaults to ALL_SUPPORTED_DATABASE_ENGINES if unspecified.
|
|
5337
|
+
repeated DatabaseEngine database_engines = 1
|
|
5338
|
+
[(google.api.field_behavior) = OPTIONAL];
|
|
5339
|
+
|
|
5340
|
+
// Data profiles will only be generated for the database resource types
|
|
5341
|
+
// specified in this field.
|
|
5342
|
+
// If not specified, defaults to [DATABASE_RESOURCE_TYPE_ALL_SUPPORTED_TYPES].
|
|
5343
|
+
repeated DatabaseResourceType types = 3;
|
|
5344
|
+
}
|
|
5345
|
+
|
|
5346
|
+
// How often existing tables should have their profiles refreshed.
|
|
5347
|
+
// New tables are scanned as quickly as possible depending on system
|
|
5348
|
+
// capacity.
|
|
5349
|
+
message DiscoveryCloudSqlGenerationCadence {
|
|
5350
|
+
// How frequency to modify the profile when the table's schema is modified.
|
|
5351
|
+
message SchemaModifiedCadence {
|
|
5352
|
+
// The type of modification that causes a profile update.
|
|
5353
|
+
enum CloudSqlSchemaModification {
|
|
5354
|
+
// Unused.
|
|
5355
|
+
SQL_SCHEMA_MODIFICATION_UNSPECIFIED = 0;
|
|
5356
|
+
|
|
5357
|
+
// New columns has appeared.
|
|
5358
|
+
NEW_COLUMNS = 1;
|
|
5359
|
+
|
|
5360
|
+
// Columns have been removed from the table.
|
|
5361
|
+
REMOVED_COLUMNS = 2;
|
|
5362
|
+
}
|
|
5363
|
+
|
|
5364
|
+
// The types of schema modifications to consider.
|
|
5365
|
+
// Defaults to NEW_COLUMNS.
|
|
5366
|
+
repeated CloudSqlSchemaModification types = 1;
|
|
5367
|
+
|
|
5368
|
+
// Frequency to regenerate data profiles when the schema is modified.
|
|
5369
|
+
// Defaults to monthly.
|
|
5370
|
+
DataProfileUpdateFrequency frequency = 2;
|
|
5371
|
+
}
|
|
5372
|
+
|
|
5373
|
+
// When to reprofile if the schema has changed.
|
|
5374
|
+
SchemaModifiedCadence schema_modified_cadence = 1;
|
|
5375
|
+
|
|
5376
|
+
// Data changes (non-schema changes) in Cloud SQL tables can't trigger
|
|
5377
|
+
// reprofiling. If you set this field, profiles are refreshed at this
|
|
5378
|
+
// frequency regardless of whether the underlying tables have changes.
|
|
5379
|
+
// Defaults to never.
|
|
5380
|
+
DataProfileUpdateFrequency refresh_frequency = 2;
|
|
5381
|
+
}
|
|
5382
|
+
|
|
5107
5383
|
// The location to begin a discovery scan. Denotes an organization ID or folder
|
|
5108
5384
|
// ID within an organization.
|
|
5109
5385
|
message DiscoveryStartingLocation {
|
|
@@ -5978,7 +6254,7 @@ message ListProjectDataProfilesRequest {
|
|
|
5978
6254
|
//
|
|
5979
6255
|
// Supported fields are:
|
|
5980
6256
|
//
|
|
5981
|
-
// - `project_id`:
|
|
6257
|
+
// - `project_id`: Google Cloud project ID
|
|
5982
6258
|
// - `sensitivity_level`: How sensitive the data in a project is, at most.
|
|
5983
6259
|
// - `data_risk_level`: How much risk is associated with this data.
|
|
5984
6260
|
// - `profile_last_generated`: When the profile was last updated in epoch
|
|
@@ -6049,7 +6325,7 @@ message ListTableDataProfilesRequest {
|
|
|
6049
6325
|
//
|
|
6050
6326
|
// Supported fields are:
|
|
6051
6327
|
//
|
|
6052
|
-
// - `project_id`: The
|
|
6328
|
+
// - `project_id`: The Google Cloud project ID.
|
|
6053
6329
|
// - `dataset_id`: The ID of a BigQuery dataset.
|
|
6054
6330
|
// - `table_id`: The ID of a BigQuery table.
|
|
6055
6331
|
// - `sensitivity_level`: How sensitive the data in a table is, at most.
|
|
@@ -6070,7 +6346,7 @@ message ListTableDataProfilesRequest {
|
|
|
6070
6346
|
// sequence of restrictions implicitly uses `AND`.
|
|
6071
6347
|
// * A restriction has the form of `{field} {operator} {value}`.
|
|
6072
6348
|
// * Supported fields/values:
|
|
6073
|
-
// - `project_id` - The
|
|
6349
|
+
// - `project_id` - The Google Cloud project ID.
|
|
6074
6350
|
// - `dataset_id` - The BigQuery dataset ID.
|
|
6075
6351
|
// - `table_id` - The ID of the BigQuery table.
|
|
6076
6352
|
// - `sensitivity_level` - HIGH|MODERATE|LOW
|
|
@@ -6217,6 +6493,7 @@ message ProjectDataProfile {
|
|
|
6217
6493
|
pattern: "organizations/{organization}/locations/{location}/projectDataProfiles/{project_data_profile}"
|
|
6218
6494
|
pattern: "projects/{project}/locations/{location}/projectDataProfiles/{project_data_profile}"
|
|
6219
6495
|
};
|
|
6496
|
+
|
|
6220
6497
|
// The resource name of the profile.
|
|
6221
6498
|
string name = 1;
|
|
6222
6499
|
|
|
@@ -6245,6 +6522,11 @@ enum ResourceVisibility {
|
|
|
6245
6522
|
// Visible to any user.
|
|
6246
6523
|
RESOURCE_VISIBILITY_PUBLIC = 10;
|
|
6247
6524
|
|
|
6525
|
+
// May contain public items.
|
|
6526
|
+
// For example, if a GCS bucket has uniform bucket level access disabled, some
|
|
6527
|
+
// objects inside it may be public.
|
|
6528
|
+
RESOURCE_VISIBILITY_INCONCLUSIVE = 15;
|
|
6529
|
+
|
|
6248
6530
|
// Visible only to specific users.
|
|
6249
6531
|
RESOURCE_VISIBILITY_RESTRICTED = 20;
|
|
6250
6532
|
}
|
|
@@ -6279,6 +6561,7 @@ message TableDataProfile {
|
|
|
6279
6561
|
pattern: "organizations/{organization}/locations/{location}/tableDataProfiles/{table_data_profile}"
|
|
6280
6562
|
pattern: "projects/{project}/locations/{location}/tableDataProfiles/{table_data_profile}"
|
|
6281
6563
|
};
|
|
6564
|
+
|
|
6282
6565
|
// Possible states of a profile. New items may be added.
|
|
6283
6566
|
enum State {
|
|
6284
6567
|
// Unused.
|
|
@@ -6468,6 +6751,7 @@ message ColumnDataProfile {
|
|
|
6468
6751
|
pattern: "organizations/{organization}/locations/{location}/columnDataProfiles/{column_data_profile}"
|
|
6469
6752
|
pattern: "projects/{project}/locations/{location}/columnDataProfiles/{column_data_profile}"
|
|
6470
6753
|
};
|
|
6754
|
+
|
|
6471
6755
|
// Possible states of a profile. New items may be added.
|
|
6472
6756
|
enum State {
|
|
6473
6757
|
// Unused.
|
|
@@ -6530,6 +6814,18 @@ message ColumnDataProfile {
|
|
|
6530
6814
|
|
|
6531
6815
|
// Json type.
|
|
6532
6816
|
TYPE_JSON = 14;
|
|
6817
|
+
|
|
6818
|
+
// Interval type.
|
|
6819
|
+
TYPE_INTERVAL = 15;
|
|
6820
|
+
|
|
6821
|
+
// `Range<Date>` type.
|
|
6822
|
+
TYPE_RANGE_DATE = 16;
|
|
6823
|
+
|
|
6824
|
+
// `Range<Datetime>` type.
|
|
6825
|
+
TYPE_RANGE_DATETIME = 17;
|
|
6826
|
+
|
|
6827
|
+
// `Range<Timestamp>` type.
|
|
6828
|
+
TYPE_RANGE_TIMESTAMP = 18;
|
|
6533
6829
|
}
|
|
6534
6830
|
|
|
6535
6831
|
// The possible policy states for a column.
|
|
@@ -6710,6 +7006,254 @@ message DataProfilePubSubMessage {
|
|
|
6710
7006
|
DataProfileAction.EventType event = 2;
|
|
6711
7007
|
}
|
|
6712
7008
|
|
|
7009
|
+
// Request message for CreateConnection.
|
|
7010
|
+
message CreateConnectionRequest {
|
|
7011
|
+
// Required. Parent resource name in the format:
|
|
7012
|
+
// `projects/{project}/locations/{location}`.
|
|
7013
|
+
string parent = 1 [
|
|
7014
|
+
(google.api.field_behavior) = REQUIRED,
|
|
7015
|
+
(google.api.resource_reference) = {
|
|
7016
|
+
child_type: "dlp.googleapis.com/Connection"
|
|
7017
|
+
}
|
|
7018
|
+
];
|
|
7019
|
+
|
|
7020
|
+
// Required. The connection resource.
|
|
7021
|
+
Connection connection = 2 [(google.api.field_behavior) = REQUIRED];
|
|
7022
|
+
}
|
|
7023
|
+
|
|
7024
|
+
// Request message for GetConnection.
|
|
7025
|
+
message GetConnectionRequest {
|
|
7026
|
+
// Required. Resource name in the format:
|
|
7027
|
+
// `projects/{project}/locations/{location}/connections/{connection}`.
|
|
7028
|
+
string name = 1 [
|
|
7029
|
+
(google.api.field_behavior) = REQUIRED,
|
|
7030
|
+
(google.api.resource_reference) = { type: "dlp.googleapis.com/Connection" }
|
|
7031
|
+
];
|
|
7032
|
+
}
|
|
7033
|
+
|
|
7034
|
+
// Request message for ListConnections.
|
|
7035
|
+
message ListConnectionsRequest {
|
|
7036
|
+
// Required. Parent name, for example:
|
|
7037
|
+
// `projects/project-id/locations/global`.
|
|
7038
|
+
string parent = 1 [
|
|
7039
|
+
(google.api.field_behavior) = REQUIRED,
|
|
7040
|
+
(google.api.resource_reference) = {
|
|
7041
|
+
child_type: "dlp.googleapis.com/Connection"
|
|
7042
|
+
}
|
|
7043
|
+
];
|
|
7044
|
+
|
|
7045
|
+
// Optional. Number of results per page, max 1000.
|
|
7046
|
+
int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
|
|
7047
|
+
|
|
7048
|
+
// Optional. Page token from a previous page to return the next set of
|
|
7049
|
+
// results. If set, all other request fields must match the original request.
|
|
7050
|
+
string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
|
|
7051
|
+
|
|
7052
|
+
// Optional. * Supported fields/values
|
|
7053
|
+
// - `state` - MISSING|AVAILABLE|ERROR
|
|
7054
|
+
string filter = 4 [(google.api.field_behavior) = OPTIONAL];
|
|
7055
|
+
}
|
|
7056
|
+
|
|
7057
|
+
// Request message for SearchConnections.
|
|
7058
|
+
message SearchConnectionsRequest {
|
|
7059
|
+
// Required. Parent name, typically an organization, without location.
|
|
7060
|
+
// For example: `organizations/12345678`.
|
|
7061
|
+
string parent = 1 [
|
|
7062
|
+
(google.api.field_behavior) = REQUIRED,
|
|
7063
|
+
(google.api.resource_reference) = {
|
|
7064
|
+
child_type: "dlp.googleapis.com/Connection"
|
|
7065
|
+
}
|
|
7066
|
+
];
|
|
7067
|
+
|
|
7068
|
+
// Optional. Number of results per page, max 1000.
|
|
7069
|
+
int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
|
|
7070
|
+
|
|
7071
|
+
// Optional. Page token from a previous page to return the next set of
|
|
7072
|
+
// results. If set, all other request fields must match the original request.
|
|
7073
|
+
string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
|
|
7074
|
+
|
|
7075
|
+
// Optional. * Supported fields/values
|
|
7076
|
+
// - `state` - MISSING|AVAILABLE|ERROR
|
|
7077
|
+
string filter = 4 [(google.api.field_behavior) = OPTIONAL];
|
|
7078
|
+
}
|
|
7079
|
+
|
|
7080
|
+
// Response message for ListConnections.
|
|
7081
|
+
message ListConnectionsResponse {
|
|
7082
|
+
// List of connections.
|
|
7083
|
+
repeated Connection connections = 1;
|
|
7084
|
+
|
|
7085
|
+
// Token to retrieve the next page of results. An empty value means there are
|
|
7086
|
+
// no more results.
|
|
7087
|
+
string next_page_token = 2;
|
|
7088
|
+
}
|
|
7089
|
+
|
|
7090
|
+
// Response message for SearchConnections.
|
|
7091
|
+
message SearchConnectionsResponse {
|
|
7092
|
+
// List of connections that match the search query. Note that only a subset
|
|
7093
|
+
// of the fields will be populated, and only "name" is guaranteed to be set.
|
|
7094
|
+
// For full details of a Connection, call GetConnection with the name.
|
|
7095
|
+
repeated Connection connections = 1;
|
|
7096
|
+
|
|
7097
|
+
// Token to retrieve the next page of results. An empty value means there are
|
|
7098
|
+
// no more results.
|
|
7099
|
+
string next_page_token = 2;
|
|
7100
|
+
}
|
|
7101
|
+
|
|
7102
|
+
// Request message for UpdateConnection.
|
|
7103
|
+
message UpdateConnectionRequest {
|
|
7104
|
+
// Required. Resource name in the format:
|
|
7105
|
+
// `projects/{project}/locations/{location}/connections/{connection}`.
|
|
7106
|
+
string name = 1 [
|
|
7107
|
+
(google.api.field_behavior) = REQUIRED,
|
|
7108
|
+
(google.api.resource_reference) = { type: "dlp.googleapis.com/Connection" }
|
|
7109
|
+
];
|
|
7110
|
+
|
|
7111
|
+
// Required. The connection with new values for the relevant fields.
|
|
7112
|
+
Connection connection = 2 [(google.api.field_behavior) = REQUIRED];
|
|
7113
|
+
|
|
7114
|
+
// Optional. Mask to control which fields get updated.
|
|
7115
|
+
google.protobuf.FieldMask update_mask = 3
|
|
7116
|
+
[(google.api.field_behavior) = OPTIONAL];
|
|
7117
|
+
}
|
|
7118
|
+
|
|
7119
|
+
// Request message for DeleteConnection.
|
|
7120
|
+
message DeleteConnectionRequest {
|
|
7121
|
+
// Required. Resource name of the Connection to be deleted, in the format:
|
|
7122
|
+
// `projects/{project}/locations/{location}/connections/{connection}`.
|
|
7123
|
+
string name = 1 [
|
|
7124
|
+
(google.api.field_behavior) = REQUIRED,
|
|
7125
|
+
(google.api.resource_reference) = { type: "dlp.googleapis.com/Connection" }
|
|
7126
|
+
];
|
|
7127
|
+
}
|
|
7128
|
+
|
|
7129
|
+
// A data connection to allow DLP to profile data in locations that require
|
|
7130
|
+
// additional configuration.
|
|
7131
|
+
message Connection {
|
|
7132
|
+
option (google.api.resource) = {
|
|
7133
|
+
type: "dlp.googleapis.com/Connection"
|
|
7134
|
+
pattern: "projects/{project}/locations/{location}/connections/{connection}"
|
|
7135
|
+
};
|
|
7136
|
+
|
|
7137
|
+
// Output only. Name of the connection:
|
|
7138
|
+
// `projects/{project}/locations/{location}/connections/{name}`.
|
|
7139
|
+
string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
7140
|
+
|
|
7141
|
+
// Required. The connection's state in its lifecycle.
|
|
7142
|
+
ConnectionState state = 2 [(google.api.field_behavior) = REQUIRED];
|
|
7143
|
+
|
|
7144
|
+
// Output only. Set if status == ERROR, to provide additional details. Will
|
|
7145
|
+
// store the last 10 errors sorted with the most recent first.
|
|
7146
|
+
repeated Error errors = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
7147
|
+
|
|
7148
|
+
// Type of connection.
|
|
7149
|
+
oneof properties {
|
|
7150
|
+
// Connect to a Cloud SQL instance.
|
|
7151
|
+
CloudSqlProperties cloud_sql = 4;
|
|
7152
|
+
}
|
|
7153
|
+
}
|
|
7154
|
+
|
|
7155
|
+
// State of the connection.
|
|
7156
|
+
// New values may be added over time.
|
|
7157
|
+
enum ConnectionState {
|
|
7158
|
+
// Unused
|
|
7159
|
+
CONNECTION_STATE_UNSPECIFIED = 0;
|
|
7160
|
+
|
|
7161
|
+
// DLP automatically created this connection during an initial scan, and it is
|
|
7162
|
+
// awaiting full configuration by a user.
|
|
7163
|
+
MISSING_CREDENTIALS = 1;
|
|
7164
|
+
|
|
7165
|
+
// A configured connection that has not encountered any errors.
|
|
7166
|
+
AVAILABLE = 2;
|
|
7167
|
+
|
|
7168
|
+
// A configured connection that encountered errors during its last use. It
|
|
7169
|
+
// will not be used again until it is set to AVAILABLE.
|
|
7170
|
+
//
|
|
7171
|
+
// If the resolution requires external action, then a request to set the
|
|
7172
|
+
// status to AVAILABLE will mark this connection for use. Otherwise, any
|
|
7173
|
+
// changes to the connection properties will automatically mark it as
|
|
7174
|
+
// AVAILABLE.
|
|
7175
|
+
ERROR = 3;
|
|
7176
|
+
}
|
|
7177
|
+
|
|
7178
|
+
// A credential consisting of a username and password, where the password is
|
|
7179
|
+
// stored in a Secret Manager resource.
|
|
7180
|
+
// Note: Secret Manager [charges
|
|
7181
|
+
// apply](https://cloud.google.com/secret-manager/pricing).
|
|
7182
|
+
message SecretManagerCredential {
|
|
7183
|
+
// Required. The username.
|
|
7184
|
+
string username = 1 [(google.api.field_behavior) = REQUIRED];
|
|
7185
|
+
|
|
7186
|
+
// Required. The name of the Secret Manager resource that stores the password,
|
|
7187
|
+
// in the form `projects/project-id/secrets/secret-name/versions/version`.
|
|
7188
|
+
string password_secret_version_name = 2
|
|
7189
|
+
[(google.api.field_behavior) = REQUIRED];
|
|
7190
|
+
}
|
|
7191
|
+
|
|
7192
|
+
// Use IAM auth to connect. This requires the Cloud SQL IAM feature to be
|
|
7193
|
+
// enabled on the instance, which is not the default for Cloud SQL.
|
|
7194
|
+
// See https://cloud.google.com/sql/docs/postgres/authentication and
|
|
7195
|
+
// https://cloud.google.com/sql/docs/mysql/authentication.
|
|
7196
|
+
message CloudSqlIamCredential {}
|
|
7197
|
+
|
|
7198
|
+
// Cloud SQL connection properties.
|
|
7199
|
+
message CloudSqlProperties {
|
|
7200
|
+
// Database engine of a Cloud SQL instance.
|
|
7201
|
+
// New values may be added over time.
|
|
7202
|
+
enum DatabaseEngine {
|
|
7203
|
+
// An engine that is not currently supported by SDP.
|
|
7204
|
+
DATABASE_ENGINE_UNKNOWN = 0;
|
|
7205
|
+
|
|
7206
|
+
// Cloud SQL for MySQL instance.
|
|
7207
|
+
DATABASE_ENGINE_MYSQL = 1;
|
|
7208
|
+
|
|
7209
|
+
// Cloud SQL for Postgres instance.
|
|
7210
|
+
DATABASE_ENGINE_POSTGRES = 2;
|
|
7211
|
+
}
|
|
7212
|
+
|
|
7213
|
+
// Optional. Immutable. The Cloud SQL instance for which the connection is
|
|
7214
|
+
// defined. Only one connection per instance is allowed. This can only be set
|
|
7215
|
+
// at creation time, and cannot be updated.
|
|
7216
|
+
//
|
|
7217
|
+
// It is an error to use a connection_name from different project or region
|
|
7218
|
+
// than the one that holds the connection.
|
|
7219
|
+
// For example, a Connection resource for Cloud SQL connection_name
|
|
7220
|
+
// `project-id:us-central1:sql-instance`
|
|
7221
|
+
// must be created under the parent
|
|
7222
|
+
// `projects/project-id/locations/us-central1`
|
|
7223
|
+
string connection_name = 1 [
|
|
7224
|
+
(google.api.field_behavior) = IMMUTABLE,
|
|
7225
|
+
(google.api.field_behavior) = OPTIONAL
|
|
7226
|
+
];
|
|
7227
|
+
|
|
7228
|
+
// How to authenticate to the instance.
|
|
7229
|
+
oneof credential {
|
|
7230
|
+
// A username and password stored in Secret Manager.
|
|
7231
|
+
SecretManagerCredential username_password = 2;
|
|
7232
|
+
|
|
7233
|
+
// Built-in IAM authentication (must be configured in Cloud SQL).
|
|
7234
|
+
CloudSqlIamCredential cloud_sql_iam = 3;
|
|
7235
|
+
}
|
|
7236
|
+
|
|
7237
|
+
// Required. DLP will limit its connections to max_connections.
|
|
7238
|
+
// Must be 2 or greater.
|
|
7239
|
+
int32 max_connections = 4 [(google.api.field_behavior) = REQUIRED];
|
|
7240
|
+
|
|
7241
|
+
// Required. The database engine used by the Cloud SQL instance that this
|
|
7242
|
+
// connection configures.
|
|
7243
|
+
DatabaseEngine database_engine = 7 [(google.api.field_behavior) = REQUIRED];
|
|
7244
|
+
}
|
|
7245
|
+
|
|
7246
|
+
// Request message for DeleteTableProfile.
|
|
7247
|
+
message DeleteTableDataProfileRequest {
|
|
7248
|
+
// Required. Resource name of the table data profile.
|
|
7249
|
+
string name = 1 [
|
|
7250
|
+
(google.api.field_behavior) = REQUIRED,
|
|
7251
|
+
(google.api.resource_reference) = {
|
|
7252
|
+
type: "dlp.googleapis.com/TableDataProfile"
|
|
7253
|
+
}
|
|
7254
|
+
];
|
|
7255
|
+
}
|
|
7256
|
+
|
|
6713
7257
|
// Message used to identify the type of resource being profiled.
|
|
6714
7258
|
message DataSourceType {
|
|
6715
7259
|
// Output only. An identifying string to the type of resource being profiled.
|