google-apis-securitycenter_v1beta1 0.79.0 → 0.80.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -650,6 +650,11 @@ module Google
650
650
  # @return [Google::Apis::SecuritycenterV1beta1::AzureSubscription]
651
651
  attr_accessor :subscription
652
652
 
653
+ # Represents a Microsoft Entra tenant.
654
+ # Corresponds to the JSON property `tenant`
655
+ # @return [Google::Apis::SecuritycenterV1beta1::AzureTenant]
656
+ attr_accessor :tenant
657
+
653
658
  def initialize(**args)
654
659
  update!(**args)
655
660
  end
@@ -659,6 +664,7 @@ module Google
659
664
  @management_groups = args[:management_groups] if args.key?(:management_groups)
660
665
  @resource_group = args[:resource_group] if args.key?(:resource_group)
661
666
  @subscription = args[:subscription] if args.key?(:subscription)
667
+ @tenant = args[:tenant] if args.key?(:tenant)
662
668
  end
663
669
  end
664
670
 
@@ -666,6 +672,11 @@ module Google
666
672
  class AzureResourceGroup
667
673
  include Google::Apis::Core::Hashable
668
674
 
675
+ # The ID of the Azure resource group.
676
+ # Corresponds to the JSON property `id`
677
+ # @return [String]
678
+ attr_accessor :id
679
+
669
680
  # The name of the Azure resource group. This is not a UUID.
670
681
  # Corresponds to the JSON property `name`
671
682
  # @return [String]
@@ -677,6 +688,7 @@ module Google
677
688
 
678
689
  # Update properties of this object
679
690
  def update!(**args)
691
+ @id = args[:id] if args.key?(:id)
680
692
  @name = args[:name] if args.key?(:name)
681
693
  end
682
694
  end
@@ -707,6 +719,32 @@ module Google
707
719
  end
708
720
  end
709
721
 
722
+ # Represents a Microsoft Entra tenant.
723
+ class AzureTenant
724
+ include Google::Apis::Core::Hashable
725
+
726
+ # The display name of the Azure tenant.
727
+ # Corresponds to the JSON property `displayName`
728
+ # @return [String]
729
+ attr_accessor :display_name
730
+
731
+ # The ID of the Microsoft Entra tenant, for example, "a11aaa11-aa11-1aa1-11aa-
732
+ # 1aaa11a".
733
+ # Corresponds to the JSON property `id`
734
+ # @return [String]
735
+ attr_accessor :id
736
+
737
+ def initialize(**args)
738
+ update!(**args)
739
+ end
740
+
741
+ # Update properties of this object
742
+ def update!(**args)
743
+ @display_name = args[:display_name] if args.key?(:display_name)
744
+ @id = args[:id] if args.key?(:id)
745
+ end
746
+ end
747
+
710
748
  # Information related to Google Cloud Backup and DR Service findings.
711
749
  class BackupDisasterRecovery
712
750
  include Google::Apis::Core::Hashable
@@ -1315,11 +1353,21 @@ module Google
1315
1353
  # @return [Google::Apis::SecuritycenterV1beta1::Cvssv3]
1316
1354
  attr_accessor :cvssv3
1317
1355
 
1356
+ # Date the first publicly available exploit or PoC was released.
1357
+ # Corresponds to the JSON property `exploitReleaseDate`
1358
+ # @return [String]
1359
+ attr_accessor :exploit_release_date
1360
+
1318
1361
  # The exploitation activity of the vulnerability in the wild.
1319
1362
  # Corresponds to the JSON property `exploitationActivity`
1320
1363
  # @return [String]
1321
1364
  attr_accessor :exploitation_activity
1322
1365
 
1366
+ # Date of the earliest known exploitation.
1367
+ # Corresponds to the JSON property `firstExploitationDate`
1368
+ # @return [String]
1369
+ attr_accessor :first_exploitation_date
1370
+
1323
1371
  # The unique identifier for the vulnerability. e.g. CVE-2021-34527
1324
1372
  # Corresponds to the JSON property `id`
1325
1373
  # @return [String]
@@ -1361,7 +1409,9 @@ module Google
1361
1409
  # Update properties of this object
1362
1410
  def update!(**args)
1363
1411
  @cvssv3 = args[:cvssv3] if args.key?(:cvssv3)
1412
+ @exploit_release_date = args[:exploit_release_date] if args.key?(:exploit_release_date)
1364
1413
  @exploitation_activity = args[:exploitation_activity] if args.key?(:exploitation_activity)
1414
+ @first_exploitation_date = args[:first_exploitation_date] if args.key?(:first_exploitation_date)
1365
1415
  @id = args[:id] if args.key?(:id)
1366
1416
  @impact = args[:impact] if args.key?(:impact)
1367
1417
  @observed_in_the_wild = args[:observed_in_the_wild] if args.key?(:observed_in_the_wild)
@@ -1448,6 +1498,91 @@ module Google
1448
1498
  end
1449
1499
  end
1450
1500
 
