google-apis-securitycenter_v1beta2 0.71.0 → 0.72.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.
@@ -493,6 +493,11 @@ module Google
493
493
  # @return [Google::Apis::SecuritycenterV1beta2::AzureSubscription]
494
494
  attr_accessor :subscription
495
495
 
496
+ # Represents a Microsoft Entra tenant.
497
+ # Corresponds to the JSON property `tenant`
498
+ # @return [Google::Apis::SecuritycenterV1beta2::AzureTenant]
499
+ attr_accessor :tenant
500
+
496
501
  def initialize(**args)
497
502
  update!(**args)
498
503
  end
@@ -502,6 +507,7 @@ module Google
502
507
  @management_groups = args[:management_groups] if args.key?(:management_groups)
503
508
  @resource_group = args[:resource_group] if args.key?(:resource_group)
504
509
  @subscription = args[:subscription] if args.key?(:subscription)
510
+ @tenant = args[:tenant] if args.key?(:tenant)
505
511
  end
506
512
  end
507
513
 
@@ -509,6 +515,11 @@ module Google
509
515
  class AzureResourceGroup
510
516
  include Google::Apis::Core::Hashable
511
517
 
518
+ # The ID of the Azure resource group.
519
+ # Corresponds to the JSON property `id`
520
+ # @return [String]
521
+ attr_accessor :id
522
+
512
523
  # The name of the Azure resource group. This is not a UUID.
513
524
  # Corresponds to the JSON property `name`
514
525
  # @return [String]
@@ -520,6 +531,7 @@ module Google
520
531
 
521
532
  # Update properties of this object
522
533
  def update!(**args)
534
+ @id = args[:id] if args.key?(:id)
523
535
  @name = args[:name] if args.key?(:name)
524
536
  end
525
537
  end
@@ -550,6 +562,32 @@ module Google
550
562
  end
551
563
  end
552
564
 
565
+ # Represents a Microsoft Entra tenant.
566
+ class AzureTenant
567
+ include Google::Apis::Core::Hashable
568
+
569
+ # The display name of the Azure tenant.
570
+ # Corresponds to the JSON property `displayName`
571
+ # @return [String]
572
+ attr_accessor :display_name
573
+
574
+ # The ID of the Microsoft Entra tenant, for example, "a11aaa11-aa11-1aa1-11aa-
575
+ # 1aaa11a".
576
+ # Corresponds to the JSON property `id`
577
+ # @return [String]
578
+ attr_accessor :id
579
+
580
+ def initialize(**args)
581
+ update!(**args)
582
+ end
583
+
584
+ # Update properties of this object
585
+ def update!(**args)
586
+ @display_name = args[:display_name] if args.key?(:display_name)
587
+ @id = args[:id] if args.key?(:id)
588
+ end
589
+ end
590
+
553
591
  # Information related to Google Cloud Backup and DR Service findings.
554
592
  class BackupDisasterRecovery
555
593
  include Google::Apis::Core::Hashable
@@ -1122,11 +1160,21 @@ module Google
1122
1160
  # @return [Google::Apis::SecuritycenterV1beta2::Cvssv3]
1123
1161
  attr_accessor :cvssv3
1124
1162
 
1163
+ # Date the first publicly available exploit or PoC was released.
1164
+ # Corresponds to the JSON property `exploitReleaseDate`
1165
+ # @return [String]
1166
+ attr_accessor :exploit_release_date
1167
+
1125
1168
  # The exploitation activity of the vulnerability in the wild.
1126
1169
  # Corresponds to the JSON property `exploitationActivity`
1127
1170
  # @return [String]
1128
1171
  attr_accessor :exploitation_activity
1129
1172
 
1173
+ # Date of the earliest known exploitation.
1174
+ # Corresponds to the JSON property `firstExploitationDate`
1175
+ # @return [String]
1176
+ attr_accessor :first_exploitation_date
1177
+
1130
1178
  # The unique identifier for the vulnerability. e.g. CVE-2021-34527
1131
1179
  # Corresponds to the JSON property `id`
1132
1180
  # @return [String]
@@ -1168,7 +1216,9 @@ module Google
1168
1216
  # Update properties of this object
1169
1217
  def update!(**args)
1170
1218
  @cvssv3 = args[:cvssv3] if args.key?(:cvssv3)
1219
+ @exploit_release_date = args[:exploit_release_date] if args.key?(:exploit_release_date)
1171
1220
  @exploitation_activity = args[:exploitation_activity] if args.key?(:exploitation_activity)
1221
+ @first_exploitation_date = args[:first_exploitation_date] if args.key?(:first_exploitation_date)
1172
1222
  @id = args[:id] if args.key?(:id)
1173
1223
  @impact = args[:impact] if args.key?(:impact)
1174
1224
  @observed_in_the_wild = args[:observed_in_the_wild] if args.key?(:observed_in_the_wild)
@@ -1255,6 +1305,91 @@ module Google
1255
1305
  end
1256
1306
  end
1257
1307
 
