google-apis-securitycenter_v1beta2 0.69.0 → 0.71.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -274,8 +274,8 @@ module Google
274
274
  include Google::Apis::Core::Hashable
275
275
 
276
276
  # The resource name of the attack path simulation result that contains the
277
- # details regarding this attack exposure score. Example: organizations/123/
278
- # simulations/456/attackExposureResults/789
277
+ # details regarding this attack exposure score. Example: `organizations/123/
278
+ # simulations/456/attackExposureResults/789`
279
279
  # Corresponds to the JSON property `attackExposureResult`
280
280
  # @return [String]
281
281
  attr_accessor :attack_exposure_result
@@ -446,6 +446,110 @@ module Google
446
446
  end
447
447
  end
448
448
 
449
+ # Represents an Azure management group.
450
+ class AzureManagementGroup
451
+ include Google::Apis::Core::Hashable
452
+
453
+ # The display name of the Azure management group.
454
+ # Corresponds to the JSON property `displayName`
455
+ # @return [String]
456
+ attr_accessor :display_name
457
+
458
+ # The UUID of the Azure management group, for example, `20000000-0001-0000-0000-
459
+ # 000000000000`.
460
+ # Corresponds to the JSON property `id`
461
+ # @return [String]
462
+ attr_accessor :id
463
+
464
+ def initialize(**args)
465
+ update!(**args)
466
+ end
467
+
468
+ # Update properties of this object
469
+ def update!(**args)
470
+ @display_name = args[:display_name] if args.key?(:display_name)
471
+ @id = args[:id] if args.key?(:id)
472
+ end
473
+ end
474
+
475
+ # Azure metadata associated with the resource, only applicable if the finding's
476
+ # cloud provider is Microsoft Azure.
477
+ class AzureMetadata
478
+ include Google::Apis::Core::Hashable
479
+
480
+ # A list of Azure management groups associated with the resource, ordered from
481
+ # lowest level (closest to the subscription) to highest level.
482
+ # Corresponds to the JSON property `managementGroups`
483
+ # @return [Array<Google::Apis::SecuritycenterV1beta2::AzureManagementGroup>]
484
+ attr_accessor :management_groups
485
+
486
+ # Represents an Azure resource group.
487
+ # Corresponds to the JSON property `resourceGroup`
488
+ # @return [Google::Apis::SecuritycenterV1beta2::AzureResourceGroup]
489
+ attr_accessor :resource_group
490
+
491
+ # Represents an Azure subscription.
492
+ # Corresponds to the JSON property `subscription`
493
+ # @return [Google::Apis::SecuritycenterV1beta2::AzureSubscription]
494
+ attr_accessor :subscription
495
+
496
+ def initialize(**args)
497
+ update!(**args)
498
+ end
499
+
500
+ # Update properties of this object
501
+ def update!(**args)
502
+ @management_groups = args[:management_groups] if args.key?(:management_groups)
503
+ @resource_group = args[:resource_group] if args.key?(:resource_group)
504
+ @subscription = args[:subscription] if args.key?(:subscription)
505
+ end
506
+ end
507
+
508
+ # Represents an Azure resource group.
509
+ class AzureResourceGroup
510
+ include Google::Apis::Core::Hashable
511
+
512
+ # The name of the Azure resource group. This is not a UUID.
513
+ # Corresponds to the JSON property `name`
514
+ # @return [String]
515
+ attr_accessor :name
516
+
517
+ def initialize(**args)
518
+ update!(**args)
519
+ end
520
+
521
+ # Update properties of this object
522
+ def update!(**args)
523
+ @name = args[:name] if args.key?(:name)
524
+ end
525
+ end
526
+
527
+ # Represents an Azure subscription.
528
+ class AzureSubscription
529
+ include Google::Apis::Core::Hashable
530
+
531
+ # The display name of the Azure subscription.
532
+ # Corresponds to the JSON property `displayName`
533
+ # @return [String]
534
+ attr_accessor :display_name
535
+
536
+ # The UUID of the Azure subscription, for example, `291bba3f-e0a5-47bc-a099-
537
+ # 3bdcb2a50a05`.
538
+ # Corresponds to the JSON property `id`
539
+ # @return [String]
540
+ attr_accessor :id
541
+
542
+ def initialize(**args)
543
+ update!(**args)
544
+ end
545
+
546
+ # Update properties of this object
547
+ def update!(**args)
548
+ @display_name = args[:display_name] if args.key?(:display_name)
549
+ @id = args[:id] if args.key?(:id)
550
+ end
551
+ end
552
+
449
553
  # Information related to Google Cloud Backup and DR Service findings.
450
554
  class BackupDisasterRecovery
451
555
  include Google::Apis::Core::Hashable
@@ -961,13 +1065,13 @@ module Google
961
1065
 
962
1066
  # The configurations including the state of enablement for the service's
963
1067
  # different modules. The absence of a module in the map implies its
964
- # configuration is inherited from its parent's.
1068
+ # configuration is inherited from its parent's configuration.
965
1069
  # Corresponds to the JSON property `modules`
966
1070
  # @return [Hash<String,Google::Apis::SecuritycenterV1beta2::Config>]
967
1071
  attr_accessor :modules
968
1072
 
969
- # The resource name of the ContainerThreatDetectionSettings. Formats: *
970
- # organizations/`organization`/containerThreatDetectionSettings * folders/`
1073
+ # Identifier. The resource name of the ContainerThreatDetectionSettings. Formats:
1074
+ # * organizations/`organization`/containerThreatDetectionSettings * folders/`
971
1075
  # folder`/containerThreatDetectionSettings * projects/`project`/