1501
+ # Details about a data access attempt made by a principal not authorized under
1502
+ # applicable data security policy.
1503
+ class DataAccessEvent
1504
+ include Google::Apis::Core::Hashable
1505
+
1506
+ # Unique identifier for data access event.
1507
+ # Corresponds to the JSON property `eventId`
1508
+ # @return [String]
1509
+ attr_accessor :event_id
1510
+
1511
+ # Timestamp of data access event.
1512
+ # Corresponds to the JSON property `eventTime`
1513
+ # @return [String]
1514
+ attr_accessor :event_time
1515
+
1516
+ # The operation performed by the principal to access the data.
1517
+ # Corresponds to the JSON property `operation`
1518
+ # @return [String]
1519
+ attr_accessor :operation
1520
+
1521
+ # The email address of the principal that accessed the data. The principal could
1522
+ # be a user account, service account, Google group, or other.
1523
+ # Corresponds to the JSON property `principalEmail`
1524
+ # @return [String]
1525
+ attr_accessor :principal_email
1526
+
1527
+ def initialize(**args)
1528
+ update!(**args)
1529
+ end
1530
+
1531
+ # Update properties of this object
1532
+ def update!(**args)
1533
+ @event_id = args[:event_id] if args.key?(:event_id)
1534
+ @event_time = args[:event_time] if args.key?(:event_time)
1535
+ @operation = args[:operation] if args.key?(:operation)
1536
+ @principal_email = args[:principal_email] if args.key?(:principal_email)
1537
+ end
1538
+ end
1539
+
1540
+ # Details about a data flow event, in which either the data is moved to or is
1541
+ # accessed from a non-compliant geo-location, as defined in the applicable data
1542
+ # security policy.
1543
+ class DataFlowEvent
1544
+ include Google::Apis::Core::Hashable
1545
+
1546
+ # Unique identifier for data flow event.
1547
+ # Corresponds to the JSON property `eventId`
1548
+ # @return [String]
1549
+ attr_accessor :event_id
1550
+
1551
+ # Timestamp of data flow event.
1552
+ # Corresponds to the JSON property `eventTime`
1553
+ # @return [String]
1554
+ attr_accessor :event_time
1555
+
1556
+ # The operation performed by the principal for the data flow event.
1557
+ # Corresponds to the JSON property `operation`
1558
+ # @return [String]
1559
+ attr_accessor :operation
1560
+
1561
+ # The email address of the principal that initiated the data flow event. The
1562
+ # principal could be a user account, service account, Google group, or other.
1563
+ # Corresponds to the JSON property `principalEmail`
1564
+ # @return [String]
1565
+ attr_accessor :principal_email
1566
+
1567
+ # Non-compliant location of the principal or the data destination.
1568
+ # Corresponds to the JSON property `violatedLocation`
1569
+ # @return [String]
1570
+ attr_accessor :violated_location
1571
+
1572
+ def initialize(**args)
1573
+ update!(**args)
1574
+ end
1575
+
1576
+ # Update properties of this object
1577
+ def update!(**args)
1578
+ @event_id = args[:event_id] if args.key?(:event_id)
1579
+ @event_time = args[:event_time] if args.key?(:event_time)
1580
+ @operation = args[:operation] if args.key?(:operation)
1581
+ @principal_email = args[:principal_email] if args.key?(:principal_email)
1582
+ @violated_location = args[:violated_location] if args.key?(:violated_location)
1583
+ end
1584
+ end
1585
+
1451
1586
  # Represents database access information, such as queries. A database may be a
1452
1587
  # sub-resource of an instance (as in the case of Cloud SQL instances or Cloud
1453
1588
  # Spanner instances), or the database instance itself. Some database resources
@@ -1536,6 +1671,26 @@ module Google
1536
1671
  end
1537
1672
  end
1538
1673
 
1674
+ # Contains information about the disk associated with the finding.
1675
+ class Disk
1676
+ include Google::Apis::Core::Hashable
1677
+
1678
+ # The name of the disk, for example, "https://www.googleapis.com/compute/v1/
1679
+ # projects/project-id/zones/zone-id/disks/disk-id".
1680
+ # Corresponds to the JSON property `name`
1681
+ # @return [String]
1682
+ attr_accessor :name
1683
+
1684
+ def initialize(**args)
1685
+ update!(**args)
1686
+ end
1687
+
1688
+ # Update properties of this object
1689
+ def update!(**args)
1690
+ @name = args[:name] if args.key?(:name)
1691
+ end
1692
+ end
1693
+
1539
1694
  # Path of the file in terms of underlying disk/partition identifiers.
1540
1695
  class DiskPath
1541
1696
  include Google::Apis::Core::Hashable
@@ -1563,6 +1718,33 @@ module Google
1563
1718
  end
1564
1719
  end
1565
1720
 
1721
+ # The record of a dynamic mute rule that matches the finding.
1722
+ class DynamicMuteRecord
1723
+ include Google::Apis::Core::Hashable
1724
+
1725
+ # When the dynamic mute rule first matched the finding.
1726
+ # Corresponds to the JSON property `matchTime`
1727
+ # @return [String]
1728
+ attr_accessor :match_time
1729
+
1730
+ # The relative resource name of the mute rule, represented by a mute config,
1731
+ # that created this record, for example `organizations/123/muteConfigs/
1732
+ # mymuteconfig` or `organizations/123/locations/global/muteConfigs/mymuteconfig`.
1733
+ # Corresponds to the JSON property `muteConfig`
1734
+ # @return [String]
1735
+ attr_accessor :mute_config
1736
+
1737
+ def initialize(**args)
1738
+ update!(**args)
1739
+ end
1740
+
1741
+ # Update properties of this object
1742
+ def update!(**args)
1743
+ @match_time = args[:match_time] if args.key?(:match_time)
1744
+ @mute_config = args[:mute_config] if args.key?(:mute_config)
1745
+ end
1746
+ end
1747
+
1566
1748
  # A generic empty message that you can re-use to avoid defining duplicated empty
1567
1749
  # messages in your APIs. A typical example is to use it as the request or the
1568
1750
  # response type of an API method. For instance: service Foo ` rpc Bar(google.
@@ -1877,6 +2059,16 @@ module Google
1877
2059
  # @return [String]
1878
2060
  attr_accessor :create_time
1879
2061
 