1308
+ # Details about a data access attempt made by a principal not authorized under
1309
+ # applicable data security policy.
1310
+ class DataAccessEvent
1311
+ include Google::Apis::Core::Hashable
1312
+
1313
+ # Unique identifier for data access event.
1314
+ # Corresponds to the JSON property `eventId`
1315
+ # @return [String]
1316
+ attr_accessor :event_id
1317
+
1318
+ # Timestamp of data access event.
1319
+ # Corresponds to the JSON property `eventTime`
1320
+ # @return [String]
1321
+ attr_accessor :event_time
1322
+
1323
+ # The operation performed by the principal to access the data.
1324
+ # Corresponds to the JSON property `operation`
1325
+ # @return [String]
1326
+ attr_accessor :operation
1327
+
1328
+ # The email address of the principal that accessed the data. The principal could
1329
+ # be a user account, service account, Google group, or other.
1330
+ # Corresponds to the JSON property `principalEmail`
1331
+ # @return [String]
1332
+ attr_accessor :principal_email
1333
+
1334
+ def initialize(**args)
1335
+ update!(**args)
1336
+ end
1337
+
1338
+ # Update properties of this object
1339
+ def update!(**args)
1340
+ @event_id = args[:event_id] if args.key?(:event_id)
1341
+ @event_time = args[:event_time] if args.key?(:event_time)
1342
+ @operation = args[:operation] if args.key?(:operation)
1343
+ @principal_email = args[:principal_email] if args.key?(:principal_email)
1344
+ end
1345
+ end
1346
+
1347
+ # Details about a data flow event, in which either the data is moved to or is
1348
+ # accessed from a non-compliant geo-location, as defined in the applicable data
1349
+ # security policy.
1350
+ class DataFlowEvent
1351
+ include Google::Apis::Core::Hashable
1352
+
1353
+ # Unique identifier for data flow event.
1354
+ # Corresponds to the JSON property `eventId`
1355
+ # @return [String]
1356
+ attr_accessor :event_id
1357
+
1358
+ # Timestamp of data flow event.
1359
+ # Corresponds to the JSON property `eventTime`
1360
+ # @return [String]
1361
+ attr_accessor :event_time
1362
+
1363
+ # The operation performed by the principal for the data flow event.
1364
+ # Corresponds to the JSON property `operation`
1365
+ # @return [String]
1366
+ attr_accessor :operation
1367
+
1368
+ # The email address of the principal that initiated the data flow event. The
1369
+ # principal could be a user account, service account, Google group, or other.
1370
+ # Corresponds to the JSON property `principalEmail`
1371
+ # @return [String]
1372
+ attr_accessor :principal_email
1373
+
1374
+ # Non-compliant location of the principal or the data destination.
1375
+ # Corresponds to the JSON property `violatedLocation`
1376
+ # @return [String]
1377
+ attr_accessor :violated_location
1378
+
1379
+ def initialize(**args)
1380
+ update!(**args)
1381
+ end
1382
+
1383
+ # Update properties of this object
1384
+ def update!(**args)
1385
+ @event_id = args[:event_id] if args.key?(:event_id)
1386
+ @event_time = args[:event_time] if args.key?(:event_time)
1387
+ @operation = args[:operation] if args.key?(:operation)
1388
+ @principal_email = args[:principal_email] if args.key?(:principal_email)
1389
+ @violated_location = args[:violated_location] if args.key?(:violated_location)
1390
+ end
1391
+ end
1392
+
1258
1393
  # Represents database access information, such as queries. A database may be a
1259
1394
  # sub-resource of an instance (as in the case of Cloud SQL instances or Cloud
1260
1395
  # Spanner instances), or the database instance itself. Some database resources
@@ -1374,6 +1509,26 @@ module Google
1374
1509
  end
1375
1510
  end
1376
1511
 
1512
+ # Contains information about the disk associated with the finding.
1513
+ class Disk
1514
+ include Google::Apis::Core::Hashable
1515
+
1516
+ # The name of the disk, for example, "https://www.googleapis.com/compute/v1/
1517
+ # projects/project-id/zones/zone-id/disks/disk-id".
1518
+ # Corresponds to the JSON property `name`
1519
+ # @return [String]
1520
+ attr_accessor :name
1521
+
1522
+ def initialize(**args)
1523
+ update!(**args)
1524
+ end
1525
+
1526
+ # Update properties of this object
1527
+ def update!(**args)
1528
+ @name = args[:name] if args.key?(:name)
1529
+ end
1530
+ end
1531
+
1377
1532
  # Path of the file in terms of underlying disk/partition identifiers.
1378
1533
  class DiskPath
1379
1534
  include Google::Apis::Core::Hashable
@@ -1401,6 +1556,33 @@ module Google
1401
1556
  end
1402
1557
  end
1403
1558
 
1559
+ # The record of a dynamic mute rule that matches the finding.
1560
+ class DynamicMuteRecord
1561
+ include Google::Apis::Core::Hashable
1562
+
1563
+ # When the dynamic mute rule first matched the finding.
1564
+ # Corresponds to the JSON property `matchTime`
1565
+ # @return [String]
1566
+ attr_accessor :match_time
1567
+
1568
+ # The relative resource name of the mute rule, represented by a mute config,
1569
+ # that created this record, for example `organizations/123/muteConfigs/
1570
+ # mymuteconfig` or `organizations/123/locations/global/muteConfigs/mymuteconfig`.
1571
+ # Corresponds to the JSON property `muteConfig`
1572
+ # @return [String]
1573
+ attr_accessor :mute_config
1574
+
1575
+ def initialize(**args)
1576
+ update!(**args)
1577
+ end
1578
+
1579
+ # Update properties of this object
1580
+ def update!(**args)
1581
+ @match_time = args[:match_time] if args.key?(:match_time)
1582
+ @mute_config = args[:mute_config] if args.key?(:mute_config)
1583
+ end
1584
+ end
1585
+
1404
1586
  # A name-value pair representing an environment variable used in an operating