972
1076
  # containerThreatDetectionSettings * projects/`project`/locations/`location`/
973
1077
  # clusters/`cluster`/containerThreatDetectionSettings
@@ -1329,12 +1433,12 @@ module Google
1329
1433
 
1330
1434
  # The configurations including the state of enablement for the service's
1331
1435
  # different modules. The absence of a module in the map implies its
1332
- # configuration is inherited from its parent's.
1436
+ # configuration is inherited from its parent's configuration.
1333
1437
  # Corresponds to the JSON property `modules`
1334
1438
  # @return [Hash<String,Google::Apis::SecuritycenterV1beta2::Config>]
1335
1439
  attr_accessor :modules
1336
1440
 
1337
- # The resource name of the EventThreatDetectionSettings. Formats: *
1441
+ # Identifier. The resource name of the EventThreatDetectionSettings. Formats: *
1338
1442
  # organizations/`organization`/eventThreatDetectionSettings * folders/`folder`/
1339
1443
  # eventThreatDetectionSettings * projects/`project`/eventThreatDetectionSettings
1340
1444
  # Corresponds to the JSON property `name`
@@ -1694,6 +1798,13 @@ module Google
1694
1798
  # @return [String]
1695
1799
  attr_accessor :finding_class
1696
1800
 
1801
+ # Contains details about groups of which this finding is a member. A group is a
1802
+ # collection of findings that are related in some way. This field cannot be
1803
+ # updated. Its value is ignored in all update requests.
1804
+ # Corresponds to the JSON property `groupMemberships`
1805
+ # @return [Array<Google::Apis::SecuritycenterV1beta2::GroupMembership>]
1806
+ attr_accessor :group_memberships
1807
+
1697
1808
  # Represents IAM bindings associated with the finding.
1698
1809
  # Corresponds to the JSON property `iamBindings`
1699
1810
  # @return [Array<Google::Apis::SecuritycenterV1beta2::IamBinding>]
@@ -1848,6 +1959,13 @@ module Google
1848
1959
  # @return [String]
1849
1960
  attr_accessor :state
1850
1961
 
1962
+ # Contains details about a group of security issues that, when the issues occur
1963
+ # together, represent a greater risk than when the issues occur independently. A
1964
+ # group of such issues is referred to as a toxic combination.
1965
+ # Corresponds to the JSON property `toxicCombination`
1966
+ # @return [Google::Apis::SecuritycenterV1beta2::ToxicCombination]
1967
+ attr_accessor :toxic_combination
1968
+
1851
1969
  # Refers to common vulnerability fields e.g. cve, cvss, cwe etc.
1852
1970
  # Corresponds to the JSON property `vulnerability`
1853
1971
  # @return [Google::Apis::SecuritycenterV1beta2::Vulnerability]
@@ -1881,6 +1999,7 @@ module Google
1881
1999
  @external_uri = args[:external_uri] if args.key?(:external_uri)
1882
2000
  @files = args[:files] if args.key?(:files)
1883
2001
  @finding_class = args[:finding_class] if args.key?(:finding_class)
2002
+ @group_memberships = args[:group_memberships] if args.key?(:group_memberships)
1884
2003
  @iam_bindings = args[:iam_bindings] if args.key?(:iam_bindings)
1885
2004
  @indicator = args[:indicator] if args.key?(:indicator)
1886
2005
  @kernel_rootkit = args[:kernel_rootkit] if args.key?(:kernel_rootkit)
@@ -1905,6 +2024,7 @@ module Google
1905
2024
  @severity = args[:severity] if args.key?(:severity)
1906
2025
  @source_properties = args[:source_properties] if args.key?(:source_properties)
1907
2026
  @state = args[:state] if args.key?(:state)
2027
+ @toxic_combination = args[:toxic_combination] if args.key?(:toxic_combination)
1908
2028
  @vulnerability = args[:vulnerability] if args.key?(:vulnerability)
1909
2029
  end
1910
2030
  end
@@ -2417,12 +2537,12 @@ module Google
2417
2537
  # @return [String]
2418
2538
  attr_accessor :most_recent_editor
2419
2539
 
2420
- # This field will be ignored if provided on config creation. Format "
2421
- # organizations/`organization`/muteConfigs/`mute_config`" "folders/`folder`/
2422
- # muteConfigs/`mute_config`" "projects/`project`/muteConfigs/`mute_config`" "
2423
- # organizations/`organization`/locations/global/muteConfigs/`mute_config`" "
2424
- # folders/`folder`/locations/global/muteConfigs/`mute_config`" "projects/`
2425
- # project`/locations/global/muteConfigs/`mute_config`"
2540
+ # This field will be ignored if provided on config creation. Format `
2541
+ # organizations/`organization`/muteConfigs/`mute_config`` `folders/`folder`/
2542
+ # muteConfigs/`mute_config`` `projects/`project`/muteConfigs/`mute_config`` `
2543
+ # organizations/`organization`/locations/global/muteConfigs/`mute_config`` `
2544
+ # folders/`folder`/locations/global/muteConfigs/`mute_config`` `projects/`
2545
+ # project`/locations/global/muteConfigs/`mute_config``
2426
2546
  # Corresponds to the JSON property `name`
2427
2547
  # @return [String]
2428
2548
  attr_accessor :name
