google-apis-securitycenter_v1 0.82.0 → 0.84.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -383,8 +383,8 @@ module Google
383
383
  include Google::Apis::Core::Hashable
384
384
 
385
385
  # The resource name of the attack path simulation result that contains the
386
- # details regarding this attack exposure score. Example: organizations/123/
387
- # simulations/456/attackExposureResults/789
386
+ # details regarding this attack exposure score. Example: `organizations/123/
387
+ # simulations/456/attackExposureResults/789`
388
388
  # Corresponds to the JSON property `attackExposureResult`
389
389
  # @return [String]
390
390
  attr_accessor :attack_exposure_result
@@ -519,14 +519,14 @@ module Google
519
519
  attr_accessor :display_name
520
520
 
521
521
  # The name of the resource at this point in the attack path. The format of the
522
- # name follows the Cloud Asset Inventory [resource name format]("https://cloud.
523
- # google.com/asset-inventory/docs/resource-name-format")
522
+ # name follows the Cloud Asset Inventory [resource name format](https://cloud.
523
+ # google.com/asset-inventory/docs/resource-name-format)
524
524
  # Corresponds to the JSON property `resource`
525
525
  # @return [String]
526
526
  attr_accessor :resource
527
527
 
528
528
  # The [supported resource type](https://cloud.google.com/asset-inventory/docs/
529
- # supported-asset-types")
529
+ # supported-asset-types)
530
530
  # Corresponds to the JSON property `resourceType`
531
531
  # @return [String]
532
532
  attr_accessor :resource_type
@@ -779,6 +779,110 @@ module Google
779
779
  end
780
780
  end
781
781
 
782
+ # Represents an Azure management group.
783
+ class AzureManagementGroup
784
+ include Google::Apis::Core::Hashable
785
+
786
+ # The display name of the Azure management group.
787
+ # Corresponds to the JSON property `displayName`
788
+ # @return [String]
789
+ attr_accessor :display_name
790
+
791
+ # The UUID of the Azure management group, for example, `20000000-0001-0000-0000-
792
+ # 000000000000`.
793
+ # Corresponds to the JSON property `id`
794
+ # @return [String]
795
+ attr_accessor :id
796
+
797
+ def initialize(**args)
798
+ update!(**args)
799
+ end
800
+
801
+ # Update properties of this object
802
+ def update!(**args)
803
+ @display_name = args[:display_name] if args.key?(:display_name)
804
+ @id = args[:id] if args.key?(:id)
805
+ end
806
+ end
807
+
808
+ # Azure metadata associated with the resource, only applicable if the finding's
809
+ # cloud provider is Microsoft Azure.
810
+ class AzureMetadata
811
+ include Google::Apis::Core::Hashable
812
+
813
+ # A list of Azure management groups associated with the resource, ordered from
814
+ # lowest level (closest to the subscription) to highest level.
815
+ # Corresponds to the JSON property `managementGroups`
816
+ # @return [Array<Google::Apis::SecuritycenterV1::AzureManagementGroup>]
817
+ attr_accessor :management_groups
818
+
819
+ # Represents an Azure resource group.
820
+ # Corresponds to the JSON property `resourceGroup`
821
+ # @return [Google::Apis::SecuritycenterV1::AzureResourceGroup]
822
+ attr_accessor :resource_group
823
+
824
+ # Represents an Azure subscription.
825
+ # Corresponds to the JSON property `subscription`
826
+ # @return [Google::Apis::SecuritycenterV1::AzureSubscription]
827
+ attr_accessor :subscription
828
+
829
+ def initialize(**args)
830
+ update!(**args)
831
+ end
832
+
833
+ # Update properties of this object
834
+ def update!(**args)
835
+ @management_groups = args[:management_groups] if args.key?(:management_groups)
836
+ @resource_group = args[:resource_group] if args.key?(:resource_group)
837
+ @subscription = args[:subscription] if args.key?(:subscription)
838
+ end
839
+ end
840
+
841
+ # Represents an Azure resource group.
842
+ class AzureResourceGroup
843
+ include Google::Apis::Core::Hashable
844
+
845
+ # The name of the Azure resource group. This is not a UUID.
846
+ # Corresponds to the JSON property `name`
847
+ # @return [String]
848
+ attr_accessor :name
849
+
850
+ def initialize(**args)
851
+ update!(**args)
852
+ end
853
+
854
+ # Update properties of this object
855
+ def update!(**args)
856
+ @name = args[:name] if args.key?(:name)
857
+ end
858
+ end
859
+
860
+ # Represents an Azure subscription.
861
+ class AzureSubscription
862
+ include Google::Apis::Core::Hashable
863
+
864
+ # The display name of the Azure subscription.
865
+ # Corresponds to the JSON property `displayName`
866
+ # @return [String]
867
+ attr_accessor :display_name
868
+
869
+ # The UUID of the Azure subscription, for example, `291bba3f-e0a5-47bc-a099-
870
+ # 3bdcb2a50a05`.
871
+ # Corresponds to the JSON property `id`
872
+ # @return [String]
873
+ attr_accessor :id
874
+
875
+ def initialize(**args)
876
+ update!(**args)
877
+ end
878
+
879
+ # Update properties of this object
880
+ def update!(**args)
881
+ @display_name = args[:display_name] if args.key?(:display_name)
882
+ @id = args[:id] if args.key?(:id)
883
+ end
884
+ end
885
+
782
886
  # Information related to Google Cloud Backup and DR Service findings.
783
887
  class BackupDisasterRecovery
784
888
  include Google::Apis::Core::Hashable
