lib/google/apis/securitycenter_v1beta2/classes.rb in google-apis-securitycenter_v1beta2-0.68.0 vs lib/google/apis/securitycenter_v1beta2/classes.rb in google-apis-securitycenter_v1beta2-0.70.0
- old
+ new
@@ -444,10 +444,114 @@
@id = args[:id] if args.key?(:id)
@name = args[:name] if args.key?(:name)
end
end
+ # Represents an Azure management group.
+ class AzureManagementGroup
+ include Google::Apis::Core::Hashable
+
+ # The display name of the Azure management group.
+ # Corresponds to the JSON property `displayName`
+ # @return [String]
+ attr_accessor :display_name
+
+ # The UUID of the Azure management group, for example, "20000000-0001-0000-0000-
+ # 000000000000".
+ # Corresponds to the JSON property `id`
+ # @return [String]
+ attr_accessor :id
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @display_name = args[:display_name] if args.key?(:display_name)
+ @id = args[:id] if args.key?(:id)
+ end
+ end
+
+ # Azure metadata associated with the resource, only applicable if the finding's
+ # cloud provider is Microsoft Azure.
+ class AzureMetadata
+ include Google::Apis::Core::Hashable
+
+ # A list of Azure management groups associated with the resource, ordered from
+ # lowest level (closest to the subscription) to highest level.
+ # Corresponds to the JSON property `managementGroups`
+ # @return [Array<Google::Apis::SecuritycenterV1beta2::AzureManagementGroup>]
+ attr_accessor :management_groups
+
+ # Represents an Azure resource group.
+ # Corresponds to the JSON property `resourceGroup`
+ # @return [Google::Apis::SecuritycenterV1beta2::AzureResourceGroup]
+ attr_accessor :resource_group
+
+ # Represents an Azure subscription.
+ # Corresponds to the JSON property `subscription`
+ # @return [Google::Apis::SecuritycenterV1beta2::AzureSubscription]
+ attr_accessor :subscription
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @management_groups = args[:management_groups] if args.key?(:management_groups)
+ @resource_group = args[:resource_group] if args.key?(:resource_group)
+ @subscription = args[:subscription] if args.key?(:subscription)
+ end
+ end
+
+ # Represents an Azure resource group.
+ class AzureResourceGroup
+ include Google::Apis::Core::Hashable
+
+ # The name of the Azure resource group. This is not a UUID.
+ # Corresponds to the JSON property `name`
+ # @return [String]
+ attr_accessor :name
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @name = args[:name] if args.key?(:name)
+ end
+ end
+
+ # Represents an Azure subscription.
+ class AzureSubscription
+ include Google::Apis::Core::Hashable
+
+ # The display name of the Azure subscription.
+ # Corresponds to the JSON property `displayName`
+ # @return [String]
+ attr_accessor :display_name
+
+ # The UUID of the Azure subscription, for example, "291bba3f-e0a5-47bc-a099-
+ # 3bdcb2a50a05".
+ # Corresponds to the JSON property `id`
+ # @return [String]
+ attr_accessor :id
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @display_name = args[:display_name] if args.key?(:display_name)
+ @id = args[:id] if args.key?(:id)
+ end
+ end
+
# Information related to Google Cloud Backup and DR Service findings.
class BackupDisasterRecovery
include Google::Apis::Core::Hashable
# The name of the Backup and DR appliance that captures, moves, and manages the
@@ -1692,10 +1796,17 @@
# The class of the finding.
# Corresponds to the JSON property `findingClass`
# @return [String]
attr_accessor :finding_class
+ # Contains details about groups of which this finding is a member. A group is a
+ # collection of findings that are related in some way. This field cannot be
+ # updated. Its value is ignored in all update requests.
+ # Corresponds to the JSON property `groupMemberships`
+ # @return [Array<Google::Apis::SecuritycenterV1beta2::GroupMembership>]
+ attr_accessor :group_memberships
+
# Represents IAM bindings associated with the finding.
# Corresponds to the JSON property `iamBindings`
# @return [Array<Google::Apis::SecuritycenterV1beta2::IamBinding>]
attr_accessor :iam_bindings
@@ -1846,10 +1957,17 @@
# The state of the finding.
# Corresponds to the JSON property `state`
# @return [String]
attr_accessor :state
+ # Contains details about a group of security issues that, when the issues occur
+ # together, represent a greater risk than when the issues occur independently. A
+ # group of such issues is referred to as a toxic combination.
+ # Corresponds to the JSON property `toxicCombination`
+ # @return [Google::Apis::SecuritycenterV1beta2::ToxicCombination]
+ attr_accessor :toxic_combination
+
# Refers to common vulnerability fields e.g. cve, cvss, cwe etc.
# Corresponds to the JSON property `vulnerability`
# @return [Google::Apis::SecuritycenterV1beta2::Vulnerability]
attr_accessor :vulnerability
@@ -1879,10 +1997,11 @@
@exfiltration = args[:exfiltration] if args.key?(:exfiltration)
@external_systems = args[:external_systems] if args.key?(:external_systems)
@external_uri = args[:external_uri] if args.key?(:external_uri)
@files = args[:files] if args.key?(:files)
@finding_class = args[:finding_class] if args.key?(:finding_class)
+ @group_memberships = args[:group_memberships] if args.key?(:group_memberships)
@iam_bindings = args[:iam_bindings] if args.key?(:iam_bindings)
@indicator = args[:indicator] if args.key?(:indicator)
@kernel_rootkit = args[:kernel_rootkit] if args.key?(:kernel_rootkit)
@kubernetes = args[:kubernetes] if args.key?(:kubernetes)
@load_balancers = args[:load_balancers] if args.key?(:load_balancers)
@@ -1903,10 +2022,11 @@
@security_marks = args[:security_marks] if args.key?(:security_marks)
@security_posture = args[:security_posture] if args.key?(:security_posture)
@severity = args[:severity] if args.key?(:severity)
@source_properties = args[:source_properties] if args.key?(:source_properties)
@state = args[:state] if args.key?(:state)
+ @toxic_combination = args[:toxic_combination] if args.key?(:toxic_combination)
@vulnerability = args[:vulnerability] if args.key?(:vulnerability)
end
end
# Message that contains the resource name and display name of a folder resource.
@@ -2532,10 +2652,16 @@
# cloud provider is Amazon Web Services.
# Corresponds to the JSON property `awsMetadata`
# @return [Google::Apis::SecuritycenterV1beta2::AwsMetadata]
attr_accessor :aws_metadata
+ # Azure metadata associated with the resource, only applicable if the finding's
+ # cloud provider is Microsoft Azure.
+ # Corresponds to the JSON property `azureMetadata`
+ # @return [Google::Apis::SecuritycenterV1beta2::AzureMetadata]
+ attr_accessor :azure_metadata
+
# Indicates which cloud provider the resource resides in.
# Corresponds to the JSON property `cloudProvider`
# @return [String]
attr_accessor :cloud_provider
@@ -2622,10 +2748,11 @@
end
# Update properties of this object
def update!(**args)
@aws_metadata = args[:aws_metadata] if args.key?(:aws_metadata)
+ @azure_metadata = args[:azure_metadata] if args.key?(:azure_metadata)
@cloud_provider = args[:cloud_provider] if args.key?(:cloud_provider)
@display_name = args[:display_name] if args.key?(:display_name)
@folders = args[:folders] if args.key?(:folders)
@location = args[:location] if args.key?(:location)
@name = args[:name] if args.key?(:name)
@@ -2658,59 +2785,59 @@
def update!(**args)
@resource_types = args[:resource_types] if args.key?(:resource_types)
end
end
- # A resource value config (RVC) is a mapping configuration of user's resources
- # to resource values. Used in Attack path simulations.
+ # A resource value configuration (RVC) is a mapping configuration of user's
+ # resources to resource values. Used in Attack path simulations.
class GoogleCloudSecuritycenterV1ResourceValueConfig
include Google::Apis::Core::Hashable
# Cloud provider this configuration applies to
# Corresponds to the JSON property `cloudProvider`
# @return [String]
attr_accessor :cloud_provider
- # Output only. Timestamp this resource value config was created.
+ # Output only. Timestamp this resource value configuration was created.
# Corresponds to the JSON property `createTime`
# @return [String]
attr_accessor :create_time
- # Description of the resource value config.
+ # Description of the resource value configuration.
# Corresponds to the JSON property `description`
# @return [String]
attr_accessor :description
- # Name for the resource value config
+ # Name for the resource value configuration
# Corresponds to the JSON property `name`
# @return [String]
attr_accessor :name
- # List of resource labels to search for, evaluated with AND. E.g. "
+ # List of resource labels to search for, evaluated with AND. For example, "
# resource_labels_selector": `"key": "value", "env": "prod"` will match
# resources with labels "key": "value" AND "env": "prod" https://cloud.google.
# com/resource-manager/docs/creating-managing-labels
# Corresponds to the JSON property `resourceLabelsSelector`
# @return [Hash<String,String>]
attr_accessor :resource_labels_selector
# Apply resource_value only to resources that match resource_type. resource_type
- # will be checked with "AND" of other resources. E.g. "storage.googleapis.com/
- # Bucket" with resource_value "HIGH" will apply "HIGH" value only to "storage.
- # googleapis.com/Bucket" resources.
+ # will be checked with AND of other resources. For example, "storage.googleapis.
+ # com/Bucket" with resource_value "HIGH" will apply "HIGH" value only to "
+ # storage.googleapis.com/Bucket" resources.
# Corresponds to the JSON property `resourceType`
# @return [String]
attr_accessor :resource_type
# Required. Resource value level this expression represents
# Corresponds to the JSON property `resourceValue`
# @return [String]
attr_accessor :resource_value
- # Project or folder to scope this config to. For example, "project/456" would
- # apply this config only to resources in "project/456" scope will be checked
- # with "AND" of other resources.
+ # Project or folder to scope this configuration to. For example, "project/456"
+ # would apply this configuration only to resources in "project/456" scope will
+ # be checked with AND of other resources.
# Corresponds to the JSON property `scope`
# @return [String]
attr_accessor :scope
# Resource value mapping for Sensitive Data Protection findings. If any of these
@@ -2719,17 +2846,17 @@
# Corresponds to the JSON property `sensitiveDataProtectionMapping`
# @return [Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV1SensitiveDataProtectionMapping]
attr_accessor :sensitive_data_protection_mapping
# Required. Tag values combined with AND to check against. Values in the form "
- # tagValues/123" E.g. [ "tagValues/123", "tagValues/456", "tagValues/789" ]
+ # tagValues/123" Example: [ "tagValues/123", "tagValues/456", "tagValues/789" ]
# https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing
# Corresponds to the JSON property `tagValues`
# @return [Array<String>]
attr_accessor :tag_values
- # Output only. Timestamp this resource value config was last updated.
+ # Output only. Timestamp this resource value configuration was last updated.
# Corresponds to the JSON property `updateTime`
# @return [String]
attr_accessor :update_time
def initialize(**args)
@@ -3626,10 +3753,114 @@
@id = args[:id] if args.key?(:id)
@name = args[:name] if args.key?(:name)
end
end
+ # Represents an Azure management group.
+ class GoogleCloudSecuritycenterV2AzureManagementGroup
+ include Google::Apis::Core::Hashable
+
+ # The display name of the Azure management group.
+ # Corresponds to the JSON property `displayName`
+ # @return [String]
+ attr_accessor :display_name
+
+ # The UUID of the Azure management group, for example, "20000000-0001-0000-0000-
+ # 000000000000".
+ # Corresponds to the JSON property `id`
+ # @return [String]
+ attr_accessor :id
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @display_name = args[:display_name] if args.key?(:display_name)
+ @id = args[:id] if args.key?(:id)
+ end
+ end
+
+ # Azure metadata associated with the resource, only applicable if the finding's
+ # cloud provider is Microsoft Azure.
+ class GoogleCloudSecuritycenterV2AzureMetadata
+ include Google::Apis::Core::Hashable
+
+ # A list of Azure management groups associated with the resource, ordered from
+ # lowest level (closest to the subscription) to highest level.
+ # Corresponds to the JSON property `managementGroups`
+ # @return [Array<Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2AzureManagementGroup>]
+ attr_accessor :management_groups
+
+ # Represents an Azure resource group.
+ # Corresponds to the JSON property `resourceGroup`
+ # @return [Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2AzureResourceGroup]
+ attr_accessor :resource_group
+
+ # Represents an Azure subscription.
+ # Corresponds to the JSON property `subscription`
+ # @return [Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2AzureSubscription]
+ attr_accessor :subscription
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @management_groups = args[:management_groups] if args.key?(:management_groups)
+ @resource_group = args[:resource_group] if args.key?(:resource_group)
+ @subscription = args[:subscription] if args.key?(:subscription)
+ end
+ end
+
+ # Represents an Azure resource group.
+ class GoogleCloudSecuritycenterV2AzureResourceGroup
+ include Google::Apis::Core::Hashable
+
+ # The name of the Azure resource group. This is not a UUID.
+ # Corresponds to the JSON property `name`
+ # @return [String]
+ attr_accessor :name
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @name = args[:name] if args.key?(:name)
+ end
+ end
+
+ # Represents an Azure subscription.
+ class GoogleCloudSecuritycenterV2AzureSubscription
+ include Google::Apis::Core::Hashable
+
+ # The display name of the Azure subscription.
+ # Corresponds to the JSON property `displayName`
+ # @return [String]
+ attr_accessor :display_name
+
+ # The UUID of the Azure subscription, for example, "291bba3f-e0a5-47bc-a099-
+ # 3bdcb2a50a05".
+ # Corresponds to the JSON property `id`
+ # @return [String]
+ attr_accessor :id
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @display_name = args[:display_name] if args.key?(:display_name)
+ @id = args[:id] if args.key?(:id)
+ end
+ end
+
# Information related to Google Cloud Backup and DR Service findings.
class GoogleCloudSecuritycenterV2BackupDisasterRecovery
include Google::Apis::Core::Hashable
# The name of the Backup and DR appliance that captures, moves, and manages the
@@ -4837,10 +5068,17 @@
# The class of the finding.
# Corresponds to the JSON property `findingClass`
# @return [String]
attr_accessor :finding_class
+ # Contains details about groups of which this finding is a member. A group is a
+ # collection of findings that are related in some way. This field cannot be
+ # updated. Its value is ignored in all update requests.
+ # Corresponds to the JSON property `groupMemberships`
+ # @return [Array<Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2GroupMembership>]
+ attr_accessor :group_memberships
+
# Represents IAM bindings associated with the finding.
# Corresponds to the JSON property `iamBindings`
# @return [Array<Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2IamBinding>]
attr_accessor :iam_bindings
@@ -5000,10 +5238,17 @@
# Output only. The state of the finding.
# Corresponds to the JSON property `state`
# @return [String]
attr_accessor :state
+ # Contains details about a group of security issues that, when the issues occur
+ # together, represent a greater risk than when the issues occur independently. A
+ # group of such issues is referred to as a toxic combination.
+ # Corresponds to the JSON property `toxicCombination`
+ # @return [Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2ToxicCombination]
+ attr_accessor :toxic_combination
+
# Refers to common vulnerability fields e.g. cve, cvss, cwe etc.
# Corresponds to the JSON property `vulnerability`
# @return [Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2Vulnerability]
attr_accessor :vulnerability
@@ -5033,10 +5278,11 @@
@exfiltration = args[:exfiltration] if args.key?(:exfiltration)
@external_systems = args[:external_systems] if args.key?(:external_systems)
@external_uri = args[:external_uri] if args.key?(:external_uri)
@files = args[:files] if args.key?(:files)
@finding_class = args[:finding_class] if args.key?(:finding_class)
+ @group_memberships = args[:group_memberships] if args.key?(:group_memberships)
@iam_bindings = args[:iam_bindings] if args.key?(:iam_bindings)
@indicator = args[:indicator] if args.key?(:indicator)
@kernel_rootkit = args[:kernel_rootkit] if args.key?(:kernel_rootkit)
@kubernetes = args[:kubernetes] if args.key?(:kubernetes)
@load_balancers = args[:load_balancers] if args.key?(:load_balancers)
@@ -5057,10 +5303,11 @@
@security_marks = args[:security_marks] if args.key?(:security_marks)
@security_posture = args[:security_posture] if args.key?(:security_posture)
@severity = args[:severity] if args.key?(:severity)
@source_properties = args[:source_properties] if args.key?(:source_properties)
@state = args[:state] if args.key?(:state)
+ @toxic_combination = args[:toxic_combination] if args.key?(:toxic_combination)
@vulnerability = args[:vulnerability] if args.key?(:vulnerability)
end
end
# Message that contains the resource name and display name of a folder resource.
@@ -5106,10 +5353,36 @@
def update!(**args)
@region_code = args[:region_code] if args.key?(:region_code)
end
end
+ # Contains details about groups of which this finding is a member. A group is a
+ # collection of findings that are related in some way.
+ class GoogleCloudSecuritycenterV2GroupMembership
+ include Google::Apis::Core::Hashable
+
+ # ID of the group.
+ # Corresponds to the JSON property `groupId`
+ # @return [String]
+ attr_accessor :group_id
+
+ # Type of group.
+ # Corresponds to the JSON property `groupType`
+ # @return [String]
+ attr_accessor :group_type
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @group_id = args[:group_id] if args.key?(:group_id)
+ @group_type = args[:group_type] if args.key?(:group_type)
+ end
+ end
+
# Represents a particular IAM binding, which captures a member's role addition,
# removal, or state.
class GoogleCloudSecuritycenterV2IamBinding
include Google::Apis::Core::Hashable
@@ -6027,10 +6300,16 @@
# cloud provider is Amazon Web Services.
# Corresponds to the JSON property `awsMetadata`
# @return [Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2AwsMetadata]
attr_accessor :aws_metadata
+ # Azure metadata associated with the resource, only applicable if the finding's
+ # cloud provider is Microsoft Azure.
+ # Corresponds to the JSON property `azureMetadata`
+ # @return [Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2AzureMetadata]
+ attr_accessor :azure_metadata
+
# Indicates which cloud provider the finding is from.
# Corresponds to the JSON property `cloudProvider`
# @return [String]
attr_accessor :cloud_provider
@@ -6089,10 +6368,11 @@
end
# Update properties of this object
def update!(**args)
@aws_metadata = args[:aws_metadata] if args.key?(:aws_metadata)
+ @azure_metadata = args[:azure_metadata] if args.key?(:azure_metadata)
@cloud_provider = args[:cloud_provider] if args.key?(:cloud_provider)
@display_name = args[:display_name] if args.key?(:display_name)
@gcp_metadata = args[:gcp_metadata] if args.key?(:gcp_metadata)
@location = args[:location] if args.key?(:location)
@name = args[:name] if args.key?(:name)
@@ -6154,60 +6434,60 @@
@id = args[:id] if args.key?(:id)
@node_type = args[:node_type] if args.key?(:node_type)
end
end
- # A resource value config (RVC) is a mapping configuration of user's resources
- # to resource values. Used in Attack path simulations.
+ # A resource value configuration (RVC) is a mapping configuration of user's
+ # resources to resource values. Used in Attack path simulations.
class GoogleCloudSecuritycenterV2ResourceValueConfig
include Google::Apis::Core::Hashable
# Cloud provider this configuration applies to
# Corresponds to the JSON property `cloudProvider`
# @return [String]
attr_accessor :cloud_provider
- # Output only. Timestamp this resource value config was created.
+ # Output only. Timestamp this resource value configuration was created.
# Corresponds to the JSON property `createTime`
# @return [String]
attr_accessor :create_time
- # Description of the resource value config.
+ # Description of the resource value configuration.
# Corresponds to the JSON property `description`
# @return [String]
attr_accessor :description
- # Name for the resource value config
+ # Name for the resource value configuration
# Corresponds to the JSON property `name`
# @return [String]
attr_accessor :name
- # List of resource labels to search for, evaluated with AND. E.g. "
+ # List of resource labels to search for, evaluated with AND. For example, "
# resource_labels_selector": `"key": "value", "env": "prod"` will match
# resources with labels "key": "value" AND "env": "prod" https://cloud.google.
# com/resource-manager/docs/creating-managing-labels
# Corresponds to the JSON property `resourceLabelsSelector`
# @return [Hash<String,String>]
attr_accessor :resource_labels_selector
# Apply resource_value only to resources that match resource_type. resource_type
- # will be checked with "AND" of other resources. E.g. "storage.googleapis.com/
- # Bucket" with resource_value "HIGH" will apply "HIGH" value only to "storage.
- # googleapis.com/Bucket" resources.
+ # will be checked with AND of other resources. For example, "storage.googleapis.
+ # com/Bucket" with resource_value "HIGH" will apply "HIGH" value only to "
+ # storage.googleapis.com/Bucket" resources.
# Corresponds to the JSON property `resourceType`
# @return [String]
attr_accessor :resource_type
# Resource value level this expression represents Only required when there is no
# SDP mapping in the request
# Corresponds to the JSON property `resourceValue`
# @return [String]
attr_accessor :resource_value
- # Project or folder to scope this config to. For example, "project/456" would
- # apply this config only to resources in "project/456" scope will be checked
- # with "AND" of other resources.
+ # Project or folder to scope this configuration to. For example, "project/456"
+ # would apply this configuration only to resources in "project/456" scope will
+ # be checked with AND of other resources.
# Corresponds to the JSON property `scope`
# @return [String]
attr_accessor :scope
# Resource value mapping for Sensitive Data Protection findings If any of these
@@ -6216,17 +6496,17 @@
# Corresponds to the JSON property `sensitiveDataProtectionMapping`
# @return [Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2SensitiveDataProtectionMapping]
attr_accessor :sensitive_data_protection_mapping
# Required. Tag values combined with AND to check against. Values in the form "
- # tagValues/123" E.g. [ "tagValues/123", "tagValues/456", "tagValues/789" ]
+ # tagValues/123" Example: [ "tagValues/123", "tagValues/456", "tagValues/789" ]
# https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing
# Corresponds to the JSON property `tagValues`
# @return [Array<String>]
attr_accessor :tag_values
- # Output only. Timestamp this resource value config was last updated.
+ # Output only. Timestamp this resource value configuration was last updated.
# Corresponds to the JSON property `updateTime`
# @return [String]
attr_accessor :update_time
def initialize(**args)
@@ -6608,10 +6888,41 @@
@update_time = args[:update_time] if args.key?(:update_time)
@uri = args[:uri] if args.key?(:uri)
end
end
+ # Contains details about a group of security issues that, when the issues occur
+ # together, represent a greater risk than when the issues occur independently. A
+ # group of such issues is referred to as a toxic combination.
+ class GoogleCloudSecuritycenterV2ToxicCombination
+ include Google::Apis::Core::Hashable
+
+ # The [Attack exposure score](https://cloud.google.com/security-command-center/
+ # docs/attack-exposure-learn#attack_exposure_scores) of this toxic combination.
+ # The score is a measure of how much this toxic combination exposes one or more
+ # high-value resources to potential attack.
+ # Corresponds to the JSON property `attackExposureScore`
+ # @return [Float]
+ attr_accessor :attack_exposure_score
+
+ # List of resource names of findings associated with this toxic combination. For
+ # example, organizations/123/sources/456/findings/789.
+ # Corresponds to the JSON property `relatedFindings`
+ # @return [Array<String>]
+ attr_accessor :related_findings
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @attack_exposure_score = args[:attack_exposure_score] if args.key?(:attack_exposure_score)
+ @related_findings = args[:related_findings] if args.key?(:related_findings)
+ end
+ end
+
# Refers to common vulnerability fields e.g. cve, cvss, cwe etc.
class GoogleCloudSecuritycenterV2Vulnerability
include Google::Apis::Core::Hashable
# CVE stands for Common Vulnerabilities and Exposures. Information from the [CVE
@@ -6666,10 +6977,36 @@
def update!(**args)
@yara_rule = args[:yara_rule] if args.key?(:yara_rule)
end
end
+ # Contains details about groups of which this finding is a member. A group is a
+ # collection of findings that are related in some way.
+ class GroupMembership
+ include Google::Apis::Core::Hashable
+
+ # ID of the group.
+ # Corresponds to the JSON property `groupId`
+ # @return [String]
+ attr_accessor :group_id
+
+ # Type of group.
+ # Corresponds to the JSON property `groupType`
+ # @return [String]
+ attr_accessor :group_type
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @group_id = args[:group_id] if args.key?(:group_id)
+ @group_type = args[:group_type] if args.key?(:group_type)
+ end
+ end
+
# Represents a particular IAM binding, which captures a member's role addition,
# removal, or state.
class IamBinding
include Google::Apis::Core::Hashable
@@ -8010,9 +8347,40 @@
@description = args[:description] if args.key?(:description)
@id = args[:id] if args.key?(:id)
@status = args[:status] if args.key?(:status)
@update_time = args[:update_time] if args.key?(:update_time)
@uri = args[:uri] if args.key?(:uri)
+ end
+ end
+
+ # Contains details about a group of security issues that, when the issues occur
+ # together, represent a greater risk than when the issues occur independently. A
+ # group of such issues is referred to as a toxic combination.
+ class ToxicCombination
+ include Google::Apis::Core::Hashable
+
+ # The [Attack exposure score](https://cloud.google.com/security-command-center/
+ # docs/attack-exposure-learn#attack_exposure_scores) of this toxic combination.
+ # The score is a measure of how much this toxic combination exposes one or more
+ # high-value resources to potential attack.
+ # Corresponds to the JSON property `attackExposureScore`
+ # @return [Float]
+ attr_accessor :attack_exposure_score
+
+ # List of resource names of findings associated with this toxic combination. For
+ # example, organizations/123/sources/456/findings/789.
+ # Corresponds to the JSON property `relatedFindings`
+ # @return [Array<String>]
+ attr_accessor :related_findings
+
+ def initialize(**args)
+ update!(**args)
+ end
+
+ # Update properties of this object
+ def update!(**args)
+ @attack_exposure_score = args[:attack_exposure_score] if args.key?(:attack_exposure_score)
+ @related_findings = args[:related_findings] if args.key?(:related_findings)
end
end
# Resource capturing the settings for the Virtual Machine Threat Detection
# service.