@@ -2534,6 +2654,12 @@ module Google
2534
2654
  # @return [Google::Apis::SecuritycenterV1beta2::AwsMetadata]
2535
2655
  attr_accessor :aws_metadata
2536
2656
 
2657
+ # Azure metadata associated with the resource, only applicable if the finding's
2658
+ # cloud provider is Microsoft Azure.
2659
+ # Corresponds to the JSON property `azureMetadata`
2660
+ # @return [Google::Apis::SecuritycenterV1beta2::AzureMetadata]
2661
+ attr_accessor :azure_metadata
2662
+
2537
2663
  # Indicates which cloud provider the resource resides in.
2538
2664
  # Corresponds to the JSON property `cloudProvider`
2539
2665
  # @return [String]
@@ -2595,13 +2721,14 @@ module Google
2595
2721
  attr_accessor :resource_path
2596
2722
 
2597
2723
  # A string representation of the resource path. For Google Cloud, it has the
2598
- # format of organizations/`organization_id`/folders/`folder_id`/folders/`
2599
- # folder_id`/projects/`project_id` where there can be any number of folders. For
2600
- # AWS, it has the format of org/`organization_id`/ou/`organizational_unit_id`/ou/
2601
- # `organizational_unit_id`/account/`account_id` where there can be any number of
2602
- # organizational units. For Azure, it has the format of mg/`management_group_id`/
2603
- # mg/`management_group_id`/subscription/`subscription_id`/rg/`
2604
- # resource_group_name` where there can be any number of management groups.
2724
+ # format of `organizations/`organization_id`/folders/`folder_id`/folders/`
2725
+ # folder_id`/projects/`project_id`` where there can be any number of folders.
2726
+ # For AWS, it has the format of `org/`organization_id`/ou/`
2727
+ # organizational_unit_id`/ou/`organizational_unit_id`/account/`account_id``
2728
+ # where there can be any number of organizational units. For Azure, it has the
2729
+ # format of `mg/`management_group_id`/mg/`management_group_id`/subscription/`
2730
+ # subscription_id`/rg/`resource_group_name`` where there can be any number of
2731
+ # management groups.
2605
2732
  # Corresponds to the JSON property `resourcePathString`
2606
2733
  # @return [String]
2607
2734
  attr_accessor :resource_path_string
@@ -2624,6 +2751,7 @@ module Google
2624
2751
  # Update properties of this object
2625
2752
  def update!(**args)
2626
2753
  @aws_metadata = args[:aws_metadata] if args.key?(:aws_metadata)
2754
+ @azure_metadata = args[:azure_metadata] if args.key?(:azure_metadata)
2627
2755
  @cloud_provider = args[:cloud_provider] if args.key?(:cloud_provider)
2628
2756
  @display_name = args[:display_name] if args.key?(:display_name)
2629
2757
  @folders = args[:folders] if args.key?(:folders)
@@ -2685,18 +2813,18 @@ module Google
2685
2813
  # @return [String]
2686
2814
  attr_accessor :name
2687
2815
 
2688
- # List of resource labels to search for, evaluated with AND. For example, "
2689
- # resource_labels_selector": `"key": "value", "env": "prod"` will match
2690
- # resources with labels "key": "value" AND "env": "prod" https://cloud.google.
2816
+ # List of resource labels to search for, evaluated with `AND`. For example, `"
2817
+ # resource_labels_selector": `"key": "value", "env": "prod"`` will match
2818
+ # resources with labels "key": "value" `AND` "env": "prod" https://cloud.google.
2691
2819
  # com/resource-manager/docs/creating-managing-labels
2692
2820
  # Corresponds to the JSON property `resourceLabelsSelector`
2693
2821
  # @return [Hash<String,String>]
2694
2822
  attr_accessor :resource_labels_selector
2695
2823
 
2696
2824
  # Apply resource_value only to resources that match resource_type. resource_type
2697
- # will be checked with AND of other resources. For example, "storage.googleapis.
2698
- # com/Bucket" with resource_value "HIGH" will apply "HIGH" value only to "
2699
- # storage.googleapis.com/Bucket" resources.
2825
+ # will be checked with `AND` of other resources. For example, "storage.
2826
+ # googleapis.com/Bucket" with resource_value "HIGH" will apply "HIGH" value only
2827
+ # to "storage.googleapis.com/Bucket" resources.
2700
2828
  # Corresponds to the JSON property `resourceType`
2701
2829
  # @return [String]
2702
2830
  attr_accessor :resource_type
@@ -2708,7 +2836,7 @@ module Google
2708
2836
 
2709
2837
  # Project or folder to scope this configuration to. For example, "project/456"
2710
2838
  # would apply this configuration only to resources in "project/456" scope will
2711
- # be checked with AND of other resources.
2839
+ # be checked with `AND` of other resources.
2712
2840
  # Corresponds to the JSON property `scope`
2713
2841
  # @return [String]
2714
2842
  attr_accessor :scope
@@ -2720,9 +2848,10 @@ module Google
2720
2848
  # @return [Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV1SensitiveDataProtectionMapping]
2721
2849
  attr_accessor :sensitive_data_protection_mapping
2722
2850
 
2723
- # Required. Tag values combined with AND to check against. Values in the form "
2724
- # tagValues/123" Example: [ "tagValues/123", "tagValues/456", "tagValues/789" ]
2725
- # https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing
2851
+ # Required. Tag values combined with `AND` to check against. Values in the form "
2852
+ # tagValues/123" Example: `[ "tagValues/123", "tagValues/456", "tagValues/789" ]`
2853
+ # https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-
2854
+ # managing
2726
2855
  # Corresponds to the JSON property `tagValues`