2062
+ # Data access events associated with the finding.
2063
+ # Corresponds to the JSON property `dataAccessEvents`
2064
+ # @return [Array<Google::Apis::SecuritycenterV1beta1::DataAccessEvent>]
2065
+ attr_accessor :data_access_events
2066
+
2067
+ # Data flow events associated with the finding.
2068
+ # Corresponds to the JSON property `dataFlowEvents`
2069
+ # @return [Array<Google::Apis::SecuritycenterV1beta1::DataFlowEvent>]
2070
+ attr_accessor :data_flow_events
2071
+
1880
2072
  # Represents database access information, such as queries. A database may be a
1881
2073
  # sub-resource of an instance (as in the case of Cloud SQL instances or Cloud
1882
2074
  # Spanner instances), or the database instance itself. Some database resources
@@ -1893,6 +2085,11 @@ module Google
1893
2085
  # @return [String]
1894
2086
  attr_accessor :description
1895
2087
 
2088
+ # Contains information about the disk associated with the finding.
2089
+ # Corresponds to the JSON property `disk`
2090
+ # @return [Google::Apis::SecuritycenterV1beta1::Disk]
2091
+ attr_accessor :disk
2092
+
1896
2093
  # The time the finding was first detected. If an existing finding is updated,
1897
2094
  # then this is the time the update occurred. For example, if the finding
1898
2095
  # represents an open firewall, this property captures the time the detector
@@ -1994,6 +2191,12 @@ module Google
1994
2191
  # @return [String]
1995
2192
  attr_accessor :mute
1996
2193
 
2194
+ # Mute information about the finding, including whether the finding has a static
2195
+ # mute or any matching dynamic mute rules.
2196
+ # Corresponds to the JSON property `muteInfo`
2197
+ # @return [Google::Apis::SecuritycenterV1beta1::MuteInfo]
2198
+ attr_accessor :mute_info
2199
+
1997
2200
  # Records additional information about the mute operation, for example, the [
1998
2201
  # mute configuration](/security-command-center/docs/how-to-mute-findings) that
1999
2202
  # muted the finding and the user who muted the finding.
@@ -2127,8 +2330,11 @@ module Google
2127
2330
  @contacts = args[:contacts] if args.key?(:contacts)
2128
2331
  @containers = args[:containers] if args.key?(:containers)
2129
2332
  @create_time = args[:create_time] if args.key?(:create_time)
2333
+ @data_access_events = args[:data_access_events] if args.key?(:data_access_events)
2334
+ @data_flow_events = args[:data_flow_events] if args.key?(:data_flow_events)
2130
2335
  @database = args[:database] if args.key?(:database)
2131
2336
  @description = args[:description] if args.key?(:description)
2337
+ @disk = args[:disk] if args.key?(:disk)
2132
2338
  @event_time = args[:event_time] if args.key?(:event_time)
2133
2339
  @exfiltration = args[:exfiltration] if args.key?(:exfiltration)
2134
2340
  @external_systems = args[:external_systems] if args.key?(:external_systems)
@@ -2145,6 +2351,7 @@ module Google
2145
2351
  @mitre_attack = args[:mitre_attack] if args.key?(:mitre_attack)
2146
2352
  @module_name = args[:module_name] if args.key?(:module_name)
2147
2353
  @mute = args[:mute] if args.key?(:mute)
2354
+ @mute_info = args[:mute_info] if args.key?(:mute_info)
2148
2355
  @mute_initiator = args[:mute_initiator] if args.key?(:mute_initiator)
2149
2356
  @mute_update_time = args[:mute_update_time] if args.key?(:mute_update_time)
2150
2357
  @name = args[:name] if args.key?(:name)
@@ -2550,6 +2757,11 @@ module Google
2550
2757
  class GoogleCloudSecuritycenterV1EffectiveSecurityHealthAnalyticsCustomModule
2551
2758
  include Google::Apis::Core::Hashable
2552
2759
 
2760
+ # The cloud provider of the custom module.
2761
+ # Corresponds to the JSON property `cloudProvider`
2762
+ # @return [String]
2763
+ attr_accessor :cloud_provider
2764
+
2553
2765
  # Defines the properties in a custom module configuration for Security Health
2554
2766
  # Analytics. Use the custom module configuration to create custom detectors that
2555
2767
  # generate custom findings for resources that you specify.
@@ -2586,6 +2798,7 @@ module Google
2586
2798
 
2587
2799
  # Update properties of this object
2588
2800
  def update!(**args)
2801
+ @cloud_provider = args[:cloud_provider] if args.key?(:cloud_provider)
2589
2802
  @custom_config = args[:custom_config] if args.key?(:custom_config)
2590
2803
  @display_name = args[:display_name] if args.key?(:display_name)
2591
2804
  @enablement_state = args[:enablement_state] if args.key?(:enablement_state)
@@ -2699,6 +2912,12 @@ module Google
2699
2912
  # @return [String]
2700
2913
  attr_accessor :display_name
2701
2914
 
2915
+ # Optional. The expiry of the mute config. Only applicable for dynamic configs.
2916
+ # If the expiry is set, when the config expires, it is removed from all findings.
2917
+ # Corresponds to the JSON property `expiryTime`
2918
+ # @return [String]
2919
+ attr_accessor :expiry_time
2920
+
2702
2921
  # Required. An expression that defines the filter to apply across create/update
2703
2922
  # events of findings. While creating a filter string, be mindful of the scope in
2704
2923
  # which the mute configuration is being created. E.g., If a filter contains
@@ -2730,6 +2949,14 @@ module Google
2730
2949
  # @return [String]
2731
2950
  attr_accessor :name
2732
2951
 