@@ -1815,10 +1919,10 @@ module Google
1815
1919
  attr_accessor :enablement_state
1816
1920
 
1817
1921
  # Output only. The resource name of the effective ETD custom module. Its format
1818
- # is: * "organizations/`organization`/eventThreatDetectionSettings/
1819
- # effectiveCustomModules/`module`". * "folders/`folder`/
1820
- # eventThreatDetectionSettings/effectiveCustomModules/`module`". * "projects/`
1821
- # project`/eventThreatDetectionSettings/effectiveCustomModules/`module`".
1922
+ # is: * `organizations/`organization`/eventThreatDetectionSettings/
1923
+ # effectiveCustomModules/`module``. * `folders/`folder`/
1924
+ # eventThreatDetectionSettings/effectiveCustomModules/`module``. * `projects/`
1925
+ # project`/eventThreatDetectionSettings/effectiveCustomModules/`module``.
1822
1926
  # Corresponds to the JSON property `name`
1823
1927
  # @return [String]
1824
1928
  attr_accessor :name
@@ -1928,10 +2032,10 @@ module Google
1928
2032
  attr_accessor :last_editor
1929
2033
 
1930
2034
  # Immutable. The resource name of the Event Threat Detection custom module. Its
1931
- # format is: * "organizations/`organization`/eventThreatDetectionSettings/
1932
- # customModules/`module`". * "folders/`folder`/eventThreatDetectionSettings/
1933
- # customModules/`module`". * "projects/`project`/eventThreatDetectionSettings/
1934
- # customModules/`module`".
2035
+ # format is: * `organizations/`organization`/eventThreatDetectionSettings/
2036
+ # customModules/`module``. * `folders/`folder`/eventThreatDetectionSettings/
2037
+ # customModules/`module``. * `projects/`project`/eventThreatDetectionSettings/
2038
+ # customModules/`module``.
1935
2039
  # Corresponds to the JSON property `name`
1936
2040
  # @return [String]
1937
2041
  attr_accessor :name
@@ -2293,6 +2397,13 @@ module Google
2293
2397
  # @return [String]
2294
2398
  attr_accessor :finding_class
2295
2399
 
2400
+ # Contains details about groups of which this finding is a member. A group is a
2401
+ # collection of findings that are related in some way. This field cannot be
2402
+ # updated. Its value is ignored in all update requests.
2403
+ # Corresponds to the JSON property `groupMemberships`
2404
+ # @return [Array<Google::Apis::SecuritycenterV1::GroupMembership>]
2405
+ attr_accessor :group_memberships
2406
+
2296
2407
  # Represents IAM bindings associated with the finding.
2297
2408
  # Corresponds to the JSON property `iamBindings`
2298
2409
  # @return [Array<Google::Apis::SecuritycenterV1::IamBinding>]
@@ -2447,6 +2558,13 @@ module Google
2447
2558
  # @return [String]
2448
2559
  attr_accessor :state
2449
2560
 
2561
+ # Contains details about a group of security issues that, when the issues occur
2562
+ # together, represent a greater risk than when the issues occur independently. A
2563
+ # group of such issues is referred to as a toxic combination.
2564
+ # Corresponds to the JSON property `toxicCombination`
2565
+ # @return [Google::Apis::SecuritycenterV1::ToxicCombination]
2566
+ attr_accessor :toxic_combination
2567
+
2450
2568
  # Refers to common vulnerability fields e.g. cve, cvss, cwe etc.
2451
2569
  # Corresponds to the JSON property `vulnerability`
2452
2570
  # @return [Google::Apis::SecuritycenterV1::Vulnerability]
@@ -2480,6 +2598,7 @@ module Google
2480
2598
  @external_uri = args[:external_uri] if args.key?(:external_uri)
2481
2599
  @files = args[:files] if args.key?(:files)
2482
2600
  @finding_class = args[:finding_class] if args.key?(:finding_class)
2601
+ @group_memberships = args[:group_memberships] if args.key?(:group_memberships)
2483
2602
  @iam_bindings = args[:iam_bindings] if args.key?(:iam_bindings)
2484
2603
  @indicator = args[:indicator] if args.key?(:indicator)
2485
2604
  @kernel_rootkit = args[:kernel_rootkit] if args.key?(:kernel_rootkit)
@@ -2504,6 +2623,7 @@ module Google
2504
2623
  @severity = args[:severity] if args.key?(:severity)
2505
2624
  @source_properties = args[:source_properties] if args.key?(:source_properties)
2506
2625
  @state = args[:state] if args.key?(:state)
2626
+ @toxic_combination = args[:toxic_combination] if args.key?(:toxic_combination)
2507
2627
  @vulnerability = args[:vulnerability] if args.key?(:vulnerability)
2508
2628
  end
2509
2629
  end
@@ -3063,12 +3183,12 @@ module Google
3063
3183
  # @return [String]
3064
3184
  attr_accessor :most_recent_editor
3065
3185
 
3066
- # This field will be ignored if provided on config creation. Format "
3067
- # organizations/`organization`/muteConfigs/`mute_config`" "folders/`folder`/
3068
- # muteConfigs/`mute_config`" "projects/`project`/muteConfigs/`mute_config`" "
3069
- # organizations/`organization`/locations/global/muteConfigs/`mute_config`" "
3070
- # folders/`folder`/locations/global/muteConfigs/`mute_config`" "projects/`
3071
- # project`/locations/global/muteConfigs/`mute_config`"
3186
+ # This field will be ignored if provided on config creation. Format `
3187
+ # organizations/`organization`/muteConfigs/`mute_config`` `folders/`folder`/
3188
+ # muteConfigs/`mute_config`` `projects/`project`/muteConfigs/`mute_config`` `
3189
+ # organizations/`organization`/locations/global/muteConfigs/`mute_config`` `
3190
+ # folders/`folder`/locations/global/muteConfigs/`mute_config`` `projects/`
3191
+ # project`/locations/global/muteConfigs/`mute_config``
3072
3192
  # Corresponds to the JSON property `name`