2727
2856
  # @return [Array<String>]
2728
2857
  attr_accessor :tag_values
@@ -3456,8 +3585,8 @@ module Google
3456
3585
  include Google::Apis::Core::Hashable
3457
3586
 
3458
3587
  # The resource name of the attack path simulation result that contains the
3459
- # details regarding this attack exposure score. Example: organizations/123/
3460
- # simulations/456/attackExposureResults/789
3588
+ # details regarding this attack exposure score. Example: `organizations/123/
3589
+ # simulations/456/attackExposureResults/789`
3461
3590
  # Corresponds to the JSON property `attackExposureResult`
3462
3591
  # @return [String]
3463
3592
  attr_accessor :attack_exposure_result
@@ -3628,6 +3757,110 @@ module Google
3628
3757
  end
3629
3758
  end
3630
3759
 
3760
+ # Represents an Azure management group.
3761
+ class GoogleCloudSecuritycenterV2AzureManagementGroup
3762
+ include Google::Apis::Core::Hashable
3763
+
3764
+ # The display name of the Azure management group.
3765
+ # Corresponds to the JSON property `displayName`
3766
+ # @return [String]
3767
+ attr_accessor :display_name
3768
+
3769
+ # The UUID of the Azure management group, for example, `20000000-0001-0000-0000-
3770
+ # 000000000000`.
3771
+ # Corresponds to the JSON property `id`
3772
+ # @return [String]
3773
+ attr_accessor :id
3774
+
3775
+ def initialize(**args)
3776
+ update!(**args)
3777
+ end
3778
+
3779
+ # Update properties of this object
3780
+ def update!(**args)
3781
+ @display_name = args[:display_name] if args.key?(:display_name)
3782
+ @id = args[:id] if args.key?(:id)
3783
+ end
3784
+ end
3785
+
3786
+ # Azure metadata associated with the resource, only applicable if the finding's
3787
+ # cloud provider is Microsoft Azure.
3788
+ class GoogleCloudSecuritycenterV2AzureMetadata
3789
+ include Google::Apis::Core::Hashable
3790
+
3791
+ # A list of Azure management groups associated with the resource, ordered from
3792
+ # lowest level (closest to the subscription) to highest level.
3793
+ # Corresponds to the JSON property `managementGroups`
3794
+ # @return [Array<Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2AzureManagementGroup>]
3795
+ attr_accessor :management_groups
3796
+
3797
+ # Represents an Azure resource group.
3798
+ # Corresponds to the JSON property `resourceGroup`
3799
+ # @return [Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2AzureResourceGroup]
3800
+ attr_accessor :resource_group
3801
+
3802
+ # Represents an Azure subscription.
3803
+ # Corresponds to the JSON property `subscription`
3804
+ # @return [Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2AzureSubscription]
3805
+ attr_accessor :subscription
3806
+
3807
+ def initialize(**args)
3808
+ update!(**args)
3809
+ end
3810
+
3811
+ # Update properties of this object
3812
+ def update!(**args)
3813
+ @management_groups = args[:management_groups] if args.key?(:management_groups)
3814
+ @resource_group = args[:resource_group] if args.key?(:resource_group)
3815
+ @subscription = args[:subscription] if args.key?(:subscription)
3816
+ end
3817
+ end
3818
+
3819
+ # Represents an Azure resource group.
3820
+ class GoogleCloudSecuritycenterV2AzureResourceGroup
3821
+ include Google::Apis::Core::Hashable
3822
+
3823
+ # The name of the Azure resource group. This is not a UUID.
3824
+ # Corresponds to the JSON property `name`
3825
+ # @return [String]
3826
+ attr_accessor :name
3827
+
3828
+ def initialize(**args)
3829
+ update!(**args)
3830
+ end
3831
+
3832
+ # Update properties of this object
3833
+ def update!(**args)
3834
+ @name = args[:name] if args.key?(:name)
3835
+ end
3836
+ end
3837
+
3838
+ # Represents an Azure subscription.
3839
+ class GoogleCloudSecuritycenterV2AzureSubscription
3840
+ include Google::Apis::Core::Hashable
3841
+
3842
+ # The display name of the Azure subscription.
3843
+ # Corresponds to the JSON property `displayName`
3844
+ # @return [String]
3845
+ attr_accessor :display_name
3846
+
3847
+ # The UUID of the Azure subscription, for example, `291bba3f-e0a5-47bc-a099-
3848
+ # 3bdcb2a50a05`.
3849
+ # Corresponds to the JSON property `id`
3850
+ # @return [String]
3851
+ attr_accessor :id
3852
+
3853
+ def initialize(**args)
3854
+ update!(**args)
3855
+ end
3856
+
3857
+ # Update properties of this object
3858
+ def update!(**args)
3859
+ @display_name = args[:display_name] if args.key?(:display_name)
3860
+ @id = args[:id] if args.key?(:id)
3861
+ end
3862
+ end
3863
+
3631
3864
  # Information related to Google Cloud Backup and DR Service findings.
3632
3865
  class GoogleCloudSecuritycenterV2BackupDisasterRecovery
3633
3866
  include Google::Apis::Core::Hashable
@@ -3736,7 +3969,7 @@ module Google
3736
3969
  attr_accessor :create_time