2952
+ # Optional. The type of the mute config, which determines what type of mute
2953
+ # state the config affects. The static mute state takes precedence over the
2954
+ # dynamic mute state. Immutable after creation. STATIC by default if not set
2955
+ # during creation.
2956
+ # Corresponds to the JSON property `type`
2957
+ # @return [String]
2958
+ attr_accessor :type
2959
+
2733
2960
  # Output only. The most recent time at which the mute config was updated. This
2734
2961
  # field is set by the server and will be ignored if provided on config creation
2735
2962
  # or update.
@@ -2746,9 +2973,11 @@ module Google
2746
2973
  @create_time = args[:create_time] if args.key?(:create_time)
2747
2974
  @description = args[:description] if args.key?(:description)
2748
2975
  @display_name = args[:display_name] if args.key?(:display_name)
2976
+ @expiry_time = args[:expiry_time] if args.key?(:expiry_time)
2749
2977
  @filter = args[:filter] if args.key?(:filter)
2750
2978
  @most_recent_editor = args[:most_recent_editor] if args.key?(:most_recent_editor)
2751
2979
  @name = args[:name] if args.key?(:name)
2980
+ @type = args[:type] if args.key?(:type)
2752
2981
  @update_time = args[:update_time] if args.key?(:update_time)
2753
2982
  end
2754
2983
  end
@@ -3031,10 +3260,10 @@ module Google
3031
3260
  # @return [Google::Apis::SecuritycenterV1beta1::GoogleCloudSecuritycenterV1SensitiveDataProtectionMapping]
3032
3261
  attr_accessor :sensitive_data_protection_mapping
3033
3262
 
3034
- # Required. Tag values combined with `AND` to check against. Values in the form "
3035
- # tagValues/123" Example: `[ "tagValues/123", "tagValues/456", "tagValues/789" ]`
3036
- # https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-
3037
- # managing
3263
+ # Required. Tag values combined with `AND` to check against. For Google Cloud
3264
+ # resources, they are tag value IDs in the form of "tagValues/123". Example: `[ "
3265
+ # tagValues/123", "tagValues/456", "tagValues/789" ]` https://cloud.google.com/
3266
+ # resource-manager/docs/tags/tags-creating-and-managing
3038
3267
  # Corresponds to the JSON property `tagValues`
3039
3268
  # @return [Array<String>]
3040
3269
  attr_accessor :tag_values
@@ -3105,6 +3334,11 @@ module Google
3105
3334
  # @return [String]
3106
3335
  attr_accessor :ancestor_module
3107
3336
 
3337
+ # The cloud provider of the custom module.
3338
+ # Corresponds to the JSON property `cloudProvider`
3339
+ # @return [String]
3340
+ attr_accessor :cloud_provider
3341
+
3108
3342
  # Defines the properties in a custom module configuration for Security Health
3109
3343
  # Analytics. Use the custom module configuration to create custom detectors that
3110
3344
  # generate custom findings for resources that you specify.
@@ -3154,6 +3388,7 @@ module Google
3154
3388
  # Update properties of this object
3155
3389
  def update!(**args)
3156
3390
  @ancestor_module = args[:ancestor_module] if args.key?(:ancestor_module)
3391
+ @cloud_provider = args[:cloud_provider] if args.key?(:cloud_provider)
3157
3392
  @custom_config = args[:custom_config] if args.key?(:custom_config)
3158
3393
  @display_name = args[:display_name] if args.key?(:display_name)
3159
3394
  @enablement_state = args[:enablement_state] if args.key?(:enablement_state)
@@ -4120,6 +4355,11 @@ module Google
4120
4355
  # @return [Google::Apis::SecuritycenterV1beta1::GoogleCloudSecuritycenterV2AzureSubscription]
4121
4356
  attr_accessor :subscription
4122
4357
 
4358
+ # Represents a Microsoft Entra tenant.
4359
+ # Corresponds to the JSON property `tenant`
4360
+ # @return [Google::Apis::SecuritycenterV1beta1::GoogleCloudSecuritycenterV2AzureTenant]
4361
+ attr_accessor :tenant
4362
+
4123
4363
  def initialize(**args)
4124
4364
  update!(**args)
4125
4365
  end
@@ -4129,6 +4369,7 @@ module Google
4129
4369
  @management_groups = args[:management_groups] if args.key?(:management_groups)
4130
4370
  @resource_group = args[:resource_group] if args.key?(:resource_group)
4131
4371
  @subscription = args[:subscription] if args.key?(:subscription)
4372
+ @tenant = args[:tenant] if args.key?(:tenant)
4132
4373
  end
4133
4374
  end
4134
4375
 
@@ -4136,6 +4377,11 @@ module Google
4136
4377
  class GoogleCloudSecuritycenterV2AzureResourceGroup
4137
4378
  include Google::Apis::Core::Hashable
4138
4379
 
4380
+ # The ID of the Azure resource group.
4381
+ # Corresponds to the JSON property `id`
4382
+ # @return [String]
4383
+ attr_accessor :id
4384
+
4139
4385
  # The name of the Azure resource group. This is not a UUID.
4140
4386
  # Corresponds to the JSON property `name`
4141
4387
  # @return [String]
@@ -4147,6 +4393,7 @@ module Google
4147
4393
 
4148
4394
  # Update properties of this object
4149
4395
  def update!(**args)
4396
+ @id = args[:id] if args.key?(:id)
4150
4397
  @name = args[:name] if args.key?(:name)
4151
4398
  end
4152
4399
  end
@@ -4177,6 +4424,32 @@ module Google
4177
4424
  end
4178
4425
  end
4179
4426
 