1405
1587
  # system process.
1406
1588
  class EnvironmentVariable
@@ -1741,6 +1923,16 @@ module Google
1741
1923
  # @return [String]
1742
1924
  attr_accessor :create_time
1743
1925
 
1926
+ # Data access events associated with the finding.
1927
+ # Corresponds to the JSON property `dataAccessEvents`
1928
+ # @return [Array<Google::Apis::SecuritycenterV1beta2::DataAccessEvent>]
1929
+ attr_accessor :data_access_events
1930
+
1931
+ # Data flow events associated with the finding.
1932
+ # Corresponds to the JSON property `dataFlowEvents`
1933
+ # @return [Array<Google::Apis::SecuritycenterV1beta2::DataFlowEvent>]
1934
+ attr_accessor :data_flow_events
1935
+
1744
1936
  # Represents database access information, such as queries. A database may be a
1745
1937
  # sub-resource of an instance (as in the case of Cloud SQL instances or Cloud
1746
1938
  # Spanner instances), or the database instance itself. Some database resources
@@ -1757,6 +1949,11 @@ module Google
1757
1949
  # @return [String]
1758
1950
  attr_accessor :description
1759
1951
 
1952
+ # Contains information about the disk associated with the finding.
1953
+ # Corresponds to the JSON property `disk`
1954
+ # @return [Google::Apis::SecuritycenterV1beta2::Disk]
1955
+ attr_accessor :disk
1956
+
1760
1957
  # The time the finding was first detected. If an existing finding is updated,
1761
1958
  # then this is the time the update occurred. For example, if the finding
1762
1959
  # represents an open firewall, this property captures the time the detector
@@ -1858,6 +2055,12 @@ module Google
1858
2055
  # @return [String]
1859
2056
  attr_accessor :mute
1860
2057
 
2058
+ # Mute information about the finding, including whether the finding has a static
2059
+ # mute or any matching dynamic mute rules.
2060
+ # Corresponds to the JSON property `muteInfo`
2061
+ # @return [Google::Apis::SecuritycenterV1beta2::MuteInfo]
2062
+ attr_accessor :mute_info
2063
+
1861
2064
  # Records additional information about the mute operation, for example, the [
1862
2065
  # mute configuration](/security-command-center/docs/how-to-mute-findings) that
1863
2066
  # muted the finding and the user who muted the finding.
@@ -1991,8 +2194,11 @@ module Google
1991
2194
  @contacts = args[:contacts] if args.key?(:contacts)
1992
2195
  @containers = args[:containers] if args.key?(:containers)
1993
2196
  @create_time = args[:create_time] if args.key?(:create_time)
2197
+ @data_access_events = args[:data_access_events] if args.key?(:data_access_events)
2198
+ @data_flow_events = args[:data_flow_events] if args.key?(:data_flow_events)
1994
2199
  @database = args[:database] if args.key?(:database)
1995
2200
  @description = args[:description] if args.key?(:description)
2201
+ @disk = args[:disk] if args.key?(:disk)
1996
2202
  @event_time = args[:event_time] if args.key?(:event_time)
1997
2203
  @exfiltration = args[:exfiltration] if args.key?(:exfiltration)
1998
2204
  @external_systems = args[:external_systems] if args.key?(:external_systems)
@@ -2009,6 +2215,7 @@ module Google
2009
2215
  @mitre_attack = args[:mitre_attack] if args.key?(:mitre_attack)
2010
2216
  @module_name = args[:module_name] if args.key?(:module_name)
2011
2217
  @mute = args[:mute] if args.key?(:mute)
2218
+ @mute_info = args[:mute_info] if args.key?(:mute_info)
2012
2219
  @mute_initiator = args[:mute_initiator] if args.key?(:mute_initiator)
2013
2220
  @mute_update_time = args[:mute_update_time] if args.key?(:mute_update_time)
2014
2221
  @name = args[:name] if args.key?(:name)
@@ -2367,6 +2574,11 @@ module Google
2367
2574
  class GoogleCloudSecuritycenterV1EffectiveSecurityHealthAnalyticsCustomModule
2368
2575
  include Google::Apis::Core::Hashable
2369
2576
 
2577
+ # The cloud provider of the custom module.
2578
+ # Corresponds to the JSON property `cloudProvider`
2579
+ # @return [String]
2580
+ attr_accessor :cloud_provider
2581
+
2370
2582
  # Defines the properties in a custom module configuration for Security Health
2371
2583
  # Analytics. Use the custom module configuration to create custom detectors that
2372
2584
  # generate custom findings for resources that you specify.
@@ -2403,6 +2615,7 @@ module Google
2403
2615
 
2404
2616
  # Update properties of this object
2405
2617
  def update!(**args)
2618
+ @cloud_provider = args[:cloud_provider] if args.key?(:cloud_provider)
2406
2619
  @custom_config = args[:custom_config] if args.key?(:custom_config)
2407
2620
  @display_name = args[:display_name] if args.key?(:display_name)
2408
2621
  @enablement_state = args[:enablement_state] if args.key?(:enablement_state)
@@ -2516,6 +2729,12 @@ module Google
2516
2729
  # @return [String]
2517
2730
  attr_accessor :display_name
2518
2731
 