3737
3970
 
3738
3971
  # The dataset to write findings' updates to. Its format is "projects/[project_id]
3739
- # /datasets/[bigquery_dataset_id]". BigQuery Dataset unique ID must contain only
3972
+ # /datasets/[bigquery_dataset_id]". BigQuery dataset unique ID must contain only
3740
3973
  # letters (a-z, A-Z), numbers (0-9), or underscores (_).
3741
3974
  # Corresponds to the JSON property `dataset`
3742
3975
  # @return [String]
@@ -3768,13 +4001,13 @@ module Google
3768
4001
  # @return [String]
3769
4002
  attr_accessor :most_recent_editor
3770
4003
 
3771
- # The relative resource name of this export. See: https://cloud.google.com/apis/
3772
- # design/resource_names#relative_resource_name. The following list shows some
3773
- # examples: + `organizations/`organization_id`/locations/`location_id`/
3774
- # bigQueryExports/`export_id`` + `folders/`folder_id`/locations/`location_id`/
3775
- # bigQueryExports/`export_id`` + `projects/`project_id`/locations/`location_id`/
3776
- # bigQueryExports/`export_id`` This field is provided in responses, and is
3777
- # ignored when provided in create requests.
4004
+ # Identifier. The relative resource name of this export. See: https://cloud.
4005
+ # google.com/apis/design/resource_names#relative_resource_name. The following
4006
+ # list shows some examples: + `organizations/`organization_id`/locations/`
4007
+ # location_id`/bigQueryExports/`export_id`` + `folders/`folder_id`/locations/`
4008
+ # location_id`/bigQueryExports/`export_id`` + `projects/`project_id`/locations/`
4009
+ # location_id`/bigQueryExports/`export_id`` This field is provided in responses,
4010
+ # and is ignored when provided in create requests.
3778
4011
  # Corresponds to the JSON property `name`
3779
4012
  # @return [String]
3780
4013
  attr_accessor :name
@@ -4839,6 +5072,13 @@ module Google
4839
5072
  # @return [String]
4840
5073
  attr_accessor :finding_class
4841
5074
 
5075
+ # Contains details about groups of which this finding is a member. A group is a
5076
+ # collection of findings that are related in some way. This field cannot be
5077
+ # updated. Its value is ignored in all update requests.
5078
+ # Corresponds to the JSON property `groupMemberships`
5079
+ # @return [Array<Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2GroupMembership>]
5080
+ attr_accessor :group_memberships
5081
+
4842
5082
  # Represents IAM bindings associated with the finding.
4843
5083
  # Corresponds to the JSON property `iamBindings`
4844
5084
  # @return [Array<Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2IamBinding>]
@@ -5002,6 +5242,13 @@ module Google
5002
5242
  # @return [String]
5003
5243
  attr_accessor :state
5004
5244
 
5245
+ # Contains details about a group of security issues that, when the issues occur
5246
+ # together, represent a greater risk than when the issues occur independently. A
5247
+ # group of such issues is referred to as a toxic combination.
5248
+ # Corresponds to the JSON property `toxicCombination`
5249
+ # @return [Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2ToxicCombination]
5250
+ attr_accessor :toxic_combination
5251
+
5005
5252
  # Refers to common vulnerability fields e.g. cve, cvss, cwe etc.
5006
5253
  # Corresponds to the JSON property `vulnerability`
5007
5254
  # @return [Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2Vulnerability]
@@ -5035,6 +5282,7 @@ module Google
5035
5282
  @external_uri = args[:external_uri] if args.key?(:external_uri)
5036
5283
  @files = args[:files] if args.key?(:files)
5037
5284
  @finding_class = args[:finding_class] if args.key?(:finding_class)
5285
+ @group_memberships = args[:group_memberships] if args.key?(:group_memberships)
5038
5286
  @iam_bindings = args[:iam_bindings] if args.key?(:iam_bindings)
5039
5287
  @indicator = args[:indicator] if args.key?(:indicator)
5040
5288
  @kernel_rootkit = args[:kernel_rootkit] if args.key?(:kernel_rootkit)
@@ -5059,6 +5307,7 @@ module Google
5059
5307
  @severity = args[:severity] if args.key?(:severity)
5060
5308
  @source_properties = args[:source_properties] if args.key?(:source_properties)
5061
5309
  @state = args[:state] if args.key?(:state)
5310
+ @toxic_combination = args[:toxic_combination] if args.key?(:toxic_combination)
5062
5311
  @vulnerability = args[:vulnerability] if args.key?(:vulnerability)
5063
5312
  end
5064
5313
  end
@@ -5108,6 +5357,32 @@ module Google
5108
5357
  end
5109
5358
  end
5110
5359
 
5360
+ # Contains details about groups of which this finding is a member. A group is a
5361
+ # collection of findings that are related in some way.
5362
+ class GoogleCloudSecuritycenterV2GroupMembership
5363
+ include Google::Apis::Core::Hashable
5364
+
5365
+ # ID of the group.
5366
+ # Corresponds to the JSON property `groupId`
5367
+ # @return [String]
5368
+ attr_accessor :group_id
5369
+
5370
+ # Type of group.
5371
+ # Corresponds to the JSON property `groupType`
5372
+ # @return [String]
5373
+ attr_accessor :group_type
5374
+
5375
+ def initialize(**args)
5376
+ update!(**args)
5377
+ end
5378
+
5379
+ # Update properties of this object
5380
+ def update!(**args)
5381
+ @group_id = args[:group_id] if args.key?(:group_id)
5382
+ @group_type = args[:group_type] if args.key?(:group_type)
5383
+ end
5384
+ end
5385
+
5111
5386
  # Represents a particular IAM binding, which captures a member's role addition,