4427
+ # Represents a Microsoft Entra tenant.
4428
+ class GoogleCloudSecuritycenterV2AzureTenant
4429
+ include Google::Apis::Core::Hashable
4430
+
4431
+ # The display name of the Azure tenant.
4432
+ # Corresponds to the JSON property `displayName`
4433
+ # @return [String]
4434
+ attr_accessor :display_name
4435
+
4436
+ # The ID of the Microsoft Entra tenant, for example, "a11aaa11-aa11-1aa1-11aa-
4437
+ # 1aaa11a".
4438
+ # Corresponds to the JSON property `id`
4439
+ # @return [String]
4440
+ attr_accessor :id
4441
+
4442
+ def initialize(**args)
4443
+ update!(**args)
4444
+ end
4445
+
4446
+ # Update properties of this object
4447
+ def update!(**args)
4448
+ @display_name = args[:display_name] if args.key?(:display_name)
4449
+ @id = args[:id] if args.key?(:id)
4450
+ end
4451
+ end
4452
+
4180
4453
  # Information related to Google Cloud Backup and DR Service findings.
4181
4454
  class GoogleCloudSecuritycenterV2BackupDisasterRecovery
4182
4455
  include Google::Apis::Core::Hashable
@@ -4745,11 +5018,21 @@ module Google
4745
5018
  # @return [Google::Apis::SecuritycenterV1beta1::GoogleCloudSecuritycenterV2Cvssv3]
4746
5019
  attr_accessor :cvssv3
4747
5020
 
5021
+ # Date the first publicly available exploit or PoC was released.
5022
+ # Corresponds to the JSON property `exploitReleaseDate`
5023
+ # @return [String]
5024
+ attr_accessor :exploit_release_date
5025
+
4748
5026
  # The exploitation activity of the vulnerability in the wild.
4749
5027
  # Corresponds to the JSON property `exploitationActivity`
4750
5028
  # @return [String]
4751
5029
  attr_accessor :exploitation_activity
4752
5030
 
5031
+ # Date of the earliest known exploitation.
5032
+ # Corresponds to the JSON property `firstExploitationDate`
5033
+ # @return [String]
5034
+ attr_accessor :first_exploitation_date
5035
+
4753
5036
  # The unique identifier for the vulnerability. e.g. CVE-2021-34527
4754
5037
  # Corresponds to the JSON property `id`
4755
5038
  # @return [String]
@@ -4791,7 +5074,9 @@ module Google
4791
5074
  # Update properties of this object
4792
5075
  def update!(**args)
4793
5076
  @cvssv3 = args[:cvssv3] if args.key?(:cvssv3)
5077
+ @exploit_release_date = args[:exploit_release_date] if args.key?(:exploit_release_date)
4794
5078
  @exploitation_activity = args[:exploitation_activity] if args.key?(:exploitation_activity)
5079
+ @first_exploitation_date = args[:first_exploitation_date] if args.key?(:first_exploitation_date)
4795
5080
  @id = args[:id] if args.key?(:id)
4796
5081
  @impact = args[:impact] if args.key?(:impact)
4797
5082
  @observed_in_the_wild = args[:observed_in_the_wild] if args.key?(:observed_in_the_wild)
@@ -4878,6 +5163,91 @@ module Google
4878
5163
  end
4879
5164
  end
4880
5165
 
5166
+ # Details about a data access attempt made by a principal not authorized under
5167
+ # applicable data security policy.
5168
+ class GoogleCloudSecuritycenterV2DataAccessEvent
5169
+ include Google::Apis::Core::Hashable
5170
+
5171
+ # Unique identifier for data access event.
5172
+ # Corresponds to the JSON property `eventId`
5173
+ # @return [String]
5174
+ attr_accessor :event_id
5175
+
5176
+ # Timestamp of data access event.
5177
+ # Corresponds to the JSON property `eventTime`
5178
+ # @return [String]
5179
+ attr_accessor :event_time
5180
+
5181
+ # The operation performed by the principal to access the data.
5182
+ # Corresponds to the JSON property `operation`
5183
+ # @return [String]
5184
+ attr_accessor :operation
5185
+
5186
+ # The email address of the principal that accessed the data. The principal could
5187
+ # be a user account, service account, Google group, or other.
5188
+ # Corresponds to the JSON property `principalEmail`
5189
+ # @return [String]
5190
+ attr_accessor :principal_email
5191
+
5192
+ def initialize(**args)
5193
+ update!(**args)
5194
+ end
5195
+
5196
+ # Update properties of this object
5197
+ def update!(**args)
5198
+ @event_id = args[:event_id] if args.key?(:event_id)
5199
+ @event_time = args[:event_time] if args.key?(:event_time)
5200
+ @operation = args[:operation] if args.key?(:operation)
5201
+ @principal_email = args[:principal_email] if args.key?(:principal_email)
5202
+ end
5203
+ end
5204
+
5205
+ # Details about a data flow event, in which either the data is moved to or is
5206
+ # accessed from a non-compliant geo-location, as defined in the applicable data
5207
+ # security policy.
5208
+ class GoogleCloudSecuritycenterV2DataFlowEvent
5209
+ include Google::Apis::Core::Hashable
5210
+
5211
+ # Unique identifier for data flow event.
5212
+ # Corresponds to the JSON property `eventId`
5213
+ # @return [String]
5214
+ attr_accessor :event_id
5215
+
5216
+ # Timestamp of data flow event.
5217
+ # Corresponds to the JSON property `eventTime`
5218
+ # @return [String]
5219
+ attr_accessor :event_time
5220
+
5221
+ # The operation performed by the principal for the data flow event.
5222
+ # Corresponds to the JSON property `operation`
5223
+ # @return [String]
5224
+ attr_accessor :operation
5225
+
5226
+ # The email address of the principal that initiated the data flow event. The
5227
+ # principal could be a user account, service account, Google group, or other.
5228
+ # Corresponds to the JSON property `principalEmail`
5229
+ # @return [String]
5230
+ attr_accessor :principal_email
5231
+
5232
+ # Non-compliant location of the principal or the data destination.
5233
+ # Corresponds to the JSON property `violatedLocation`
5234
+ # @return [String]
5235
+ attr_accessor :violated_location
5236
+
5237
+ def initialize(**args)
5238
+ update!(**args)
5239
+ end
5240
+
5241
+ # Update properties of this object
5242
+ def update!(**args)
5243
+ @event_id = args[:event_id] if args.key?(:event_id)
5244
+ @event_time = args[:event_time] if args.key?(:event_time)
5245
+ @operation = args[:operation] if args.key?(:operation)
5246
+ @principal_email = args[:principal_email] if args.key?(:principal_email)
5247
+ @violated_location = args[:violated_location] if args.key?(:violated_location)
5248
+ end
5249
+ end
5250
+
4881
5251
  # Represents database access information, such as queries. A database may be a