3073
3193
  # @return [String]
3074
3194
  attr_accessor :name
@@ -3180,6 +3300,12 @@ module Google
3180
3300
  # @return [Google::Apis::SecuritycenterV1::AwsMetadata]
3181
3301
  attr_accessor :aws_metadata
3182
3302
 
3303
+ # Azure metadata associated with the resource, only applicable if the finding's
3304
+ # cloud provider is Microsoft Azure.
3305
+ # Corresponds to the JSON property `azureMetadata`
3306
+ # @return [Google::Apis::SecuritycenterV1::AzureMetadata]
3307
+ attr_accessor :azure_metadata
3308
+
3183
3309
  # Indicates which cloud provider the resource resides in.
3184
3310
  # Corresponds to the JSON property `cloudProvider`
3185
3311
  # @return [String]
@@ -3241,13 +3367,14 @@ module Google
3241
3367
  attr_accessor :resource_path
3242
3368
 
3243
3369
  # A string representation of the resource path. For Google Cloud, it has the
3244
- # format of organizations/`organization_id`/folders/`folder_id`/folders/`
3245
- # folder_id`/projects/`project_id` where there can be any number of folders. For
3246
- # AWS, it has the format of org/`organization_id`/ou/`organizational_unit_id`/ou/
3247
- # `organizational_unit_id`/account/`account_id` where there can be any number of
3248
- # organizational units. For Azure, it has the format of mg/`management_group_id`/
3249
- # mg/`management_group_id`/subscription/`subscription_id`/rg/`
3250
- # resource_group_name` where there can be any number of management groups.
3370
+ # format of `organizations/`organization_id`/folders/`folder_id`/folders/`
3371
+ # folder_id`/projects/`project_id`` where there can be any number of folders.
3372
+ # For AWS, it has the format of `org/`organization_id`/ou/`
3373
+ # organizational_unit_id`/ou/`organizational_unit_id`/account/`account_id``
3374
+ # where there can be any number of organizational units. For Azure, it has the
3375
+ # format of `mg/`management_group_id`/mg/`management_group_id`/subscription/`
3376
+ # subscription_id`/rg/`resource_group_name`` where there can be any number of
3377
+ # management groups.
3251
3378
  # Corresponds to the JSON property `resourcePathString`
3252
3379
  # @return [String]
3253
3380
  attr_accessor :resource_path_string
@@ -3270,6 +3397,7 @@ module Google
3270
3397
  # Update properties of this object
3271
3398
  def update!(**args)
3272
3399
  @aws_metadata = args[:aws_metadata] if args.key?(:aws_metadata)
3400
+ @azure_metadata = args[:azure_metadata] if args.key?(:azure_metadata)
3273
3401
  @cloud_provider = args[:cloud_provider] if args.key?(:cloud_provider)
3274
3402
  @display_name = args[:display_name] if args.key?(:display_name)
3275
3403
  @folders = args[:folders] if args.key?(:folders)
@@ -3331,18 +3459,18 @@ module Google
3331
3459
  # @return [String]
3332
3460
  attr_accessor :name
3333
3461
 
3334
- # List of resource labels to search for, evaluated with AND. For example, "
3335
- # resource_labels_selector": `"key": "value", "env": "prod"` will match
3336
- # resources with labels "key": "value" AND "env": "prod" https://cloud.google.
3462
+ # List of resource labels to search for, evaluated with `AND`. For example, `"
3463
+ # resource_labels_selector": `"key": "value", "env": "prod"`` will match
3464
+ # resources with labels "key": "value" `AND` "env": "prod" https://cloud.google.
3337
3465
  # com/resource-manager/docs/creating-managing-labels
3338
3466
  # Corresponds to the JSON property `resourceLabelsSelector`
3339
3467
  # @return [Hash<String,String>]
3340
3468
  attr_accessor :resource_labels_selector
3341
3469
 
3342
3470
  # Apply resource_value only to resources that match resource_type. resource_type
3343
- # will be checked with AND of other resources. For example, "storage.googleapis.
3344
- # com/Bucket" with resource_value "HIGH" will apply "HIGH" value only to "
3345
- # storage.googleapis.com/Bucket" resources.
3471
+ # will be checked with `AND` of other resources. For example, "storage.
3472
+ # googleapis.com/Bucket" with resource_value "HIGH" will apply "HIGH" value only
3473
+ # to "storage.googleapis.com/Bucket" resources.
3346
3474
  # Corresponds to the JSON property `resourceType`
3347
3475
  # @return [String]
3348
3476
  attr_accessor :resource_type
@@ -3354,7 +3482,7 @@ module Google
3354
3482
 
3355
3483
  # Project or folder to scope this configuration to. For example, "project/456"
3356
3484
  # would apply this configuration only to resources in "project/456" scope will
3357
- # be checked with AND of other resources.
3485
+ # be checked with `AND` of other resources.
3358
3486
  # Corresponds to the JSON property `scope`
3359
3487
  # @return [String]
3360
3488
  attr_accessor :scope
@@ -3366,9 +3494,10 @@ module Google
3366
3494
  # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV1SensitiveDataProtectionMapping]