5112
5387
  # removal, or state.
5113
5388
  class GoogleCloudSecuritycenterV2IamBinding
@@ -5510,13 +5785,13 @@ module Google
5510
5785
  # @return [String]
5511
5786
  attr_accessor :most_recent_editor
5512
5787
 
5513
- # This field will be ignored if provided on config creation. The following list
5514
- # shows some examples of the format: + `organizations/`organization`/muteConfigs/
5515
- # `mute_config`` + `organizations/`organization`locations/`location`//
5516
- # muteConfigs/`mute_config`` + `folders/`folder`/muteConfigs/`mute_config`` + `
5517
- # folders/`folder`/locations/`location`/muteConfigs/`mute_config`` + `projects/`
5518
- # project`/muteConfigs/`mute_config`` + `projects/`project`/locations/`location`/
5519
- # muteConfigs/`mute_config``
5788
+ # Identifier. This field will be ignored if provided on config creation. The
5789
+ # following list shows some examples of the format: + `organizations/`
5790
+ # organization`/muteConfigs/`mute_config`` + `organizations/`organization`
5791
+ # locations/`location`//muteConfigs/`mute_config`` + `folders/`folder`/
5792
+ # muteConfigs/`mute_config`` + `folders/`folder`/locations/`location`/
5793
+ # muteConfigs/`mute_config`` + `projects/`project`/muteConfigs/`mute_config`` + `
5794
+ # projects/`project`/locations/`location`/muteConfigs/`mute_config``
5520
5795
  # Corresponds to the JSON property `name`
5521
5796
  # @return [String]
5522
5797
  attr_accessor :name
@@ -6029,6 +6304,12 @@ module Google
6029
6304
  # @return [Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2AwsMetadata]
6030
6305
  attr_accessor :aws_metadata
6031
6306
 
6307
+ # Azure metadata associated with the resource, only applicable if the finding's
6308
+ # cloud provider is Microsoft Azure.
6309
+ # Corresponds to the JSON property `azureMetadata`
6310
+ # @return [Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2AzureMetadata]
6311
+ attr_accessor :azure_metadata
6312
+
6032
6313
  # Indicates which cloud provider the finding is from.
6033
6314
  # Corresponds to the JSON property `cloudProvider`
6034
6315
  # @return [String]
@@ -6063,13 +6344,14 @@ module Google
6063
6344
  attr_accessor :resource_path
6064
6345
 
6065
6346
  # A string representation of the resource path. For Google Cloud, it has the
6066
- # format of organizations/`organization_id`/folders/`folder_id`/folders/`
6067
- # folder_id`/projects/`project_id` where there can be any number of folders. For
6068
- # AWS, it has the format of org/`organization_id`/ou/`organizational_unit_id`/ou/
6069
- # `organizational_unit_id`/account/`account_id` where there can be any number of
6070
- # organizational units. For Azure, it has the format of mg/`management_group_id`/
6071
- # mg/`management_group_id`/subscription/`subscription_id`/rg/`
6072
- # resource_group_name` where there can be any number of management groups.
6347
+ # format of `organizations/`organization_id`/folders/`folder_id`/folders/`
6348
+ # folder_id`/projects/`project_id`` where there can be any number of folders.
6349
+ # For AWS, it has the format of `org/`organization_id`/ou/`
6350
+ # organizational_unit_id`/ou/`organizational_unit_id`/account/`account_id``
6351
+ # where there can be any number of organizational units. For Azure, it has the
6352
+ # format of `mg/`management_group_id`/mg/`management_group_id`/subscription/`
6353
+ # subscription_id`/rg/`resource_group_name`` where there can be any number of
6354
+ # management groups.
6073
6355
  # Corresponds to the JSON property `resourcePathString`
6074
6356
  # @return [String]
6075
6357
  attr_accessor :resource_path_string
@@ -6091,6 +6373,7 @@ module Google
6091
6373
  # Update properties of this object
6092
6374
  def update!(**args)
6093
6375
  @aws_metadata = args[:aws_metadata] if args.key?(:aws_metadata)
6376
+ @azure_metadata = args[:azure_metadata] if args.key?(:azure_metadata)
6094
6377
  @cloud_provider = args[:cloud_provider] if args.key?(:cloud_provider)
6095
6378
  @display_name = args[:display_name] if args.key?(:display_name)
6096
6379
  @gcp_metadata = args[:gcp_metadata] if args.key?(:gcp_metadata)
@@ -6176,36 +6459,36 @@ module Google
6176
6459
  # @return [String]
6177
6460
  attr_accessor :description
6178
6461
 
6179
- # Name for the resource value configuration
6462
+ # Identifier. Name for the resource value configuration
6180
6463
  # Corresponds to the JSON property `name`
6181
6464
  # @return [String]
6182
6465
  attr_accessor :name
6183
6466
 
6184
- # List of resource labels to search for, evaluated with AND. For example, "
6467
+ # List of resource labels to search for, evaluated with `AND`. For example, "
6185
6468
  # resource_labels_selector": `"key": "value", "env": "prod"` will match
6186
- # resources with labels "key": "value" AND "env": "prod" https://cloud.google.
6469
+ # resources with labels "key": "value" `AND` "env": "prod" https://cloud.google.
6187
6470
  # com/resource-manager/docs/creating-managing-labels