2732
+ # Optional. The expiry of the mute config. Only applicable for dynamic configs.
2733
+ # If the expiry is set, when the config expires, it is removed from all findings.
2734
+ # Corresponds to the JSON property `expiryTime`
2735
+ # @return [String]
2736
+ attr_accessor :expiry_time
2737
+
2519
2738
  # Required. An expression that defines the filter to apply across create/update
2520
2739
  # events of findings. While creating a filter string, be mindful of the scope in
2521
2740
  # which the mute configuration is being created. E.g., If a filter contains
@@ -2547,6 +2766,14 @@ module Google
2547
2766
  # @return [String]
2548
2767
  attr_accessor :name
2549
2768
 
2769
+ # Optional. The type of the mute config, which determines what type of mute
2770
+ # state the config affects. The static mute state takes precedence over the
2771
+ # dynamic mute state. Immutable after creation. STATIC by default if not set
2772
+ # during creation.
2773
+ # Corresponds to the JSON property `type`
2774
+ # @return [String]
2775
+ attr_accessor :type
2776
+
2550
2777
  # Output only. The most recent time at which the mute config was updated. This
2551
2778
  # field is set by the server and will be ignored if provided on config creation
2552
2779
  # or update.
@@ -2563,9 +2790,11 @@ module Google
2563
2790
  @create_time = args[:create_time] if args.key?(:create_time)
2564
2791
  @description = args[:description] if args.key?(:description)
2565
2792
  @display_name = args[:display_name] if args.key?(:display_name)
2793
+ @expiry_time = args[:expiry_time] if args.key?(:expiry_time)
2566
2794
  @filter = args[:filter] if args.key?(:filter)
2567
2795
  @most_recent_editor = args[:most_recent_editor] if args.key?(:most_recent_editor)
2568
2796
  @name = args[:name] if args.key?(:name)
2797
+ @type = args[:type] if args.key?(:type)
2569
2798
  @update_time = args[:update_time] if args.key?(:update_time)
2570
2799
  end
2571
2800
  end
@@ -2848,10 +3077,10 @@ module Google
2848
3077
  # @return [Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV1SensitiveDataProtectionMapping]
2849
3078
  attr_accessor :sensitive_data_protection_mapping
2850
3079
 
2851
- # Required. Tag values combined with `AND` to check against. Values in the form "
2852
- # tagValues/123" Example: `[ "tagValues/123", "tagValues/456", "tagValues/789" ]`
2853
- # https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-
2854
- # managing
3080
+ # Required. Tag values combined with `AND` to check against. For Google Cloud
3081
+ # resources, they are tag value IDs in the form of "tagValues/123". Example: `[ "
3082
+ # tagValues/123", "tagValues/456", "tagValues/789" ]` https://cloud.google.com/
3083
+ # resource-manager/docs/tags/tags-creating-and-managing
2855
3084
  # Corresponds to the JSON property `tagValues`
2856
3085
  # @return [Array<String>]
2857
3086
  attr_accessor :tag_values
@@ -2922,6 +3151,11 @@ module Google
2922
3151
  # @return [String]
2923
3152
  attr_accessor :ancestor_module
2924
3153
 
3154
+ # The cloud provider of the custom module.
3155
+ # Corresponds to the JSON property `cloudProvider`
3156
+ # @return [String]
3157
+ attr_accessor :cloud_provider
3158
+
2925
3159
  # Defines the properties in a custom module configuration for Security Health
2926
3160
  # Analytics. Use the custom module configuration to create custom detectors that
2927
3161
  # generate custom findings for resources that you specify.
@@ -2971,6 +3205,7 @@ module Google
2971
3205
  # Update properties of this object
2972
3206
  def update!(**args)
2973
3207
  @ancestor_module = args[:ancestor_module] if args.key?(:ancestor_module)
3208
+ @cloud_provider = args[:cloud_provider] if args.key?(:cloud_provider)
2974
3209
  @custom_config = args[:custom_config] if args.key?(:custom_config)
2975
3210
  @display_name = args[:display_name] if args.key?(:display_name)
2976
3211
  @enablement_state = args[:enablement_state] if args.key?(:enablement_state)
@@ -3804,6 +4039,11 @@ module Google
3804
4039
  # @return [Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2AzureSubscription]
3805
4040
  attr_accessor :subscription
3806
4041
 
4042
+ # Represents a Microsoft Entra tenant.
4043
+ # Corresponds to the JSON property `tenant`
4044
+ # @return [Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2AzureTenant]
4045
+ attr_accessor :tenant
4046
+
3807
4047
  def initialize(**args)
3808
4048
  update!(**args)
3809
4049
  end
@@ -3813,6 +4053,7 @@ module Google
3813
4053
  @management_groups = args[:management_groups] if args.key?(:management_groups)
3814
4054
  @resource_group = args[:resource_group] if args.key?(:resource_group)
3815
4055
  @subscription = args[:subscription] if args.key?(:subscription)
4056
+ @tenant = args[:tenant] if args.key?(:tenant)
3816
4057
  end
3817
4058
  end
3818
4059
 
@@ -3820,6 +4061,11 @@ module Google
3820
4061
  class GoogleCloudSecuritycenterV2AzureResourceGroup
3821
4062
  include Google::Apis::Core::Hashable
3822
4063
 
4064
+ # The ID of the Azure resource group.
4065
+ # Corresponds to the JSON property `id`
4066
+ # @return [String]
4067
+ attr_accessor :id
4068
+
3823
4069
  # The name of the Azure resource group. This is not a UUID.
3824
4070
  # Corresponds to the JSON property `name`
3825
4071
  # @return [String]