3367
3495
  attr_accessor :sensitive_data_protection_mapping
3368
3496
 
3369
- # Required. Tag values combined with AND to check against. Values in the form "
3370
- # tagValues/123" Example: [ "tagValues/123", "tagValues/456", "tagValues/789" ]
3371
- # https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing
3497
+ # Required. Tag values combined with `AND` to check against. Values in the form "
3498
+ # tagValues/123" Example: `[ "tagValues/123", "tagValues/456", "tagValues/789" ]`
3499
+ # https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-
3500
+ # managing
3372
3501
  # Corresponds to the JSON property `tagValues`
3373
3502
  # @return [Array<String>]
3374
3503
  attr_accessor :tag_values
@@ -4102,8 +4231,8 @@ module Google
4102
4231
  include Google::Apis::Core::Hashable
4103
4232
 
4104
4233
  # The resource name of the attack path simulation result that contains the
4105
- # details regarding this attack exposure score. Example: organizations/123/
4106
- # simulations/456/attackExposureResults/789
4234
+ # details regarding this attack exposure score. Example: `organizations/123/
4235
+ # simulations/456/attackExposureResults/789`
4107
4236
  # Corresponds to the JSON property `attackExposureResult`
4108
4237
  # @return [String]
4109
4238
  attr_accessor :attack_exposure_result
@@ -4274,6 +4403,110 @@ module Google
4274
4403
  end
4275
4404
  end
4276
4405
 
4406
+ # Represents an Azure management group.
4407
+ class GoogleCloudSecuritycenterV2AzureManagementGroup
4408
+ include Google::Apis::Core::Hashable
4409
+
4410
+ # The display name of the Azure management group.
4411
+ # Corresponds to the JSON property `displayName`
4412
+ # @return [String]
4413
+ attr_accessor :display_name
4414
+
4415
+ # The UUID of the Azure management group, for example, `20000000-0001-0000-0000-
4416
+ # 000000000000`.
4417
+ # Corresponds to the JSON property `id`
4418
+ # @return [String]
4419
+ attr_accessor :id
4420
+
4421
+ def initialize(**args)
4422
+ update!(**args)
4423
+ end
4424
+
4425
+ # Update properties of this object
4426
+ def update!(**args)
4427
+ @display_name = args[:display_name] if args.key?(:display_name)
4428
+ @id = args[:id] if args.key?(:id)
4429
+ end
4430
+ end
4431
+
4432
+ # Azure metadata associated with the resource, only applicable if the finding's
4433
+ # cloud provider is Microsoft Azure.
4434
+ class GoogleCloudSecuritycenterV2AzureMetadata
4435
+ include Google::Apis::Core::Hashable
4436
+
4437
+ # A list of Azure management groups associated with the resource, ordered from
4438
+ # lowest level (closest to the subscription) to highest level.
4439
+ # Corresponds to the JSON property `managementGroups`
4440
+ # @return [Array<Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2AzureManagementGroup>]
4441
+ attr_accessor :management_groups
4442
+
4443
+ # Represents an Azure resource group.
4444
+ # Corresponds to the JSON property `resourceGroup`
4445
+ # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2AzureResourceGroup]
4446
+ attr_accessor :resource_group
4447
+
4448
+ # Represents an Azure subscription.
4449
+ # Corresponds to the JSON property `subscription`
4450
+ # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2AzureSubscription]
4451
+ attr_accessor :subscription
4452
+
4453
+ def initialize(**args)
4454
+ update!(**args)
4455
+ end
4456
+
4457
+ # Update properties of this object
4458
+ def update!(**args)
4459
+ @management_groups = args[:management_groups] if args.key?(:management_groups)
4460
+ @resource_group = args[:resource_group] if args.key?(:resource_group)
4461
+ @subscription = args[:subscription] if args.key?(:subscription)
4462
+ end
4463
+ end
4464
+
4465
+ # Represents an Azure resource group.
4466
+ class GoogleCloudSecuritycenterV2AzureResourceGroup
4467
+ include Google::Apis::Core::Hashable
4468
+
4469
+ # The name of the Azure resource group. This is not a UUID.
4470
+ # Corresponds to the JSON property `name`
4471
+ # @return [String]
4472
+ attr_accessor :name
4473
+
4474
+ def initialize(**args)
4475
+ update!(**args)
4476
+ end
4477
+
4478
+ # Update properties of this object
4479
+ def update!(**args)
4480
+ @name = args[:name] if args.key?(:name)
4481
+ end
4482
+ end
4483
+
4484
+ # Represents an Azure subscription.
4485
+ class GoogleCloudSecuritycenterV2AzureSubscription
4486
+ include Google::Apis::Core::Hashable
4487
+
4488
+ # The display name of the Azure subscription.
4489
+ # Corresponds to the JSON property `displayName`
4490
+ # @return [String]
4491
+ attr_accessor :display_name
4492
+
4493
+ # The UUID of the Azure subscription, for example, `291bba3f-e0a5-47bc-a099-
4494
+ # 3bdcb2a50a05`.
4495
+ # Corresponds to the JSON property `id`
4496
+ # @return [String]
4497
+ attr_accessor :id
4498
+
4499
+ def initialize(**args)
4500
+ update!(**args)
4501
+ end
4502
+
4503
+ # Update properties of this object
4504
+ def update!(**args)
4505
+ @display_name = args[:display_name] if args.key?(:display_name)
4506
+ @id = args[:id] if args.key?(:id)
4507
+ end
4508
+ end
4509
+
4277
4510
  # Information related to Google Cloud Backup and DR Service findings.