6188
6471
  # Corresponds to the JSON property `resourceLabelsSelector`
6189
6472
  # @return [Hash<String,String>]
6190
6473
  attr_accessor :resource_labels_selector
6191
6474
 
6192
6475
  # Apply resource_value only to resources that match resource_type. resource_type
6193
- # will be checked with AND of other resources. For example, "storage.googleapis.
6194
- # com/Bucket" with resource_value "HIGH" will apply "HIGH" value only to "
6195
- # storage.googleapis.com/Bucket" resources.
6476
+ # will be checked with `AND` of other resources. For example, "storage.
6477
+ # googleapis.com/Bucket" with resource_value "HIGH" will apply "HIGH" value only
6478
+ # to "storage.googleapis.com/Bucket" resources.
6196
6479
  # Corresponds to the JSON property `resourceType`
6197
6480
  # @return [String]
6198
6481
  attr_accessor :resource_type
6199
6482
 
6200
6483
  # Resource value level this expression represents Only required when there is no
6201
- # SDP mapping in the request
6484
+ # Sensitive Data Protection mapping in the request
6202
6485
  # Corresponds to the JSON property `resourceValue`
6203
6486
  # @return [String]
6204
6487
  attr_accessor :resource_value
6205
6488
 
6206
6489
  # Project or folder to scope this configuration to. For example, "project/456"
6207
- # would apply this configuration only to resources in "project/456" scope will
6208
- # be checked with AND of other resources.
6490
+ # would apply this configuration only to resources in "project/456" scope and
6491
+ # will be checked with `AND` of other resources.
6209
6492
  # Corresponds to the JSON property `scope`
6210
6493
  # @return [String]
6211
6494
  attr_accessor :scope
@@ -6217,9 +6500,9 @@ module Google
6217
6500
  # @return [Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2SensitiveDataProtectionMapping]
6218
6501
  attr_accessor :sensitive_data_protection_mapping
6219
6502
 
6220
- # Required. Tag values combined with AND to check against. Values in the form "
6221
- # tagValues/123" Example: [ "tagValues/123", "tagValues/456", "tagValues/789" ]
6222
- # https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing
6503
+ # Tag values combined with `AND` to check against. Values in the form "tagValues/
6504
+ # 123" Example: `[ "tagValues/123", "tagValues/456", "tagValues/789" ]` https://
6505
+ # cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing
6223
6506
  # Corresponds to the JSON property `tagValues`
6224
6507
  # @return [Array<String>]
6225
6508
  attr_accessor :tag_values
@@ -6610,6 +6893,37 @@ module Google
6610
6893
  end
6611
6894
  end
6612
6895
 
6896
+ # Contains details about a group of security issues that, when the issues occur
6897
+ # together, represent a greater risk than when the issues occur independently. A
6898
+ # group of such issues is referred to as a toxic combination.
6899
+ class GoogleCloudSecuritycenterV2ToxicCombination
6900
+ include Google::Apis::Core::Hashable
6901
+
6902
+ # The [Attack exposure score](https://cloud.google.com/security-command-center/
6903
+ # docs/attack-exposure-learn#attack_exposure_scores) of this toxic combination.
6904
+ # The score is a measure of how much this toxic combination exposes one or more
6905
+ # high-value resources to potential attack.
6906
+ # Corresponds to the JSON property `attackExposureScore`
6907
+ # @return [Float]
6908
+ attr_accessor :attack_exposure_score
6909
+
6910
+ # List of resource names of findings associated with this toxic combination. For
6911
+ # example, `organizations/123/sources/456/findings/789`.
6912
+ # Corresponds to the JSON property `relatedFindings`
6913
+ # @return [Array<String>]
6914
+ attr_accessor :related_findings
6915
+
6916
+ def initialize(**args)
6917
+ update!(**args)
6918
+ end
6919
+
6920
+ # Update properties of this object
6921
+ def update!(**args)
6922
+ @attack_exposure_score = args[:attack_exposure_score] if args.key?(:attack_exposure_score)
6923
+ @related_findings = args[:related_findings] if args.key?(:related_findings)
6924
+ end
6925
+ end
6926
+
6613
6927
  # Refers to common vulnerability fields e.g. cve, cvss, cwe etc.
6614
6928
  class GoogleCloudSecuritycenterV2Vulnerability
6615
6929
  include Google::Apis::Core::Hashable
@@ -6668,6 +6982,32 @@ module Google
6668
6982
  end
6669
6983
  end
6670
6984
 
6985
+ # Contains details about groups of which this finding is a member. A group is a
6986
+ # collection of findings that are related in some way.
6987
+ class GroupMembership
6988
+ include Google::Apis::Core::Hashable
6989
+
6990
+ # ID of the group.
6991
+ # Corresponds to the JSON property `groupId`
6992
+ # @return [String]
6993
+ attr_accessor :group_id
6994
+
6995
+ # Type of group.
6996
+ # Corresponds to the JSON property `groupType`
6997
+ # @return [String]
6998
+ attr_accessor :group_type
6999
+
7000
+ def initialize(**args)
7001
+ update!(**args)
7002
+ end
7003
+
7004
+ # Update properties of this object
7005
+ def update!(**args)
7006
+ @group_id = args[:group_id] if args.key?(:group_id)
7007
+ @group_type = args[:group_type] if args.key?(:group_type)
7008
+ end
7009
+ end
7010
+
6671
7011
  # Represents a particular IAM binding, which captures a member's role addition,
