google-apis-securitycenter_v1beta2 0.71.0 → 0.72.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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