4278
4511
  class GoogleCloudSecuritycenterV2BackupDisasterRecovery
4279
4512
  include Google::Apis::Core::Hashable
@@ -4382,7 +4615,7 @@ module Google
4382
4615
  attr_accessor :create_time
4383
4616
 
4384
4617
  # The dataset to write findings' updates to. Its format is "projects/[project_id]
4385
- # /datasets/[bigquery_dataset_id]". BigQuery Dataset unique ID must contain only
4618
+ # /datasets/[bigquery_dataset_id]". BigQuery dataset unique ID must contain only
4386
4619
  # letters (a-z, A-Z), numbers (0-9), or underscores (_).
4387
4620
  # Corresponds to the JSON property `dataset`
4388
4621
  # @return [String]
@@ -4414,13 +4647,13 @@ module Google
4414
4647
  # @return [String]
4415
4648
  attr_accessor :most_recent_editor
4416
4649
 
4417
- # The relative resource name of this export. See: https://cloud.google.com/apis/
4418
- # design/resource_names#relative_resource_name. The following list shows some
4419
- # examples: + `organizations/`organization_id`/locations/`location_id`/
4420
- # bigQueryExports/`export_id`` + `folders/`folder_id`/locations/`location_id`/
4421
- # bigQueryExports/`export_id`` + `projects/`project_id`/locations/`location_id`/
4422
- # bigQueryExports/`export_id`` This field is provided in responses, and is
4423
- # ignored when provided in create requests.
4650
+ # Identifier. The relative resource name of this export. See: https://cloud.
4651
+ # google.com/apis/design/resource_names#relative_resource_name. The following
4652
+ # list shows some examples: + `organizations/`organization_id`/locations/`
4653
+ # location_id`/bigQueryExports/`export_id`` + `folders/`folder_id`/locations/`
4654
+ # location_id`/bigQueryExports/`export_id`` + `projects/`project_id`/locations/`
4655
+ # location_id`/bigQueryExports/`export_id`` This field is provided in responses,
4656
+ # and is ignored when provided in create requests.
4424
4657
  # Corresponds to the JSON property `name`
4425
4658
  # @return [String]
4426
4659
  attr_accessor :name
@@ -5485,6 +5718,13 @@ module Google
5485
5718
  # @return [String]
5486
5719
  attr_accessor :finding_class
5487
5720
 
5721
+ # Contains details about groups of which this finding is a member. A group is a
5722
+ # collection of findings that are related in some way. This field cannot be
5723
+ # updated. Its value is ignored in all update requests.
5724
+ # Corresponds to the JSON property `groupMemberships`
5725
+ # @return [Array<Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2GroupMembership>]
5726
+ attr_accessor :group_memberships
5727
+
5488
5728
  # Represents IAM bindings associated with the finding.
5489
5729
  # Corresponds to the JSON property `iamBindings`
5490
5730
  # @return [Array<Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2IamBinding>]
@@ -5648,6 +5888,13 @@ module Google
5648
5888
  # @return [String]
5649
5889
  attr_accessor :state
5650
5890
 
5891
+ # Contains details about a group of security issues that, when the issues occur
5892
+ # together, represent a greater risk than when the issues occur independently. A
5893
+ # group of such issues is referred to as a toxic combination.
5894
+ # Corresponds to the JSON property `toxicCombination`
5895
+ # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2ToxicCombination]
5896
+ attr_accessor :toxic_combination
5897
+
5651
5898
  # Refers to common vulnerability fields e.g. cve, cvss, cwe etc.
5652
5899
  # Corresponds to the JSON property `vulnerability`
5653
5900
  # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2Vulnerability]
@@ -5681,6 +5928,7 @@ module Google
5681
5928
  @external_uri = args[:external_uri] if args.key?(:external_uri)
5682
5929
  @files = args[:files] if args.key?(:files)
5683
5930
  @finding_class = args[:finding_class] if args.key?(:finding_class)
5931
+ @group_memberships = args[:group_memberships] if args.key?(:group_memberships)
5684
5932
  @iam_bindings = args[:iam_bindings] if args.key?(:iam_bindings)
5685
5933
  @indicator = args[:indicator] if args.key?(:indicator)
5686
5934
  @kernel_rootkit = args[:kernel_rootkit] if args.key?(:kernel_rootkit)
@@ -5705,6 +5953,7 @@ module Google
5705
5953
  @severity = args[:severity] if args.key?(:severity)
5706
5954
  @source_properties = args[:source_properties] if args.key?(:source_properties)
5707
5955
  @state = args[:state] if args.key?(:state)
5956
+ @toxic_combination = args[:toxic_combination] if args.key?(:toxic_combination)
5708
5957
  @vulnerability = args[:vulnerability] if args.key?(:vulnerability)
5709
5958
  end
5710
5959
  end
@@ -5754,6 +6003,32 @@ module Google
5754
6003
  end
5755
6004
  end
5756
6005
 
6006
+ # Contains details about groups of which this finding is a member. A group is a
6007
+ # collection of findings that are related in some way.
6008
+ class GoogleCloudSecuritycenterV2GroupMembership
6009
+ include Google::Apis::Core::Hashable
6010
+
6011
+ # ID of the group.
6012
+ # Corresponds to the JSON property `groupId`
6013
+ # @return [String]
6014
+ attr_accessor :group_id
6015
+
6016
+ # Type of group.
6017
+ # Corresponds to the JSON property `groupType`
6018
+ # @return [String]
6019
+ attr_accessor :group_type
6020
+
6021
+ def initialize(**args)
6022
+ update!(**args)
6023
+ end
6024
+
6025
+ # Update properties of this object
6026
+ def update!(**args)
6027
+ @group_id = args[:group_id] if args.key?(:group_id)
6028
+ @group_type = args[:group_type] if args.key?(:group_type)
6029
+ end
6030
+ end
6031
+
5757
6032
  # Represents a particular IAM binding, which captures a member's role addition,