@@ -3831,6 +4077,7 @@ module Google
3831
4077
 
3832
4078
  # Update properties of this object
3833
4079
  def update!(**args)
4080
+ @id = args[:id] if args.key?(:id)
3834
4081
  @name = args[:name] if args.key?(:name)
3835
4082
  end
3836
4083
  end
@@ -3861,6 +4108,32 @@ module Google
3861
4108
  end
3862
4109
  end
3863
4110
 
4111
+ # Represents a Microsoft Entra tenant.
4112
+ class GoogleCloudSecuritycenterV2AzureTenant
4113
+ include Google::Apis::Core::Hashable
4114
+
4115
+ # The display name of the Azure tenant.
4116
+ # Corresponds to the JSON property `displayName`
4117
+ # @return [String]
4118
+ attr_accessor :display_name
4119
+
4120
+ # The ID of the Microsoft Entra tenant, for example, "a11aaa11-aa11-1aa1-11aa-
4121
+ # 1aaa11a".
4122
+ # Corresponds to the JSON property `id`
4123
+ # @return [String]
4124
+ attr_accessor :id
4125
+
4126
+ def initialize(**args)
4127
+ update!(**args)
4128
+ end
4129
+
4130
+ # Update properties of this object
4131
+ def update!(**args)
4132
+ @display_name = args[:display_name] if args.key?(:display_name)
4133
+ @id = args[:id] if args.key?(:id)
4134
+ end
4135
+ end
4136
+
3864
4137
  # Information related to Google Cloud Backup and DR Service findings.
3865
4138
  class GoogleCloudSecuritycenterV2BackupDisasterRecovery
3866
4139
  include Google::Apis::Core::Hashable
@@ -4429,11 +4702,21 @@ module Google
4429
4702
  # @return [Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2Cvssv3]
4430
4703
  attr_accessor :cvssv3
4431
4704
 
4705
+ # Date the first publicly available exploit or PoC was released.
4706
+ # Corresponds to the JSON property `exploitReleaseDate`
4707
+ # @return [String]
4708
+ attr_accessor :exploit_release_date
4709
+
4432
4710
  # The exploitation activity of the vulnerability in the wild.
4433
4711
  # Corresponds to the JSON property `exploitationActivity`
4434
4712
  # @return [String]
4435
4713
  attr_accessor :exploitation_activity
4436
4714
 
4715
+ # Date of the earliest known exploitation.
4716
+ # Corresponds to the JSON property `firstExploitationDate`
4717
+ # @return [String]
4718
+ attr_accessor :first_exploitation_date
4719
+
4437
4720
  # The unique identifier for the vulnerability. e.g. CVE-2021-34527
4438
4721
  # Corresponds to the JSON property `id`
4439
4722
  # @return [String]
@@ -4475,7 +4758,9 @@ module Google
4475
4758
  # Update properties of this object
4476
4759
  def update!(**args)
4477
4760
  @cvssv3 = args[:cvssv3] if args.key?(:cvssv3)
4761
+ @exploit_release_date = args[:exploit_release_date] if args.key?(:exploit_release_date)
4478
4762
  @exploitation_activity = args[:exploitation_activity] if args.key?(:exploitation_activity)
4763
+ @first_exploitation_date = args[:first_exploitation_date] if args.key?(:first_exploitation_date)
4479
4764
  @id = args[:id] if args.key?(:id)
4480
4765
  @impact = args[:impact] if args.key?(:impact)
4481
4766
  @observed_in_the_wild = args[:observed_in_the_wild] if args.key?(:observed_in_the_wild)
@@ -4562,6 +4847,91 @@ module Google
4562
4847
  end
4563
4848
  end
4564
4849
 
4850
+ # Details about a data access attempt made by a principal not authorized under
4851
+ # applicable data security policy.
4852
+ class GoogleCloudSecuritycenterV2DataAccessEvent
4853
+ include Google::Apis::Core::Hashable
4854
+
4855
+ # Unique identifier for data access event.
4856
+ # Corresponds to the JSON property `eventId`
4857
+ # @return [String]
4858
+ attr_accessor :event_id
4859
+
4860
+ # Timestamp of data access event.
4861
+ # Corresponds to the JSON property `eventTime`
4862
+ # @return [String]
4863
+ attr_accessor :event_time
4864
+
4865
+ # The operation performed by the principal to access the data.
4866
+ # Corresponds to the JSON property `operation`
4867
+ # @return [String]
4868
+ attr_accessor :operation
4869
+
4870
+ # The email address of the principal that accessed the data. The principal could
4871
+ # be a user account, service account, Google group, or other.
4872
+ # Corresponds to the JSON property `principalEmail`
4873
+ # @return [String]
4874
+ attr_accessor :principal_email
4875
+
4876
+ def initialize(**args)
4877
+ update!(**args)
4878
+ end
4879
+
4880
+ # Update properties of this object
4881
+ def update!(**args)
4882
+ @event_id = args[:event_id] if args.key?(:event_id)
4883
+ @event_time = args[:event_time] if args.key?(:event_time)
4884
+ @operation = args[:operation] if args.key?(:operation)
4885
+ @principal_email = args[:principal_email] if args.key?(:principal_email)
4886
+ end
4887
+ end
4888
+
4889
+ # Details about a data flow event, in which either the data is moved to or is
4890
+ # accessed from a non-compliant geo-location, as defined in the applicable data
4891
+ # security policy.
4892
+ class GoogleCloudSecuritycenterV2DataFlowEvent
4893
+ include Google::Apis::Core::Hashable
4894
+
4895
+ # Unique identifier for data flow event.
4896
+ # Corresponds to the JSON property `eventId`
4897
+ # @return [String]
4898
+ attr_accessor :event_id
4899
+
4900
+ # Timestamp of data flow event.
4901
+ # Corresponds to the JSON property `eventTime`
4902
+ # @return [String]
4903
+ attr_accessor :event_time
4904
+
4905
+ # The operation performed by the principal for the data flow event.
4906
+ # Corresponds to the JSON property `operation`
4907
+ # @return [String]
4908
+ attr_accessor :operation
4909
+
4910
+ # The email address of the principal that initiated the data flow event. The
4911
+ # principal could be a user account, service account, Google group, or other.
4912
+ # Corresponds to the JSON property `principalEmail`
4913
+ # @return [String]
4914
+ attr_accessor :principal_email
4915
+
4916
+ # Non-compliant location of the principal or the data destination.
4917
+ # Corresponds to the JSON property `violatedLocation`
4918
+ # @return [String]
4919
+ attr_accessor :violated_location
4920
+
4921
+ def initialize(**args)
4922
+ update!(**args)
4923
+ end
4924
+
4925
+ # Update properties of this object
4926
+ def update!(**args)
4927
+ @event_id = args[:event_id] if args.key?(:event_id)
4928
+ @event_time = args[:event_time] if args.key?(:event_time)
4929
+ @operation = args[:operation] if args.key?(:operation)
4930
+ @principal_email = args[:principal_email] if args.key?(:principal_email)
4931
+ @violated_location = args[:violated_location] if args.key?(:violated_location)
4932
+ end
4933
+ end
4934
+
4565
4935
  # Represents database access information, such as queries. A database may be a