4882
5252
  # sub-resource of an instance (as in the case of Cloud SQL instances or Cloud
4883
5253
  # Spanner instances), or the database instance itself. Some database resources
@@ -4966,6 +5336,26 @@ module Google
4966
5336
  end
4967
5337
  end
4968
5338
 
5339
+ # Contains information about the disk associated with the finding.
5340
+ class GoogleCloudSecuritycenterV2Disk
5341
+ include Google::Apis::Core::Hashable
5342
+
5343
+ # The name of the disk, for example, "https://www.googleapis.com/compute/v1/
5344
+ # projects/project-id/zones/zone-id/disks/disk-id".
5345
+ # Corresponds to the JSON property `name`
5346
+ # @return [String]
5347
+ attr_accessor :name
5348
+
5349
+ def initialize(**args)
5350
+ update!(**args)
5351
+ end
5352
+
5353
+ # Update properties of this object
5354
+ def update!(**args)
5355
+ @name = args[:name] if args.key?(:name)
5356
+ end
5357
+ end
5358
+
4969
5359
  # Path of the file in terms of underlying disk/partition identifiers.
4970
5360
  class GoogleCloudSecuritycenterV2DiskPath
4971
5361
  include Google::Apis::Core::Hashable
@@ -4993,6 +5383,33 @@ module Google
4993
5383
  end
4994
5384
  end
4995
5385
 
5386
+ # The record of a dynamic mute rule that matches the finding.
5387
+ class GoogleCloudSecuritycenterV2DynamicMuteRecord
5388
+ include Google::Apis::Core::Hashable
5389
+
5390
+ # When the dynamic mute rule first matched the finding.
5391
+ # Corresponds to the JSON property `matchTime`
5392
+ # @return [String]
5393
+ attr_accessor :match_time
5394
+
5395
+ # The relative resource name of the mute rule, represented by a mute config,
5396
+ # that created this record, for example `organizations/123/muteConfigs/
5397
+ # mymuteconfig` or `organizations/123/locations/global/muteConfigs/mymuteconfig`.
5398
+ # Corresponds to the JSON property `muteConfig`
5399
+ # @return [String]
5400
+ attr_accessor :mute_config
5401
+
5402
+ def initialize(**args)
5403
+ update!(**args)
5404
+ end
5405
+
5406
+ # Update properties of this object
5407
+ def update!(**args)
5408
+ @match_time = args[:match_time] if args.key?(:match_time)
5409
+ @mute_config = args[:mute_config] if args.key?(:mute_config)
5410
+ end
5411
+ end
5412
+
4996
5413
  # A name-value pair representing an environment variable used in an operating
4997
5414
  # system process.
4998
5415
  class GoogleCloudSecuritycenterV2EnvironmentVariable
@@ -5331,6 +5748,16 @@ module Google
5331
5748
  # @return [String]
5332
5749
  attr_accessor :create_time
5333
5750
 
5751
+ # Data access events associated with the finding.
5752
+ # Corresponds to the JSON property `dataAccessEvents`
5753
+ # @return [Array<Google::Apis::SecuritycenterV1beta1::GoogleCloudSecuritycenterV2DataAccessEvent>]
5754
+ attr_accessor :data_access_events
5755
+
5756
+ # Data flow events associated with the finding.
5757
+ # Corresponds to the JSON property `dataFlowEvents`
5758
+ # @return [Array<Google::Apis::SecuritycenterV1beta1::GoogleCloudSecuritycenterV2DataFlowEvent>]
5759
+ attr_accessor :data_flow_events
5760
+
5334
5761
  # Represents database access information, such as queries. A database may be a
5335
5762
  # sub-resource of an instance (as in the case of Cloud SQL instances or Cloud
5336
5763
  # Spanner instances), or the database instance itself. Some database resources
@@ -5347,6 +5774,11 @@ module Google
5347
5774
  # @return [String]
5348
5775
  attr_accessor :description
5349
5776
 
5777
+ # Contains information about the disk associated with the finding.
5778
+ # Corresponds to the JSON property `disk`
5779
+ # @return [Google::Apis::SecuritycenterV1beta1::GoogleCloudSecuritycenterV2Disk]
5780
+ attr_accessor :disk
5781
+
5350
5782
  # The time the finding was first detected. If an existing finding is updated,
5351
5783
  # then this is the time the update occurred. For example, if the finding
5352
5784
  # represents an open firewall, this property captures the time the detector