5758
6033
  # removal, or state.
5759
6034
  class GoogleCloudSecuritycenterV2IamBinding
@@ -6156,13 +6431,13 @@ module Google
6156
6431
  # @return [String]
6157
6432
  attr_accessor :most_recent_editor
6158
6433
 
6159
- # This field will be ignored if provided on config creation. The following list
6160
- # shows some examples of the format: + `organizations/`organization`/muteConfigs/
6161
- # `mute_config`` + `organizations/`organization`locations/`location`//
6162
- # muteConfigs/`mute_config`` + `folders/`folder`/muteConfigs/`mute_config`` + `
6163
- # folders/`folder`/locations/`location`/muteConfigs/`mute_config`` + `projects/`
6164
- # project`/muteConfigs/`mute_config`` + `projects/`project`/locations/`location`/
6165
- # muteConfigs/`mute_config``
6434
+ # Identifier. This field will be ignored if provided on config creation. The
6435
+ # following list shows some examples of the format: + `organizations/`
6436
+ # organization`/muteConfigs/`mute_config`` + `organizations/`organization`
6437
+ # locations/`location`//muteConfigs/`mute_config`` + `folders/`folder`/
6438
+ # muteConfigs/`mute_config`` + `folders/`folder`/locations/`location`/
6439
+ # muteConfigs/`mute_config`` + `projects/`project`/muteConfigs/`mute_config`` + `
6440
+ # projects/`project`/locations/`location`/muteConfigs/`mute_config``
6166
6441
  # Corresponds to the JSON property `name`
6167
6442
  # @return [String]
6168
6443
  attr_accessor :name
@@ -6675,6 +6950,12 @@ module Google
6675
6950
  # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2AwsMetadata]
6676
6951
  attr_accessor :aws_metadata
6677
6952
 
6953
+ # Azure metadata associated with the resource, only applicable if the finding's
6954
+ # cloud provider is Microsoft Azure.
6955
+ # Corresponds to the JSON property `azureMetadata`
6956
+ # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2AzureMetadata]
6957
+ attr_accessor :azure_metadata
6958
+
6678
6959
  # Indicates which cloud provider the finding is from.
6679
6960
  # Corresponds to the JSON property `cloudProvider`
6680
6961
  # @return [String]
@@ -6709,13 +6990,14 @@ module Google
6709
6990
  attr_accessor :resource_path
6710
6991
 
6711
6992
  # A string representation of the resource path. For Google Cloud, it has the
6712
- # format of organizations/`organization_id`/folders/`folder_id`/folders/`
6713
- # folder_id`/projects/`project_id` where there can be any number of folders. For
6714
- # AWS, it has the format of org/`organization_id`/ou/`organizational_unit_id`/ou/
6715
- # `organizational_unit_id`/account/`account_id` where there can be any number of
6716
- # organizational units. For Azure, it has the format of mg/`management_group_id`/
6717
- # mg/`management_group_id`/subscription/`subscription_id`/rg/`
6718
- # resource_group_name` where there can be any number of management groups.
6993
+ # format of `organizations/`organization_id`/folders/`folder_id`/folders/`
6994
+ # folder_id`/projects/`project_id`` where there can be any number of folders.
6995
+ # For AWS, it has the format of `org/`organization_id`/ou/`
6996
+ # organizational_unit_id`/ou/`organizational_unit_id`/account/`account_id``
6997
+ # where there can be any number of organizational units. For Azure, it has the
6998
+ # format of `mg/`management_group_id`/mg/`management_group_id`/subscription/`
6999
+ # subscription_id`/rg/`resource_group_name`` where there can be any number of
7000
+ # management groups.
6719
7001
  # Corresponds to the JSON property `resourcePathString`
6720
7002
  # @return [String]
6721
7003
  attr_accessor :resource_path_string
@@ -6737,6 +7019,7 @@ module Google
6737
7019
  # Update properties of this object
6738
7020
  def update!(**args)
6739
7021
  @aws_metadata = args[:aws_metadata] if args.key?(:aws_metadata)
7022
+ @azure_metadata = args[:azure_metadata] if args.key?(:azure_metadata)
6740
7023
  @cloud_provider = args[:cloud_provider] if args.key?(:cloud_provider)
6741
7024
  @display_name = args[:display_name] if args.key?(:display_name)
6742
7025
  @gcp_metadata = args[:gcp_metadata] if args.key?(:gcp_metadata)
@@ -6822,36 +7105,36 @@ module Google
6822
7105
  # @return [String]
6823
7106
  attr_accessor :description
6824
7107
 
6825
- # Name for the resource value configuration
7108
+ # Identifier. Name for the resource value configuration
6826
7109
  # Corresponds to the JSON property `name`
6827
7110
  # @return [String]
6828
7111
  attr_accessor :name
6829
7112
 
6830
- # List of resource labels to search for, evaluated with AND. For example, "
7113
+ # List of resource labels to search for, evaluated with `AND`. For example, "
6831
7114
  # resource_labels_selector": `"key": "value", "env": "prod"` will match
6832
- # resources with labels "key": "value" AND "env": "prod" https://cloud.google.
7115
+ # resources with labels "key": "value" `AND` "env": "prod" https://cloud.google.
6833
7116
  # com/resource-manager/docs/creating-managing-labels