4566
4936
  # sub-resource of an instance (as in the case of Cloud SQL instances or Cloud
4567
4937
  # Spanner instances), or the database instance itself. Some database resources
@@ -4650,6 +5020,26 @@ module Google
4650
5020
  end
4651
5021
  end
4652
5022
 
5023
+ # Contains information about the disk associated with the finding.
5024
+ class GoogleCloudSecuritycenterV2Disk
5025
+ include Google::Apis::Core::Hashable
5026
+
5027
+ # The name of the disk, for example, "https://www.googleapis.com/compute/v1/
5028
+ # projects/project-id/zones/zone-id/disks/disk-id".
5029
+ # Corresponds to the JSON property `name`
5030
+ # @return [String]
5031
+ attr_accessor :name
5032
+
5033
+ def initialize(**args)
5034
+ update!(**args)
5035
+ end
5036
+
5037
+ # Update properties of this object
5038
+ def update!(**args)
5039
+ @name = args[:name] if args.key?(:name)
5040
+ end
5041
+ end
5042
+
4653
5043
  # Path of the file in terms of underlying disk/partition identifiers.
4654
5044
  class GoogleCloudSecuritycenterV2DiskPath
4655
5045
  include Google::Apis::Core::Hashable
@@ -4677,6 +5067,33 @@ module Google
4677
5067
  end
4678
5068
  end
4679
5069
 
5070
+ # The record of a dynamic mute rule that matches the finding.
5071
+ class GoogleCloudSecuritycenterV2DynamicMuteRecord
5072
+ include Google::Apis::Core::Hashable
5073
+
5074
+ # When the dynamic mute rule first matched the finding.
5075
+ # Corresponds to the JSON property `matchTime`
5076
+ # @return [String]
5077
+ attr_accessor :match_time
5078
+
5079
+ # The relative resource name of the mute rule, represented by a mute config,
5080
+ # that created this record, for example `organizations/123/muteConfigs/
5081
+ # mymuteconfig` or `organizations/123/locations/global/muteConfigs/mymuteconfig`.
5082
+ # Corresponds to the JSON property `muteConfig`
5083
+ # @return [String]
5084
+ attr_accessor :mute_config
5085
+
5086
+ def initialize(**args)
5087
+ update!(**args)
5088
+ end
5089
+
5090
+ # Update properties of this object
5091
+ def update!(**args)
5092
+ @match_time = args[:match_time] if args.key?(:match_time)
5093
+ @mute_config = args[:mute_config] if args.key?(:mute_config)
5094
+ end
5095
+ end
5096
+
4680
5097
  # A name-value pair representing an environment variable used in an operating
4681
5098
  # system process.
4682
5099
  class GoogleCloudSecuritycenterV2EnvironmentVariable
@@ -5015,6 +5432,16 @@ module Google
5015
5432
  # @return [String]
5016
5433
  attr_accessor :create_time
5017
5434
 
5435
+ # Data access events associated with the finding.
5436
+ # Corresponds to the JSON property `dataAccessEvents`
5437
+ # @return [Array<Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2DataAccessEvent>]
5438
+ attr_accessor :data_access_events
5439
+
5440
+ # Data flow events associated with the finding.
5441
+ # Corresponds to the JSON property `dataFlowEvents`
5442
+ # @return [Array<Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2DataFlowEvent>]
5443
+ attr_accessor :data_flow_events
5444
+
5018
5445
  # Represents database access information, such as queries. A database may be a
5019
5446
  # sub-resource of an instance (as in the case of Cloud SQL instances or Cloud
5020
5447
  # Spanner instances), or the database instance itself. Some database resources
@@ -5031,6 +5458,11 @@ module Google
5031
5458
  # @return [String]