@@ -5448,6 +5880,12 @@ module Google
5448
5880
  # @return [String]
5449
5881
  attr_accessor :mute
5450
5882
 
5883
+ # Mute information about the finding, including whether the finding has a static
5884
+ # mute or any matching dynamic mute rules.
5885
+ # Corresponds to the JSON property `muteInfo`
5886
+ # @return [Google::Apis::SecuritycenterV1beta1::GoogleCloudSecuritycenterV2MuteInfo]
5887
+ attr_accessor :mute_info
5888
+
5451
5889
  # Records additional information about the mute operation, for example, the [
5452
5890
  # mute configuration](https://cloud.google.com/security-command-center/docs/how-
5453
5891
  # to-mute-findings) that muted the finding and the user who muted the finding.
@@ -5590,8 +6028,11 @@ module Google
5590
6028
  @contacts = args[:contacts] if args.key?(:contacts)
5591
6029
  @containers = args[:containers] if args.key?(:containers)
5592
6030
  @create_time = args[:create_time] if args.key?(:create_time)
6031
+ @data_access_events = args[:data_access_events] if args.key?(:data_access_events)
6032
+ @data_flow_events = args[:data_flow_events] if args.key?(:data_flow_events)
5593
6033
  @database = args[:database] if args.key?(:database)
5594
6034
  @description = args[:description] if args.key?(:description)
6035
+ @disk = args[:disk] if args.key?(:disk)
5595
6036
  @event_time = args[:event_time] if args.key?(:event_time)
5596
6037
  @exfiltration = args[:exfiltration] if args.key?(:exfiltration)
5597
6038
  @external_systems = args[:external_systems] if args.key?(:external_systems)
@@ -5608,6 +6049,7 @@ module Google
5608
6049
  @mitre_attack = args[:mitre_attack] if args.key?(:mitre_attack)
5609
6050
  @module_name = args[:module_name] if args.key?(:module_name)
5610
6051
  @mute = args[:mute] if args.key?(:mute)
6052
+ @mute_info = args[:mute_info] if args.key?(:mute_info)
5611
6053
  @mute_initiator = args[:mute_initiator] if args.key?(:mute_initiator)
5612
6054
  @mute_update_time = args[:mute_update_time] if args.key?(:mute_update_time)
5613
6055
  @name = args[:name] if args.key?(:name)
@@ -6080,6 +6522,12 @@ module Google
6080
6522
  # @return [String]
6081
6523
  attr_accessor :description
6082
6524
 
6525
+ # Optional. The expiry of the mute config. Only applicable for dynamic configs.
6526
+ # If the expiry is set, when the config expires, it is removed from all findings.
6527
+ # Corresponds to the JSON property `expiryTime`
6528
+ # @return [String]
6529
+ attr_accessor :expiry_time
6530
+
6083
6531
  # Required. An expression that defines the filter to apply across create/update
6084
6532
  # events of findings. While creating a filter string, be mindful of the scope in
6085
6533
  # which the mute configuration is being created. E.g., If a filter contains
@@ -6133,6 +6581,7 @@ module Google
6133
6581
  def update!(**args)
6134
6582
  @create_time = args[:create_time] if args.key?(:create_time)
6135
6583
  @description = args[:description] if args.key?(:description)
6584
+ @expiry_time = args[:expiry_time] if args.key?(:expiry_time)
6136
6585
  @filter = args[:filter] if args.key?(:filter)
6137
6586
  @most_recent_editor = args[:most_recent_editor] if args.key?(:most_recent_editor)
6138
6587
  @name = args[:name] if args.key?(:name)
@@ -6141,6 +6590,34 @@ module Google
6141
6590
  end
6142
6591
  end
6143
6592
 
6593
+ # Mute information about the finding, including whether the finding has a static
6594
+ # mute or any matching dynamic mute rules.
6595
+ class GoogleCloudSecuritycenterV2MuteInfo
6596
+ include Google::Apis::Core::Hashable
6597
+
6598
+ # The list of dynamic mute rules that currently match the finding.
6599
+ # Corresponds to the JSON property `dynamicMuteRecords`
6600
+ # @return [Array<Google::Apis::SecuritycenterV1beta1::GoogleCloudSecuritycenterV2DynamicMuteRecord>]
6601
+ attr_accessor :dynamic_mute_records
6602
+
6603
+ # Information about the static mute state. A static mute state overrides any
6604
+ # dynamic mute rules that apply to this finding. The static mute state can be
6605
+ # set by a static mute rule or by muting the finding directly.
6606
+ # Corresponds to the JSON property `staticMute`
6607
+ # @return [Google::Apis::SecuritycenterV1beta1::GoogleCloudSecuritycenterV2StaticMute]
6608
+ attr_accessor :static_mute
6609
+
6610
+ def initialize(**args)
6611
+ update!(**args)
6612
+ end
6613
+
6614
+ # Update properties of this object
6615
+ def update!(**args)
6616
+ @dynamic_mute_records = args[:dynamic_mute_records] if args.key?(:dynamic_mute_records)
6617
+ @static_mute = args[:static_mute] if args.key?(:static_mute)
6618
+ end
6619
+ end
6620
+
6144
6621
  # Kubernetes nodes associated with the finding.
6145
6622
  class GoogleCloudSecuritycenterV2Node
6146
6623
  include Google::Apis::Core::Hashable
@@ -6816,9 +7293,10 @@ module Google
6816
7293
  # @return [Google::Apis::SecuritycenterV1beta1::GoogleCloudSecuritycenterV2SensitiveDataProtectionMapping]
6817
7294
  attr_accessor :sensitive_data_protection_mapping
6818
7295
 
