google-apis-securitycenter_v1beta1 0.79.0 → 0.80.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.
@@ -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