5032
5459
  attr_accessor :description
5033
5460
 
5461
+ # Contains information about the disk associated with the finding.
5462
+ # Corresponds to the JSON property `disk`
5463
+ # @return [Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2Disk]
5464
+ attr_accessor :disk
5465
+
5034
5466
  # The time the finding was first detected. If an existing finding is updated,
5035
5467
  # then this is the time the update occurred. For example, if the finding
5036
5468
  # represents an open firewall, this property captures the time the detector
@@ -5132,6 +5564,12 @@ module Google
5132
5564
  # @return [String]
5133
5565
  attr_accessor :mute
5134
5566
 
5567
+ # Mute information about the finding, including whether the finding has a static
5568
+ # mute or any matching dynamic mute rules.
5569
+ # Corresponds to the JSON property `muteInfo`
5570
+ # @return [Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2MuteInfo]
5571
+ attr_accessor :mute_info
5572
+
5135
5573
  # Records additional information about the mute operation, for example, the [
5136
5574
  # mute configuration](https://cloud.google.com/security-command-center/docs/how-
5137
5575
  # to-mute-findings) that muted the finding and the user who muted the finding.
@@ -5274,8 +5712,11 @@ module Google
5274
5712
  @contacts = args[:contacts] if args.key?(:contacts)
5275
5713
  @containers = args[:containers] if args.key?(:containers)
5276
5714
  @create_time = args[:create_time] if args.key?(:create_time)
5715
+ @data_access_events = args[:data_access_events] if args.key?(:data_access_events)
5716
+ @data_flow_events = args[:data_flow_events] if args.key?(:data_flow_events)
5277
5717
  @database = args[:database] if args.key?(:database)
5278
5718
  @description = args[:description] if args.key?(:description)
5719
+ @disk = args[:disk] if args.key?(:disk)
5279
5720
  @event_time = args[:event_time] if args.key?(:event_time)
5280
5721
  @exfiltration = args[:exfiltration] if args.key?(:exfiltration)
5281
5722
  @external_systems = args[:external_systems] if args.key?(:external_systems)
@@ -5292,6 +5733,7 @@ module Google
5292
5733
  @mitre_attack = args[:mitre_attack] if args.key?(:mitre_attack)
5293
5734
  @module_name = args[:module_name] if args.key?(:module_name)
5294
5735
  @mute = args[:mute] if args.key?(:mute)
5736
+ @mute_info = args[:mute_info] if args.key?(:mute_info)
5295
5737
  @mute_initiator = args[:mute_initiator] if args.key?(:mute_initiator)
5296
5738
  @mute_update_time = args[:mute_update_time] if args.key?(:mute_update_time)
5297
5739
  @name = args[:name] if args.key?(:name)
@@ -5764,6 +6206,12 @@ module Google
5764
6206
  # @return [String]
5765
6207
  attr_accessor :description
5766
6208
 
6209
+ # Optional. The expiry of the mute config. Only applicable for dynamic configs.
6210
+ # If the expiry is set, when the config expires, it is removed from all findings.
6211
+ # Corresponds to the JSON property `expiryTime`
6212
+ # @return [String]
6213
+ attr_accessor :expiry_time
6214
+
5767
6215
  # Required. An expression that defines the filter to apply across create/update
5768
6216
  # events of findings. While creating a filter string, be mindful of the scope in
5769
6217
  # which the mute configuration is being created. E.g., If a filter contains
@@ -5817,6 +6265,7 @@ module Google
5817
6265
  def update!(**args)
5818
6266
  @create_time = args[:create_time] if args.key?(:create_time)
5819
6267
  @description = args[:description] if args.key?(:description)
6268
+ @expiry_time = args[:expiry_time] if args.key?(:expiry_time)
5820
6269
  @filter = args[:filter] if args.key?(:filter)
5821
6270
  @most_recent_editor = args[:most_recent_editor] if args.key?(:most_recent_editor)
5822
6271
  @name = args[:name] if args.key?(:name)
@@ -5825,6 +6274,34 @@ module Google
5825
6274
  end
5826
6275
  end
5827
6276
 
6277
+ # Mute information about the finding, including whether the finding has a static
6278
+ # mute or any matching dynamic mute rules.
6279
+ class GoogleCloudSecuritycenterV2MuteInfo
6280
+ include Google::Apis::Core::Hashable
6281
+
6282
+ # The list of dynamic mute rules that currently match the finding.
6283
+ # Corresponds to the JSON property `dynamicMuteRecords`
6284
+ # @return [Array<Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2DynamicMuteRecord>]
6285
+ attr_accessor :dynamic_mute_records
6286
+
6287
+ # Information about the static mute state. A static mute state overrides any
6288
+ # dynamic mute rules that apply to this finding. The static mute state can be
6289
+ # set by a static mute rule or by muting the finding directly.
6290
+ # Corresponds to the JSON property `staticMute`
6291
+ # @return [Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2StaticMute]
6292
+ attr_accessor :static_mute
6293
+
6294
+ def initialize(**args)
6295
+ update!(**args)
6296
+ end
6297
+
6298
+ # Update properties of this object
6299
+ def update!(**args)
6300
+ @dynamic_mute_records = args[:dynamic_mute_records] if args.key?(:dynamic_mute_records)
6301
+ @static_mute = args[:static_mute] if args.key?(:static_mute)
6302
+ end
6303
+ end
6304
+
5828
6305
  # Kubernetes nodes associated with the finding.
5829
6306
  class GoogleCloudSecuritycenterV2Node