6819
- # Tag values combined with `AND` to check against. Values in the form "tagValues/
6820
- # 123" Example: `[ "tagValues/123", "tagValues/456", "tagValues/789" ]` https://
6821
- # cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing
7296
+ # Tag values combined with `AND` to check against. For Google Cloud resources,
7297
+ # they are tag value IDs in the form of "tagValues/123". Example: `[ "tagValues/
7298
+ # 123", "tagValues/456", "tagValues/789" ]` https://cloud.google.com/resource-
7299
+ # manager/docs/tags/tags-creating-and-managing
6822
7300
  # Corresponds to the JSON property `tagValues`
6823
7301
  # @return [Array<String>]
6824
7302
  attr_accessor :tag_values
@@ -7128,6 +7606,34 @@ module Google
7128
7606
  end
7129
7607
  end
7130
7608
 
7609
+ # Information about the static mute state. A static mute state overrides any
7610
+ # dynamic mute rules that apply to this finding. The static mute state can be
7611
+ # set by a static mute rule or by muting the finding directly.
7612
+ class GoogleCloudSecuritycenterV2StaticMute
7613
+ include Google::Apis::Core::Hashable
7614
+
7615
+ # When the static mute was applied.
7616
+ # Corresponds to the JSON property `applyTime`
7617
+ # @return [String]
7618
+ attr_accessor :apply_time
7619
+
7620
+ # The static mute state. If the value is `MUTED` or `UNMUTED`, then the finding'
7621
+ # s overall mute state will have the same value.
7622
+ # Corresponds to the JSON property `state`
7623
+ # @return [String]
7624
+ attr_accessor :state
7625
+
7626
+ def initialize(**args)
7627
+ update!(**args)
7628
+ end
7629
+
7630
+ # Update properties of this object
7631
+ def update!(**args)
7632
+ @apply_time = args[:apply_time] if args.key?(:apply_time)
7633
+ @state = args[:state] if args.key?(:state)
7634
+ end
7635
+ end
7636
+
7131
7637
  # Represents a Kubernetes subject.
7132
7638
  class GoogleCloudSecuritycenterV2Subject
7133
7639
  include Google::Apis::Core::Hashable
@@ -8084,6 +8590,34 @@ module Google
8084
8590
  end
8085
8591
  end
8086
8592
 
8593
+ # Mute information about the finding, including whether the finding has a static
8594
+ # mute or any matching dynamic mute rules.
8595
+ class MuteInfo
8596
+ include Google::Apis::Core::Hashable
8597
+
8598
+ # The list of dynamic mute rules that currently match the finding.
8599
+ # Corresponds to the JSON property `dynamicMuteRecords`
8600
+ # @return [Array<Google::Apis::SecuritycenterV1beta1::DynamicMuteRecord>]
8601
+ attr_accessor :dynamic_mute_records
8602
+
8603
+ # Information about the static mute state. A static mute state overrides any
8604
+ # dynamic mute rules that apply to this finding. The static mute state can be
8605
+ # set by a static mute rule or by muting the finding directly.
8606
+ # Corresponds to the JSON property `staticMute`
8607
+ # @return [Google::Apis::SecuritycenterV1beta1::StaticMute]
8608
+ attr_accessor :static_mute
8609
+
8610
+ def initialize(**args)
8611
+ update!(**args)
8612
+ end
8613
+
8614
+ # Update properties of this object
8615
+ def update!(**args)
8616
+ @dynamic_mute_records = args[:dynamic_mute_records] if args.key?(:dynamic_mute_records)
8617
+ @static_mute = args[:static_mute] if args.key?(:static_mute)
8618
+ end
8619
+ end
8620
+
8087
8621
  # Kubernetes nodes associated with the finding.
8088
8622
  class Node
8089
8623
  include Google::Apis::Core::Hashable
@@ -9077,7 +9611,8 @@ module Google
9077
9611
  class SetFindingStateRequest
9078
9612
  include Google::Apis::Core::Hashable
9079
9613
 
9080
- # Required. The time at which the updated state takes effect.
9614
+ # Optional. The time at which the updated state takes effect. If not set uses
9615
+ # the current time.
9081
9616
  # Corresponds to the JSON property `startTime`
9082
9617
  # @return [String]
9083
9618
  attr_accessor :start_time
@@ -9193,6 +9728,34 @@ module Google
9193
9728
  end
9194
9729
  end
9195
9730
 
9731
+ # Information about the static mute state. A static mute state overrides any
9732
+ # dynamic mute rules that apply to this finding. The static mute state can be
9733
+ # set by a static mute rule or by muting the finding directly.
9734
+ class StaticMute
9735
+ include Google::Apis::Core::Hashable
9736
+
9737
+ # When the static mute was applied.
9738
+ # Corresponds to the JSON property `applyTime`
9739
+ # @return [String]
9740
+ attr_accessor :apply_time
9741
+
9742
+ # The static mute state. If the value is `MUTED` or `UNMUTED`, then the finding'
9743
+ # s overall mute state will have the same value.
9744
+ # Corresponds to the JSON property `state`
9745
+ # @return [String]
9746
+ attr_accessor :state
9747
+
9748
+ def initialize(**args)
9749
+ update!(**args)
9750
+ end
9751
+
9752
+ # Update properties of this object
9753
+ def update!(**args)
9754
+ @apply_time = args[:apply_time] if args.key?(:apply_time)
9755
+ @state = args[:state] if args.key?(:state)
9756
+ end
9757
+ end
9758
+
9196
9759
  # The `Status` type defines a logical error model that is suitable for different
9197
9760
  # programming environments, including REST APIs and RPC APIs. It is used by [
9198
9761
  # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of