6834
7117
  # Corresponds to the JSON property `resourceLabelsSelector`
6835
7118
  # @return [Hash<String,String>]
6836
7119
  attr_accessor :resource_labels_selector
6837
7120
 
6838
7121
  # Apply resource_value only to resources that match resource_type. resource_type
6839
- # will be checked with AND of other resources. For example, "storage.googleapis.
6840
- # com/Bucket" with resource_value "HIGH" will apply "HIGH" value only to "
6841
- # storage.googleapis.com/Bucket" resources.
7122
+ # will be checked with `AND` of other resources. For example, "storage.
7123
+ # googleapis.com/Bucket" with resource_value "HIGH" will apply "HIGH" value only
7124
+ # to "storage.googleapis.com/Bucket" resources.
6842
7125
  # Corresponds to the JSON property `resourceType`
6843
7126
  # @return [String]
6844
7127
  attr_accessor :resource_type
6845
7128
 
6846
7129
  # Resource value level this expression represents Only required when there is no
6847
- # SDP mapping in the request
7130
+ # Sensitive Data Protection mapping in the request
6848
7131
  # Corresponds to the JSON property `resourceValue`
6849
7132
  # @return [String]
6850
7133
  attr_accessor :resource_value
6851
7134
 
6852
7135
  # Project or folder to scope this configuration to. For example, "project/456"
6853
- # would apply this configuration only to resources in "project/456" scope will
6854
- # be checked with AND of other resources.
7136
+ # would apply this configuration only to resources in "project/456" scope and
7137
+ # will be checked with `AND` of other resources.
6855
7138
  # Corresponds to the JSON property `scope`
6856
7139
  # @return [String]
6857
7140
  attr_accessor :scope
@@ -6863,9 +7146,9 @@ module Google
6863
7146
  # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2SensitiveDataProtectionMapping]
6864
7147
  attr_accessor :sensitive_data_protection_mapping
6865
7148
 
6866
- # Required. Tag values combined with AND to check against. Values in the form "
6867
- # tagValues/123" Example: [ "tagValues/123", "tagValues/456", "tagValues/789" ]
6868
- # https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing
7149
+ # Tag values combined with `AND` to check against. Values in the form "tagValues/
7150
+ # 123" Example: `[ "tagValues/123", "tagValues/456", "tagValues/789" ]` https://
7151
+ # cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing
6869
7152
  # Corresponds to the JSON property `tagValues`
6870
7153
  # @return [Array<String>]
6871
7154
  attr_accessor :tag_values
@@ -7256,6 +7539,37 @@ module Google
7256
7539
  end
7257
7540
  end
7258
7541
 
7542
+ # Contains details about a group of security issues that, when the issues occur
7543
+ # together, represent a greater risk than when the issues occur independently. A
7544
+ # group of such issues is referred to as a toxic combination.
7545
+ class GoogleCloudSecuritycenterV2ToxicCombination
7546
+ include Google::Apis::Core::Hashable
7547
+
7548
+ # The [Attack exposure score](https://cloud.google.com/security-command-center/
7549
+ # docs/attack-exposure-learn#attack_exposure_scores) of this toxic combination.
7550
+ # The score is a measure of how much this toxic combination exposes one or more
7551
+ # high-value resources to potential attack.
7552
+ # Corresponds to the JSON property `attackExposureScore`
7553
+ # @return [Float]
7554
+ attr_accessor :attack_exposure_score
7555
+
7556
+ # List of resource names of findings associated with this toxic combination. For
7557
+ # example, `organizations/123/sources/456/findings/789`.
7558
+ # Corresponds to the JSON property `relatedFindings`
7559
+ # @return [Array<String>]
7560
+ attr_accessor :related_findings
7561
+
7562
+ def initialize(**args)
7563
+ update!(**args)
7564
+ end
7565
+
7566
+ # Update properties of this object
7567
+ def update!(**args)
7568
+ @attack_exposure_score = args[:attack_exposure_score] if args.key?(:attack_exposure_score)
7569
+ @related_findings = args[:related_findings] if args.key?(:related_findings)
7570
+ end
7571
+ end
7572
+
7259
7573
  # Refers to common vulnerability fields e.g. cve, cvss, cwe etc.
7260
7574
  class GoogleCloudSecuritycenterV2Vulnerability
7261
7575
  include Google::Apis::Core::Hashable
@@ -7604,6 +7918,32 @@ module Google
7604
7918
  end
7605
7919
  end
7606
7920
 
7921
+ # Contains details about groups of which this finding is a member. A group is a
7922
+ # collection of findings that are related in some way.
7923
+ class GroupMembership
7924
+ include Google::Apis::Core::Hashable
7925
+
7926
+ # ID of the group.
7927
+ # Corresponds to the JSON property `groupId`
7928
+ # @return [String]
7929
+ attr_accessor :group_id
7930
+
7931
+ # Type of group.
7932
+ # Corresponds to the JSON property `groupType`
7933
+ # @return [String]
7934
+ attr_accessor :group_type
7935
+
7936
+ def initialize(**args)
7937
+ update!(**args)
7938
+ end
7939
+
7940
+ # Update properties of this object
7941
+ def update!(**args)
7942
+ @group_id = args[:group_id] if args.key?(:group_id)
7943
+ @group_type = args[:group_type] if args.key?(:group_type)
7944
+ end
7945
+ end
7946
+
7607
7947
  # Result containing the properties and count of a groupBy request.
7608
7948
  class GroupResult
7609
7949
  include Google::Apis::Core::Hashable