5830
6307
  include Google::Apis::Core::Hashable
@@ -6500,9 +6977,10 @@ module Google
6500
6977
  # @return [Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2SensitiveDataProtectionMapping]
6501
6978
  attr_accessor :sensitive_data_protection_mapping
6502
6979
 
6503
- # Tag values combined with `AND` to check against. Values in the form "tagValues/
6504
- # 123" Example: `[ "tagValues/123", "tagValues/456", "tagValues/789" ]` https://
6505
- # cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing
6980
+ # Tag values combined with `AND` to check against. For Google Cloud resources,
6981
+ # they are tag value IDs in the form of "tagValues/123". Example: `[ "tagValues/
6982
+ # 123", "tagValues/456", "tagValues/789" ]` https://cloud.google.com/resource-
6983
+ # manager/docs/tags/tags-creating-and-managing
6506
6984
  # Corresponds to the JSON property `tagValues`
6507
6985
  # @return [Array<String>]
6508
6986
  attr_accessor :tag_values
@@ -6812,6 +7290,34 @@ module Google
6812
7290
  end
6813
7291
  end
6814
7292
 
7293
+ # Information about the static mute state. A static mute state overrides any
7294
+ # dynamic mute rules that apply to this finding. The static mute state can be
7295
+ # set by a static mute rule or by muting the finding directly.
7296
+ class GoogleCloudSecuritycenterV2StaticMute
7297
+ include Google::Apis::Core::Hashable
7298
+
7299
+ # When the static mute was applied.
7300
+ # Corresponds to the JSON property `applyTime`
7301
+ # @return [String]
7302
+ attr_accessor :apply_time
7303
+
7304
+ # The static mute state. If the value is `MUTED` or `UNMUTED`, then the finding'
7305
+ # s overall mute state will have the same value.
7306
+ # Corresponds to the JSON property `state`
7307
+ # @return [String]
7308
+ attr_accessor :state
7309
+
7310
+ def initialize(**args)
7311
+ update!(**args)
7312
+ end
7313
+
7314
+ # Update properties of this object
7315
+ def update!(**args)
7316
+ @apply_time = args[:apply_time] if args.key?(:apply_time)
7317
+ @state = args[:state] if args.key?(:state)
7318
+ end
7319
+ end
7320
+
6815
7321
  # Represents a Kubernetes subject.
6816
7322
  class GoogleCloudSecuritycenterV2Subject
6817
7323
  include Google::Apis::Core::Hashable
@@ -7373,6 +7879,34 @@ module Google
7373
7879
  end
7374
7880
  end
7375
7881
 
7882
+ # Mute information about the finding, including whether the finding has a static
7883
+ # mute or any matching dynamic mute rules.
7884
+ class MuteInfo
7885
+ include Google::Apis::Core::Hashable
7886
+
7887
+ # The list of dynamic mute rules that currently match the finding.
7888
+ # Corresponds to the JSON property `dynamicMuteRecords`
7889
+ # @return [Array<Google::Apis::SecuritycenterV1beta2::DynamicMuteRecord>]
7890
+ attr_accessor :dynamic_mute_records
7891
+
7892
+ # Information about the static mute state. A static mute state overrides any
7893
+ # dynamic mute rules that apply to this finding. The static mute state can be
7894
+ # set by a static mute rule or by muting the finding directly.
7895
+ # Corresponds to the JSON property `staticMute`
7896
+ # @return [Google::Apis::SecuritycenterV1beta2::StaticMute]
7897
+ attr_accessor :static_mute
7898
+
7899
+ def initialize(**args)
7900
+ update!(**args)
7901
+ end
7902
+
7903
+ # Update properties of this object
7904
+ def update!(**args)
7905
+ @dynamic_mute_records = args[:dynamic_mute_records] if args.key?(:dynamic_mute_records)
7906
+ @static_mute = args[:static_mute] if args.key?(:static_mute)
7907
+ end
7908
+ end
7909
+
7376
7910
  # Kubernetes nodes associated with the finding.
7377
7911
  class Node
7378
7912
  include Google::Apis::Core::Hashable
@@ -8242,6 +8776,34 @@ module Google
8242
8776
  end
8243
8777
  end
8244
8778
 
8779
+ # Information about the static mute state. A static mute state overrides any
8780
+ # dynamic mute rules that apply to this finding. The static mute state can be
8781
+ # set by a static mute rule or by muting the finding directly.
8782
+ class StaticMute
8783
+ include Google::Apis::Core::Hashable
8784
+
8785
+ # When the static mute was applied.
8786
+ # Corresponds to the JSON property `applyTime`
8787
+ # @return [String]
8788
+ attr_accessor :apply_time
8789
+
8790
+ # The static mute state. If the value is `MUTED` or `UNMUTED`, then the finding'
8791
+ # s overall mute state will have the same value.
8792
+ # Corresponds to the JSON property `state`
8793
+ # @return [String]
8794
+ attr_accessor :state
8795
+
8796
+ def initialize(**args)
8797
+ update!(**args)
8798
+ end
8799
+
8800
+ # Update properties of this object
8801
+ def update!(**args)
8802
+ @apply_time = args[:apply_time] if args.key?(:apply_time)
8803
+ @state = args[:state] if args.key?(:state)
8804
+ end
8805
+ end
8806
+
8245
8807
  # Represents a Kubernetes subject.
8246
8808
  class Subject
8247
8809
  include Google::Apis::Core::Hashable