6672
7012
  # removal, or state.
6673
7013
  class IamBinding
@@ -7677,14 +8017,14 @@ module Google
7677
8017
 
7678
8018
  # The configurations including the state of enablement for the service's
7679
8019
  # different modules. The absence of a module in the map implies its
7680
- # configuration is inherited from its parent's.
8020
+ # configuration is inherited from its parent's configuration.
7681
8021
  # Corresponds to the JSON property `modules`
7682
8022
  # @return [Hash<String,Google::Apis::SecuritycenterV1beta2::Config>]
7683
8023
  attr_accessor :modules
7684
8024
 
7685
- # The resource name of the SecurityHealthAnalyticsSettings. Formats: *
7686
- # organizations/`organization`/securityHealthAnalyticsSettings * folders/`folder`
7687
- # /securityHealthAnalyticsSettings * projects/`project`/
8025
+ # Identifier. The resource name of the SecurityHealthAnalyticsSettings. Formats:
8026
+ # * organizations/`organization`/securityHealthAnalyticsSettings * folders/`
8027
+ # folder`/securityHealthAnalyticsSettings * projects/`project`/
7688
8028
  # securityHealthAnalyticsSettings
7689
8029
  # Corresponds to the JSON property `name`
7690
8030
  # @return [String]
@@ -8015,6 +8355,37 @@ module Google
8015
8355
  end
8016
8356
  end
8017
8357
 
8358
+ # Contains details about a group of security issues that, when the issues occur
8359
+ # together, represent a greater risk than when the issues occur independently. A
8360
+ # group of such issues is referred to as a toxic combination.
8361
+ class ToxicCombination
8362
+ include Google::Apis::Core::Hashable
8363
+
8364
+ # The [Attack exposure score](https://cloud.google.com/security-command-center/
8365
+ # docs/attack-exposure-learn#attack_exposure_scores) of this toxic combination.
8366
+ # The score is a measure of how much this toxic combination exposes one or more
8367
+ # high-value resources to potential attack.
8368
+ # Corresponds to the JSON property `attackExposureScore`
8369
+ # @return [Float]
8370
+ attr_accessor :attack_exposure_score
8371
+
8372
+ # List of resource names of findings associated with this toxic combination. For
8373
+ # example, `organizations/123/sources/456/findings/789`.
8374
+ # Corresponds to the JSON property `relatedFindings`
8375
+ # @return [Array<String>]
8376
+ attr_accessor :related_findings
8377
+
8378
+ def initialize(**args)
8379
+ update!(**args)
8380
+ end
8381
+
8382
+ # Update properties of this object
8383
+ def update!(**args)
8384
+ @attack_exposure_score = args[:attack_exposure_score] if args.key?(:attack_exposure_score)
8385
+ @related_findings = args[:related_findings] if args.key?(:related_findings)
8386
+ end
8387
+ end
8388
+
8018
8389
  # Resource capturing the settings for the Virtual Machine Threat Detection
8019
8390
  # service.
8020
8391
  class VirtualMachineThreatDetectionSettings
@@ -8022,14 +8393,14 @@ module Google
8022
8393
 
8023
8394
  # The configurations including the state of enablement for the service's
8024
8395
  # different modules. The absence of a module in the map implies its
8025
- # configuration is inherited from its parent's.
8396
+ # configuration is inherited from its parent's configuration.
8026
8397
  # Corresponds to the JSON property `modules`
8027
8398
  # @return [Hash<String,Google::Apis::SecuritycenterV1beta2::Config>]
8028
8399
  attr_accessor :modules
8029
8400
 
8030
- # The resource name of the VirtualMachineThreatDetectionSettings. Formats: *
8031
- # organizations/`organization`/virtualMachineThreatDetectionSettings * folders/`
8032
- # folder`/virtualMachineThreatDetectionSettings * projects/`project`/
8401
+ # Identifier. The resource name of the VirtualMachineThreatDetectionSettings.
8402
+ # Formats: * organizations/`organization`/virtualMachineThreatDetectionSettings *
8403
+ # folders/`folder`/virtualMachineThreatDetectionSettings * projects/`project`/
8033
8404
  # virtualMachineThreatDetectionSettings
8034
8405
  # Corresponds to the JSON property `name`
8035
8406
  # @return [String]
@@ -8168,13 +8539,13 @@ module Google
8168
8539
 
8169
8540
  # The configurations including the state of enablement for the service's
8170
8541
  # different modules. The absence of a module in the map implies its
8171
- # configuration is inherited from its parent's.
8542
+ # configuration is inherited from its parent's configuration.
8172
8543
  # Corresponds to the JSON property `modules`
8173
8544
  # @return [Hash<String,Google::Apis::SecuritycenterV1beta2::Config>]
8174
8545
  attr_accessor :modules
8175
8546
 
8176
- # The resource name of the WebSecurityScannerSettings. Formats: * organizations/`
8177
- # organization`/webSecurityScannerSettings * folders/`folder`/
8547
+ # Identifier. The resource name of the WebSecurityScannerSettings. Formats: *
8548
+ # organizations/`organization`/webSecurityScannerSettings * folders/`folder`/
8178
8549
  # webSecurityScannerSettings * projects/`project`/webSecurityScannerSettings
8179
8550
  # Corresponds to the JSON property `name`
8180
8551
  # @return [String]