@@ -8871,8 +9211,8 @@ module Google
8871
9211
  class PathNodeAssociatedFinding
8872
9212
  include Google::Apis::Core::Hashable
8873
9213
 
8874
- # Canonical name of the associated findings. Example: organizations/123/sources/
8875
- # 456/findings/789
9214
+ # Canonical name of the associated findings. Example: `organizations/123/sources/
9215
+ # 456/findings/789`
8876
9216
  # Corresponds to the JSON property `canonicalFinding`
8877
9217
  # @return [String]
8878
9218
  attr_accessor :canonical_finding
@@ -9276,6 +9616,12 @@ module Google
9276
9616
  # @return [Google::Apis::SecuritycenterV1::AwsMetadata]
9277
9617
  attr_accessor :aws_metadata
9278
9618
 
9619
+ # Azure metadata associated with the resource, only applicable if the finding's
9620
+ # cloud provider is Microsoft Azure.
9621
+ # Corresponds to the JSON property `azureMetadata`
9622
+ # @return [Google::Apis::SecuritycenterV1::AzureMetadata]
9623
+ attr_accessor :azure_metadata
9624
+
9279
9625
  # Indicates which cloud provider the finding is from.
9280
9626
  # Corresponds to the JSON property `cloudProvider`
9281
9627
  # @return [String]
@@ -9336,13 +9682,13 @@ module Google
9336
9682
  attr_accessor :resource_path
9337
9683
 
9338
9684
  # A string representation of the resource path. For Google Cloud, it has the
9339
- # format of org/`organization_id`/folder/`folder_id`/folder/`folder_id`/project/`
9340
- # project_id` where there can be any number of folders. For AWS, it has the
9341
- # format of org/`organization_id`/ou/`organizational_unit_id`/ou/`
9342
- # organizational_unit_id`/account/`account_id` where there can be any number of
9343
- # organizational units. For Azure, it has the format of mg/`management_group_id`/
9344
- # mg/`management_group_id`/subscription/`subscription_id`/rg/`
9345
- # resource_group_name` where there can be any number of management groups.
9685
+ # format of `org/`organization_id`/folder/`folder_id`/folder/`folder_id`/project/
9686
+ # `project_id`` where there can be any number of folders. For AWS, it has the
9687
+ # format of `org/`organization_id`/ou/`organizational_unit_id`/ou/`
9688
+ # organizational_unit_id`/account/`account_id`` where there can be any number of
9689
+ # organizational units. For Azure, it has the format of `mg/`management_group_id`
9690
+ # /mg/`management_group_id`/subscription/`subscription_id`/rg/`
9691
+ # resource_group_name`` where there can be any number of management groups.
9346
9692
  # Corresponds to the JSON property `resourcePathString`
9347
9693
  # @return [String]
9348
9694
  attr_accessor :resource_path_string
@@ -9364,6 +9710,7 @@ module Google
9364
9710
  # Update properties of this object
9365
9711
  def update!(**args)
9366
9712
  @aws_metadata = args[:aws_metadata] if args.key?(:aws_metadata)
9713
+ @azure_metadata = args[:azure_metadata] if args.key?(:azure_metadata)
9367
9714
  @cloud_provider = args[:cloud_provider] if args.key?(:cloud_provider)
9368
9715
  @display_name = args[:display_name] if args.key?(:display_name)
9369
9716
  @folders = args[:folders] if args.key?(:folders)
@@ -10051,7 +10398,7 @@ module Google
10051
10398
  # @return [String]
10052
10399
  attr_accessor :create_time
10053
10400
 
10054
- # Full resource name of the Simulation: organizations/123/simulations/456
10401
+ # Full resource name of the Simulation: `organizations/123/simulations/456`
10055
10402
  # Corresponds to the JSON property `name`
10056
10403
  # @return [String]
10057
10404
  attr_accessor :name
@@ -10315,6 +10662,37 @@ module Google
10315
10662
  end
10316
10663
  end
10317
10664
 
10665
+ # Contains details about a group of security issues that, when the issues occur
10666
+ # together, represent a greater risk than when the issues occur independently. A
10667
+ # group of such issues is referred to as a toxic combination.
10668
+ class ToxicCombination
10669
+ include Google::Apis::Core::Hashable
10670
+
10671
+ # The [Attack exposure score](https://cloud.google.com/security-command-center/
10672
+ # docs/attack-exposure-learn#attack_exposure_scores) of this toxic combination.
10673
+ # The score is a measure of how much this toxic combination exposes one or more
10674
+ # high-value resources to potential attack.
10675
+ # Corresponds to the JSON property `attackExposureScore`
10676
+ # @return [Float]
10677
+ attr_accessor :attack_exposure_score
10678
+
10679
+ # List of resource names of findings associated with this toxic combination. For
10680
+ # example, `organizations/123/sources/456/findings/789`.
10681
+ # Corresponds to the JSON property `relatedFindings`
10682
+ # @return [Array<String>]
10683
+ attr_accessor :related_findings
10684
+
10685
+ def initialize(**args)
10686
+ update!(**args)
10687
+ end
10688
+
10689
+ # Update properties of this object
10690
+ def update!(**args)
10691
+ @attack_exposure_score = args[:attack_exposure_score] if args.key?(:attack_exposure_score)
10692
+ @related_findings = args[:related_findings] if args.key?(:related_findings)
10693
+ end
10694
+ end
10695
+
10318
10696
  # Request to validate an Event Threat Detection custom module.
10319
10697
  class ValidateEventThreatDetectionCustomModuleRequest
10320
10698
  include Google::Apis::Core::Hashable