google-apis-securitycenter_v1beta1 0.74.0 → 0.75.0
Sign up to get free protection for your applications and to get access to all the features.
@@ -186,6 +186,31 @@ module Google
|
|
186
186
|
end
|
187
187
|
end
|
188
188
|
|
189
|
+
# Information about [Google Cloud Armor Adaptive Protection](https://cloud.
|
190
|
+
# google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-
|
191
|
+
# protection).
|
192
|
+
class AdaptiveProtection
|
193
|
+
include Google::Apis::Core::Hashable
|
194
|
+
|
195
|
+
# A score of 0 means that there is low confidence that the detected event is an
|
196
|
+
# actual attack. A score of 1 means that there is high confidence that the
|
197
|
+
# detected event is an attack. See the [Adaptive Protection documentation](https:
|
198
|
+
# //cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-
|
199
|
+
# tuning) for further explanation.
|
200
|
+
# Corresponds to the JSON property `confidence`
|
201
|
+
# @return [Float]
|
202
|
+
attr_accessor :confidence
|
203
|
+
|
204
|
+
def initialize(**args)
|
205
|
+
update!(**args)
|
206
|
+
end
|
207
|
+
|
208
|
+
# Update properties of this object
|
209
|
+
def update!(**args)
|
210
|
+
@confidence = args[:confidence] if args.key?(:confidence)
|
211
|
+
end
|
212
|
+
end
|
213
|
+
|
189
214
|
# Represents an application associated with a finding.
|
190
215
|
class Application
|
191
216
|
include Google::Apis::Core::Hashable
|
@@ -299,6 +324,37 @@ module Google
|
|
299
324
|
end
|
300
325
|
end
|
301
326
|
|
327
|
+
# Information about DDoS attack volume and classification.
|
328
|
+
class Attack
|
329
|
+
include Google::Apis::Core::Hashable
|
330
|
+
|
331
|
+
# Type of attack, for example, ‘SYN-flood’, ‘NTP-udp’, or ‘CHARGEN-udp’.
|
332
|
+
# Corresponds to the JSON property `classification`
|
333
|
+
# @return [String]
|
334
|
+
attr_accessor :classification
|
335
|
+
|
336
|
+
# Total BPS (bytes per second) volume of attack.
|
337
|
+
# Corresponds to the JSON property `volumeBps`
|
338
|
+
# @return [Fixnum]
|
339
|
+
attr_accessor :volume_bps
|
340
|
+
|
341
|
+
# Total PPS (packets per second) volume of attack.
|
342
|
+
# Corresponds to the JSON property `volumePps`
|
343
|
+
# @return [Fixnum]
|
344
|
+
attr_accessor :volume_pps
|
345
|
+
|
346
|
+
def initialize(**args)
|
347
|
+
update!(**args)
|
348
|
+
end
|
349
|
+
|
350
|
+
# Update properties of this object
|
351
|
+
def update!(**args)
|
352
|
+
@classification = args[:classification] if args.key?(:classification)
|
353
|
+
@volume_bps = args[:volume_bps] if args.key?(:volume_bps)
|
354
|
+
@volume_pps = args[:volume_pps] if args.key?(:volume_pps)
|
355
|
+
end
|
356
|
+
end
|
357
|
+
|
302
358
|
# An attack exposure contains the results of an attack path simulation run.
|
303
359
|
class AttackExposure
|
304
360
|
include Google::Apis::Core::Hashable
|
@@ -433,6 +489,120 @@ module Google
|
|
433
489
|
end
|
434
490
|
end
|
435
491
|
|
492
|
+
# An AWS account that is a member of an organization.
|
493
|
+
class AwsAccount
|
494
|
+
include Google::Apis::Core::Hashable
|
495
|
+
|
496
|
+
# The unique identifier (ID) of the account, containing exactly 12 digits.
|
497
|
+
# Corresponds to the JSON property `id`
|
498
|
+
# @return [String]
|
499
|
+
attr_accessor :id
|
500
|
+
|
501
|
+
# The friendly name of this account.
|
502
|
+
# Corresponds to the JSON property `name`
|
503
|
+
# @return [String]
|
504
|
+
attr_accessor :name
|
505
|
+
|
506
|
+
def initialize(**args)
|
507
|
+
update!(**args)
|
508
|
+
end
|
509
|
+
|
510
|
+
# Update properties of this object
|
511
|
+
def update!(**args)
|
512
|
+
@id = args[:id] if args.key?(:id)
|
513
|
+
@name = args[:name] if args.key?(:name)
|
514
|
+
end
|
515
|
+
end
|
516
|
+
|
517
|
+
# AWS metadata associated with the resource, only applicable if the finding's
|
518
|
+
# cloud provider is Amazon Web Services.
|
519
|
+
class AwsMetadata
|
520
|
+
include Google::Apis::Core::Hashable
|
521
|
+
|
522
|
+
# An AWS account that is a member of an organization.
|
523
|
+
# Corresponds to the JSON property `account`
|
524
|
+
# @return [Google::Apis::SecuritycenterV1beta1::AwsAccount]
|
525
|
+
attr_accessor :account
|
526
|
+
|
527
|
+
# An organization is a collection of accounts that are centrally managed
|
528
|
+
# together using consolidated billing, organized hierarchically with
|
529
|
+
# organizational units (OUs), and controlled with policies.
|
530
|
+
# Corresponds to the JSON property `organization`
|
531
|
+
# @return [Google::Apis::SecuritycenterV1beta1::AwsOrganization]
|
532
|
+
attr_accessor :organization
|
533
|
+
|
534
|
+
# A list of AWS organizational units associated with the resource, ordered from
|
535
|
+
# lowest level (closest to the account) to highest level.
|
536
|
+
# Corresponds to the JSON property `organizationalUnits`
|
537
|
+
# @return [Array<Google::Apis::SecuritycenterV1beta1::AwsOrganizationalUnit>]
|
538
|
+
attr_accessor :organizational_units
|
539
|
+
|
540
|
+
def initialize(**args)
|
541
|
+
update!(**args)
|
542
|
+
end
|
543
|
+
|
544
|
+
# Update properties of this object
|
545
|
+
def update!(**args)
|
546
|
+
@account = args[:account] if args.key?(:account)
|
547
|
+
@organization = args[:organization] if args.key?(:organization)
|
548
|
+
@organizational_units = args[:organizational_units] if args.key?(:organizational_units)
|
549
|
+
end
|
550
|
+
end
|
551
|
+
|
552
|
+
# An organization is a collection of accounts that are centrally managed
|
553
|
+
# together using consolidated billing, organized hierarchically with
|
554
|
+
# organizational units (OUs), and controlled with policies.
|
555
|
+
class AwsOrganization
|
556
|
+
include Google::Apis::Core::Hashable
|
557
|
+
|
558
|
+
# The unique identifier (ID) for the organization. The regex pattern for an
|
559
|
+
# organization ID string requires "o-" followed by from 10 to 32 lowercase
|
560
|
+
# letters or digits.
|
561
|
+
# Corresponds to the JSON property `id`
|
562
|
+
# @return [String]
|
563
|
+
attr_accessor :id
|
564
|
+
|
565
|
+
def initialize(**args)
|
566
|
+
update!(**args)
|
567
|
+
end
|
568
|
+
|
569
|
+
# Update properties of this object
|
570
|
+
def update!(**args)
|
571
|
+
@id = args[:id] if args.key?(:id)
|
572
|
+
end
|
573
|
+
end
|
574
|
+
|
575
|
+
# An Organizational Unit (OU) is a container of AWS accounts within a root of an
|
576
|
+
# organization. Policies that are attached to an OU apply to all accounts
|
577
|
+
# contained in that OU and in any child OUs.
|
578
|
+
class AwsOrganizationalUnit
|
579
|
+
include Google::Apis::Core::Hashable
|
580
|
+
|
581
|
+
# The unique identifier (ID) associated with this OU. The regex pattern for an
|
582
|
+
# organizational unit ID string requires "ou-" followed by from 4 to 32
|
583
|
+
# lowercase letters or digits (the ID of the root that contains the OU). This
|
584
|
+
# string is followed by a second "-" dash and from 8 to 32 additional lowercase
|
585
|
+
# letters or digits. For example, "ou-ab12-cd34ef56".
|
586
|
+
# Corresponds to the JSON property `id`
|
587
|
+
# @return [String]
|
588
|
+
attr_accessor :id
|
589
|
+
|
590
|
+
# The friendly name of the OU.
|
591
|
+
# Corresponds to the JSON property `name`
|
592
|
+
# @return [String]
|
593
|
+
attr_accessor :name
|
594
|
+
|
595
|
+
def initialize(**args)
|
596
|
+
update!(**args)
|
597
|
+
end
|
598
|
+
|
599
|
+
# Update properties of this object
|
600
|
+
def update!(**args)
|
601
|
+
@id = args[:id] if args.key?(:id)
|
602
|
+
@name = args[:name] if args.key?(:name)
|
603
|
+
end
|
604
|
+
end
|
605
|
+
|
436
606
|
# Information related to Google Cloud Backup and DR Service findings.
|
437
607
|
class BackupDisasterRecovery
|
438
608
|
include Google::Apis::Core::Hashable
|
@@ -644,6 +814,61 @@ module Google
|
|
644
814
|
end
|
645
815
|
end
|
646
816
|
|
817
|
+
# Fields related to Google Cloud Armor findings.
|
818
|
+
class CloudArmor
|
819
|
+
include Google::Apis::Core::Hashable
|
820
|
+
|
821
|
+
# Information about [Google Cloud Armor Adaptive Protection](https://cloud.
|
822
|
+
# google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-
|
823
|
+
# protection).
|
824
|
+
# Corresponds to the JSON property `adaptiveProtection`
|
825
|
+
# @return [Google::Apis::SecuritycenterV1beta1::AdaptiveProtection]
|
826
|
+
attr_accessor :adaptive_protection
|
827
|
+
|
828
|
+
# Information about DDoS attack volume and classification.
|
829
|
+
# Corresponds to the JSON property `attack`
|
830
|
+
# @return [Google::Apis::SecuritycenterV1beta1::Attack]
|
831
|
+
attr_accessor :attack
|
832
|
+
|
833
|
+
# Duration of attack from the start until the current moment (updated every 5
|
834
|
+
# minutes).
|
835
|
+
# Corresponds to the JSON property `duration`
|
836
|
+
# @return [String]
|
837
|
+
attr_accessor :duration
|
838
|
+
|
839
|
+
# Information about the requests relevant to the finding.
|
840
|
+
# Corresponds to the JSON property `requests`
|
841
|
+
# @return [Google::Apis::SecuritycenterV1beta1::Requests]
|
842
|
+
attr_accessor :requests
|
843
|
+
|
844
|
+
# Information about the [Google Cloud Armor security policy](https://cloud.
|
845
|
+
# google.com/armor/docs/security-policy-overview) relevant to the finding.
|
846
|
+
# Corresponds to the JSON property `securityPolicy`
|
847
|
+
# @return [Google::Apis::SecuritycenterV1beta1::SecurityPolicy]
|
848
|
+
attr_accessor :security_policy
|
849
|
+
|
850
|
+
# Distinguish between volumetric & protocol DDoS attack and application layer
|
851
|
+
# attacks. For example, “L3_4” for Layer 3 and Layer 4 DDoS attacks, or “L_7”
|
852
|
+
# for Layer 7 DDoS attacks.
|
853
|
+
# Corresponds to the JSON property `threatVector`
|
854
|
+
# @return [String]
|
855
|
+
attr_accessor :threat_vector
|
856
|
+
|
857
|
+
def initialize(**args)
|
858
|
+
update!(**args)
|
859
|
+
end
|
860
|
+
|
861
|
+
# Update properties of this object
|
862
|
+
def update!(**args)
|
863
|
+
@adaptive_protection = args[:adaptive_protection] if args.key?(:adaptive_protection)
|
864
|
+
@attack = args[:attack] if args.key?(:attack)
|
865
|
+
@duration = args[:duration] if args.key?(:duration)
|
866
|
+
@requests = args[:requests] if args.key?(:requests)
|
867
|
+
@security_policy = args[:security_policy] if args.key?(:security_policy)
|
868
|
+
@threat_vector = args[:threat_vector] if args.key?(:threat_vector)
|
869
|
+
end
|
870
|
+
end
|
871
|
+
|
647
872
|
# The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated
|
648
873
|
# with the finding.
|
649
874
|
class CloudDlpDataProfile
|
@@ -796,6 +1021,11 @@ module Google
|
|
796
1021
|
# @return [String]
|
797
1022
|
attr_accessor :category
|
798
1023
|
|
1024
|
+
# The cloud provider for the compliance snapshot.
|
1025
|
+
# Corresponds to the JSON property `cloudProvider`
|
1026
|
+
# @return [String]
|
1027
|
+
attr_accessor :cloud_provider
|
1028
|
+
|
799
1029
|
# The compliance standard (ie CIS).
|
800
1030
|
# Corresponds to the JSON property `complianceStandard`
|
801
1031
|
# @return [String]
|
@@ -821,12 +1051,6 @@ module Google
|
|
821
1051
|
# @return [String]
|
822
1052
|
attr_accessor :name
|
823
1053
|
|
824
|
-
# The CRM resource display name that is closest to the snapshot the Findings
|
825
|
-
# belong to.
|
826
|
-
# Corresponds to the JSON property `projectDisplayName`
|
827
|
-
# @return [String]
|
828
|
-
attr_accessor :project_display_name
|
829
|
-
|
830
1054
|
# The snapshot time of the snapshot.
|
831
1055
|
# Corresponds to the JSON property `snapshotTime`
|
832
1056
|
# @return [String]
|
@@ -839,12 +1063,12 @@ module Google
|
|
839
1063
|
# Update properties of this object
|
840
1064
|
def update!(**args)
|
841
1065
|
@category = args[:category] if args.key?(:category)
|
1066
|
+
@cloud_provider = args[:cloud_provider] if args.key?(:cloud_provider)
|
842
1067
|
@compliance_standard = args[:compliance_standard] if args.key?(:compliance_standard)
|
843
1068
|
@compliance_version = args[:compliance_version] if args.key?(:compliance_version)
|
844
1069
|
@count = args[:count] if args.key?(:count)
|
845
1070
|
@leaf_container_resource = args[:leaf_container_resource] if args.key?(:leaf_container_resource)
|
846
1071
|
@name = args[:name] if args.key?(:name)
|
847
|
-
@project_display_name = args[:project_display_name] if args.key?(:project_display_name)
|
848
1072
|
@snapshot_time = args[:snapshot_time] if args.key?(:snapshot_time)
|
849
1073
|
end
|
850
1074
|
end
|
@@ -1499,6 +1723,11 @@ module Google
|
|
1499
1723
|
# @return [String]
|
1500
1724
|
attr_accessor :category
|
1501
1725
|
|
1726
|
+
# Fields related to Google Cloud Armor findings.
|
1727
|
+
# Corresponds to the JSON property `cloudArmor`
|
1728
|
+
# @return [Google::Apis::SecuritycenterV1beta1::CloudArmor]
|
1729
|
+
attr_accessor :cloud_armor
|
1730
|
+
|
1502
1731
|
# The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated
|
1503
1732
|
# with the finding.
|
1504
1733
|
# Corresponds to the JSON property `cloudDlpDataProfile`
|
@@ -1680,6 +1909,13 @@ module Google
|
|
1680
1909
|
# @return [String]
|
1681
1910
|
attr_accessor :next_steps
|
1682
1911
|
|
1912
|
+
# Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook]
|
1913
|
+
# (https://cloud.google.com/colab/docs/introduction) file, that is associated
|
1914
|
+
# with a finding.
|
1915
|
+
# Corresponds to the JSON property `notebook`
|
1916
|
+
# @return [Google::Apis::SecuritycenterV1beta1::Notebook]
|
1917
|
+
attr_accessor :notebook
|
1918
|
+
|
1683
1919
|
# Contains information about the org policies associated with the finding.
|
1684
1920
|
# Corresponds to the JSON property `orgPolicies`
|
1685
1921
|
# @return [Array<Google::Apis::SecuritycenterV1beta1::OrgPolicy>]
|
@@ -1765,6 +2001,7 @@ module Google
|
|
1765
2001
|
@backup_disaster_recovery = args[:backup_disaster_recovery] if args.key?(:backup_disaster_recovery)
|
1766
2002
|
@canonical_name = args[:canonical_name] if args.key?(:canonical_name)
|
1767
2003
|
@category = args[:category] if args.key?(:category)
|
2004
|
+
@cloud_armor = args[:cloud_armor] if args.key?(:cloud_armor)
|
1768
2005
|
@cloud_dlp_data_profile = args[:cloud_dlp_data_profile] if args.key?(:cloud_dlp_data_profile)
|
1769
2006
|
@cloud_dlp_inspection = args[:cloud_dlp_inspection] if args.key?(:cloud_dlp_inspection)
|
1770
2007
|
@compliances = args[:compliances] if args.key?(:compliances)
|
@@ -1793,6 +2030,7 @@ module Google
|
|
1793
2030
|
@mute_update_time = args[:mute_update_time] if args.key?(:mute_update_time)
|
1794
2031
|
@name = args[:name] if args.key?(:name)
|
1795
2032
|
@next_steps = args[:next_steps] if args.key?(:next_steps)
|
2033
|
+
@notebook = args[:notebook] if args.key?(:notebook)
|
1796
2034
|
@org_policies = args[:org_policies] if args.key?(:org_policies)
|
1797
2035
|
@parent = args[:parent] if args.key?(:parent)
|
1798
2036
|
@parent_display_name = args[:parent_display_name] if args.key?(:parent_display_name)
|
@@ -1833,6 +2071,58 @@ module Google
|
|
1833
2071
|
end
|
1834
2072
|
end
|
1835
2073
|
|
2074
|
+
# GCP metadata associated with the resource, only applicable if the finding's
|
2075
|
+
# cloud provider is Google Cloud Platform.
|
2076
|
+
class GcpMetadata
|
2077
|
+
include Google::Apis::Core::Hashable
|
2078
|
+
|
2079
|
+
# Output only. Contains a Folder message for each folder in the assets ancestry.
|
2080
|
+
# The first folder is the deepest nested folder, and the last folder is the
|
2081
|
+
# folder directly under the Organization.
|
2082
|
+
# Corresponds to the JSON property `folders`
|
2083
|
+
# @return [Array<Google::Apis::SecuritycenterV1beta1::GoogleCloudSecuritycenterV2Folder>]
|
2084
|
+
attr_accessor :folders
|
2085
|
+
|
2086
|
+
# The name of the organization that the resource belongs to.
|
2087
|
+
# Corresponds to the JSON property `organization`
|
2088
|
+
# @return [String]
|
2089
|
+
attr_accessor :organization
|
2090
|
+
|
2091
|
+
# The full resource name of resource's parent.
|
2092
|
+
# Corresponds to the JSON property `parent`
|
2093
|
+
# @return [String]
|
2094
|
+
attr_accessor :parent
|
2095
|
+
|
2096
|
+
# The human readable name of resource's parent.
|
2097
|
+
# Corresponds to the JSON property `parentDisplayName`
|
2098
|
+
# @return [String]
|
2099
|
+
attr_accessor :parent_display_name
|
2100
|
+
|
2101
|
+
# The full resource name of project that the resource belongs to.
|
2102
|
+
# Corresponds to the JSON property `project`
|
2103
|
+
# @return [String]
|
2104
|
+
attr_accessor :project
|
2105
|
+
|
2106
|
+
# The project ID that the resource belongs to.
|
2107
|
+
# Corresponds to the JSON property `projectDisplayName`
|
2108
|
+
# @return [String]
|
2109
|
+
attr_accessor :project_display_name
|
2110
|
+
|
2111
|
+
def initialize(**args)
|
2112
|
+
update!(**args)
|
2113
|
+
end
|
2114
|
+
|
2115
|
+
# Update properties of this object
|
2116
|
+
def update!(**args)
|
2117
|
+
@folders = args[:folders] if args.key?(:folders)
|
2118
|
+
@organization = args[:organization] if args.key?(:organization)
|
2119
|
+
@parent = args[:parent] if args.key?(:parent)
|
2120
|
+
@parent_display_name = args[:parent_display_name] if args.key?(:parent_display_name)
|
2121
|
+
@project = args[:project] if args.key?(:project)
|
2122
|
+
@project_display_name = args[:project_display_name] if args.key?(:project_display_name)
|
2123
|
+
end
|
2124
|
+
end
|
2125
|
+
|
1836
2126
|
# Represents a geographical location for a given access.
|
1837
2127
|
class Geolocation
|
1838
2128
|
include Google::Apis::Core::Hashable
|
@@ -2421,6 +2711,17 @@ module Google
|
|
2421
2711
|
class GoogleCloudSecuritycenterV1Resource
|
2422
2712
|
include Google::Apis::Core::Hashable
|
2423
2713
|
|
2714
|
+
# AWS metadata associated with the resource, only applicable if the finding's
|
2715
|
+
# cloud provider is Amazon Web Services.
|
2716
|
+
# Corresponds to the JSON property `awsMetadata`
|
2717
|
+
# @return [Google::Apis::SecuritycenterV1beta1::AwsMetadata]
|
2718
|
+
attr_accessor :aws_metadata
|
2719
|
+
|
2720
|
+
# Indicates which cloud provider the resource resides in.
|
2721
|
+
# Corresponds to the JSON property `cloudProvider`
|
2722
|
+
# @return [String]
|
2723
|
+
attr_accessor :cloud_provider
|
2724
|
+
|
2424
2725
|
# The human readable name of the resource.
|
2425
2726
|
# Corresponds to the JSON property `displayName`
|
2426
2727
|
# @return [String]
|
@@ -2433,12 +2734,23 @@ module Google
|
|
2433
2734
|
# @return [Array<Google::Apis::SecuritycenterV1beta1::Folder>]
|
2434
2735
|
attr_accessor :folders
|
2435
2736
|
|
2737
|
+
# The region or location of the service (if applicable).
|
2738
|
+
# Corresponds to the JSON property `location`
|
2739
|
+
# @return [String]
|
2740
|
+
attr_accessor :location
|
2741
|
+
|
2436
2742
|
# The full resource name of the resource. See: https://cloud.google.com/apis/
|
2437
2743
|
# design/resource_names#full_resource_name
|
2438
2744
|
# Corresponds to the JSON property `name`
|
2439
2745
|
# @return [String]
|
2440
2746
|
attr_accessor :name
|
2441
2747
|
|
2748
|
+
# Indicates which organization or tenant in the cloud provider the finding
|
2749
|
+
# applies to.
|
2750
|
+
# Corresponds to the JSON property `organization`
|
2751
|
+
# @return [String]
|
2752
|
+
attr_accessor :organization
|
2753
|
+
|
2442
2754
|
# The full resource name of resource's parent.
|
2443
2755
|
# Corresponds to the JSON property `parent`
|
2444
2756
|
# @return [String]
|
@@ -2459,6 +2771,30 @@ module Google
|
|
2459
2771
|
# @return [String]
|
2460
2772
|
attr_accessor :project_display_name
|
2461
2773
|
|
2774
|
+
# Represents the path of resources leading up to the resource this finding is
|
2775
|
+
# about.
|
2776
|
+
# Corresponds to the JSON property `resourcePath`
|
2777
|
+
# @return [Google::Apis::SecuritycenterV1beta1::ResourcePath]
|
2778
|
+
attr_accessor :resource_path
|
2779
|
+
|
2780
|
+
# A string representation of the resource path. For GCP, it has the format of:
|
2781
|
+
# organizations/`organization_id`/folders/`folder_id`/folders/`folder_id`/
|
2782
|
+
# projects/`project_id` where there can be any number of folders. For AWS, it
|
2783
|
+
# has the format of: org/`organization_id`/ou/`organizational_unit_id`/ou/`
|
2784
|
+
# organizational_unit_id`/account/`account_id` where there can be any number of
|
2785
|
+
# organizational units. For Azure, it has the format of: mg/`management_group_id`
|
2786
|
+
# /mg/`management_group_id`/subscription/`subscription_id`/rg/`
|
2787
|
+
# resource_group_name` where there can be any number of management groups.
|
2788
|
+
# Corresponds to the JSON property `resourcePathString`
|
2789
|
+
# @return [String]
|
2790
|
+
attr_accessor :resource_path_string
|
2791
|
+
|
2792
|
+
# The parent service or product from which the resource is provided, for example,
|
2793
|
+
# GKE or SNS.
|
2794
|
+
# Corresponds to the JSON property `service`
|
2795
|
+
# @return [String]
|
2796
|
+
attr_accessor :service
|
2797
|
+
|
2462
2798
|
# The full resource type of the resource.
|
2463
2799
|
# Corresponds to the JSON property `type`
|
2464
2800
|
# @return [String]
|
@@ -2470,13 +2806,20 @@ module Google
|
|
2470
2806
|
|
2471
2807
|
# Update properties of this object
|
2472
2808
|
def update!(**args)
|
2809
|
+
@aws_metadata = args[:aws_metadata] if args.key?(:aws_metadata)
|
2810
|
+
@cloud_provider = args[:cloud_provider] if args.key?(:cloud_provider)
|
2473
2811
|
@display_name = args[:display_name] if args.key?(:display_name)
|
2474
2812
|
@folders = args[:folders] if args.key?(:folders)
|
2813
|
+
@location = args[:location] if args.key?(:location)
|
2475
2814
|
@name = args[:name] if args.key?(:name)
|
2815
|
+
@organization = args[:organization] if args.key?(:organization)
|
2476
2816
|
@parent = args[:parent] if args.key?(:parent)
|
2477
2817
|
@parent_display_name = args[:parent_display_name] if args.key?(:parent_display_name)
|
2478
2818
|
@project = args[:project] if args.key?(:project)
|
2479
2819
|
@project_display_name = args[:project_display_name] if args.key?(:project_display_name)
|
2820
|
+
@resource_path = args[:resource_path] if args.key?(:resource_path)
|
2821
|
+
@resource_path_string = args[:resource_path_string] if args.key?(:resource_path_string)
|
2822
|
+
@service = args[:service] if args.key?(:service)
|
2480
2823
|
@type = args[:type] if args.key?(:type)
|
2481
2824
|
end
|
2482
2825
|
end
|
@@ -2505,6 +2848,11 @@ module Google
|
|
2505
2848
|
class GoogleCloudSecuritycenterV1ResourceValueConfig
|
2506
2849
|
include Google::Apis::Core::Hashable
|
2507
2850
|
|
2851
|
+
# Cloud provider this configuration applies to
|
2852
|
+
# Corresponds to the JSON property `cloudProvider`
|
2853
|
+
# @return [String]
|
2854
|
+
attr_accessor :cloud_provider
|
2855
|
+
|
2508
2856
|
# Output only. Timestamp this resource value config was created.
|
2509
2857
|
# Corresponds to the JSON property `createTime`
|
2510
2858
|
# @return [String]
|
@@ -2573,6 +2921,7 @@ module Google
|
|
2573
2921
|
|
2574
2922
|
# Update properties of this object
|
2575
2923
|
def update!(**args)
|
2924
|
+
@cloud_provider = args[:cloud_provider] if args.key?(:cloud_provider)
|
2576
2925
|
@create_time = args[:create_time] if args.key?(:create_time)
|
2577
2926
|
@description = args[:description] if args.key?(:description)
|
2578
2927
|
@name = args[:name] if args.key?(:name)
|
@@ -3335,6 +3684,31 @@ module Google
|
|
3335
3684
|
end
|
3336
3685
|
end
|
3337
3686
|
|
3687
|
+
# Information about [Google Cloud Armor Adaptive Protection](https://cloud.
|
3688
|
+
# google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-
|
3689
|
+
# protection).
|
3690
|
+
class GoogleCloudSecuritycenterV2AdaptiveProtection
|
3691
|
+
include Google::Apis::Core::Hashable
|
3692
|
+
|
3693
|
+
# A score of 0 means that there is low confidence that the detected event is an
|
3694
|
+
# actual attack. A score of 1 means that there is high confidence that the
|
3695
|
+
# detected event is an attack. See the [Adaptive Protection documentation](https:
|
3696
|
+
# //cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-
|
3697
|
+
# tuning) for further explanation.
|
3698
|
+
# Corresponds to the JSON property `confidence`
|
3699
|
+
# @return [Float]
|
3700
|
+
attr_accessor :confidence
|
3701
|
+
|
3702
|
+
def initialize(**args)
|
3703
|
+
update!(**args)
|
3704
|
+
end
|
3705
|
+
|
3706
|
+
# Update properties of this object
|
3707
|
+
def update!(**args)
|
3708
|
+
@confidence = args[:confidence] if args.key?(:confidence)
|
3709
|
+
end
|
3710
|
+
end
|
3711
|
+
|
3338
3712
|
# Represents an application associated with a finding.
|
3339
3713
|
class GoogleCloudSecuritycenterV2Application
|
3340
3714
|
include Google::Apis::Core::Hashable
|
@@ -3362,6 +3736,37 @@ module Google
|
|
3362
3736
|
end
|
3363
3737
|
end
|
3364
3738
|
|
3739
|
+
# Information about DDoS attack volume and classification.
|
3740
|
+
class GoogleCloudSecuritycenterV2Attack
|
3741
|
+
include Google::Apis::Core::Hashable
|
3742
|
+
|
3743
|
+
# Type of attack, for example, ‘SYN-flood’, ‘NTP-udp’, or ‘CHARGEN-udp’.
|
3744
|
+
# Corresponds to the JSON property `classification`
|
3745
|
+
# @return [String]
|
3746
|
+
attr_accessor :classification
|
3747
|
+
|
3748
|
+
# Total BPS (bytes per second) volume of attack.
|
3749
|
+
# Corresponds to the JSON property `volumeBps`
|
3750
|
+
# @return [Fixnum]
|
3751
|
+
attr_accessor :volume_bps
|
3752
|
+
|
3753
|
+
# Total PPS (packets per second) volume of attack.
|
3754
|
+
# Corresponds to the JSON property `volumePps`
|
3755
|
+
# @return [Fixnum]
|
3756
|
+
attr_accessor :volume_pps
|
3757
|
+
|
3758
|
+
def initialize(**args)
|
3759
|
+
update!(**args)
|
3760
|
+
end
|
3761
|
+
|
3762
|
+
# Update properties of this object
|
3763
|
+
def update!(**args)
|
3764
|
+
@classification = args[:classification] if args.key?(:classification)
|
3765
|
+
@volume_bps = args[:volume_bps] if args.key?(:volume_bps)
|
3766
|
+
@volume_pps = args[:volume_pps] if args.key?(:volume_pps)
|
3767
|
+
end
|
3768
|
+
end
|
3769
|
+
|
3365
3770
|
# An attack exposure contains the results of an attack path simulation run.
|
3366
3771
|
class GoogleCloudSecuritycenterV2AttackExposure
|
3367
3772
|
include Google::Apis::Core::Hashable
|
@@ -3425,40 +3830,154 @@ module Google
|
|
3425
3830
|
end
|
3426
3831
|
end
|
3427
3832
|
|
3428
|
-
#
|
3429
|
-
class
|
3833
|
+
# An AWS account that is a member of an organization.
|
3834
|
+
class GoogleCloudSecuritycenterV2AwsAccount
|
3430
3835
|
include Google::Apis::Core::Hashable
|
3431
3836
|
|
3432
|
-
# The
|
3433
|
-
#
|
3434
|
-
# Corresponds to the JSON property `appliance`
|
3837
|
+
# The unique identifier (ID) of the account, containing exactly 12 digits.
|
3838
|
+
# Corresponds to the JSON property `id`
|
3435
3839
|
# @return [String]
|
3436
|
-
attr_accessor :
|
3437
|
-
|
3438
|
-
# The names of Backup and DR applications. An application is a VM, database, or
|
3439
|
-
# file system on a managed host monitored by a backup and recovery appliance.
|
3440
|
-
# For example, `centos7-01-vol00`, `centos7-01-vol01`, `centos7-01-vol02`.
|
3441
|
-
# Corresponds to the JSON property `applications`
|
3442
|
-
# @return [Array<String>]
|
3443
|
-
attr_accessor :applications
|
3840
|
+
attr_accessor :id
|
3444
3841
|
|
3445
|
-
# The
|
3446
|
-
# Corresponds to the JSON property `
|
3842
|
+
# The friendly name of this account.
|
3843
|
+
# Corresponds to the JSON property `name`
|
3447
3844
|
# @return [String]
|
3448
|
-
attr_accessor :
|
3845
|
+
attr_accessor :name
|
3449
3846
|
|
3450
|
-
|
3451
|
-
|
3452
|
-
|
3453
|
-
# For example, `snap-ov`.
|
3454
|
-
# Corresponds to the JSON property `backupTemplate`
|
3455
|
-
# @return [String]
|
3456
|
-
attr_accessor :backup_template
|
3847
|
+
def initialize(**args)
|
3848
|
+
update!(**args)
|
3849
|
+
end
|
3457
3850
|
|
3458
|
-
#
|
3459
|
-
|
3460
|
-
|
3461
|
-
|
3851
|
+
# Update properties of this object
|
3852
|
+
def update!(**args)
|
3853
|
+
@id = args[:id] if args.key?(:id)
|
3854
|
+
@name = args[:name] if args.key?(:name)
|
3855
|
+
end
|
3856
|
+
end
|
3857
|
+
|
3858
|
+
# AWS metadata associated with the resource, only applicable if the finding's
|
3859
|
+
# cloud provider is Amazon Web Services.
|
3860
|
+
class GoogleCloudSecuritycenterV2AwsMetadata
|
3861
|
+
include Google::Apis::Core::Hashable
|
3862
|
+
|
3863
|
+
# An AWS account that is a member of an organization.
|
3864
|
+
# Corresponds to the JSON property `account`
|
3865
|
+
# @return [Google::Apis::SecuritycenterV1beta1::GoogleCloudSecuritycenterV2AwsAccount]
|
3866
|
+
attr_accessor :account
|
3867
|
+
|
3868
|
+
# An organization is a collection of accounts that are centrally managed
|
3869
|
+
# together using consolidated billing, organized hierarchically with
|
3870
|
+
# organizational units (OUs), and controlled with policies.
|
3871
|
+
# Corresponds to the JSON property `organization`
|
3872
|
+
# @return [Google::Apis::SecuritycenterV1beta1::GoogleCloudSecuritycenterV2AwsOrganization]
|
3873
|
+
attr_accessor :organization
|
3874
|
+
|
3875
|
+
# A list of AWS organizational units associated with the resource, ordered from
|
3876
|
+
# lowest level (closest to the account) to highest level.
|
3877
|
+
# Corresponds to the JSON property `organizationalUnits`
|
3878
|
+
# @return [Array<Google::Apis::SecuritycenterV1beta1::GoogleCloudSecuritycenterV2AwsOrganizationalUnit>]
|
3879
|
+
attr_accessor :organizational_units
|
3880
|
+
|
3881
|
+
def initialize(**args)
|
3882
|
+
update!(**args)
|
3883
|
+
end
|
3884
|
+
|
3885
|
+
# Update properties of this object
|
3886
|
+
def update!(**args)
|
3887
|
+
@account = args[:account] if args.key?(:account)
|
3888
|
+
@organization = args[:organization] if args.key?(:organization)
|
3889
|
+
@organizational_units = args[:organizational_units] if args.key?(:organizational_units)
|
3890
|
+
end
|
3891
|
+
end
|
3892
|
+
|
3893
|
+
# An organization is a collection of accounts that are centrally managed
|
3894
|
+
# together using consolidated billing, organized hierarchically with
|
3895
|
+
# organizational units (OUs), and controlled with policies.
|
3896
|
+
class GoogleCloudSecuritycenterV2AwsOrganization
|
3897
|
+
include Google::Apis::Core::Hashable
|
3898
|
+
|
3899
|
+
# The unique identifier (ID) for the organization. The regex pattern for an
|
3900
|
+
# organization ID string requires "o-" followed by from 10 to 32 lowercase
|
3901
|
+
# letters or digits.
|
3902
|
+
# Corresponds to the JSON property `id`
|
3903
|
+
# @return [String]
|
3904
|
+
attr_accessor :id
|
3905
|
+
|
3906
|
+
def initialize(**args)
|
3907
|
+
update!(**args)
|
3908
|
+
end
|
3909
|
+
|
3910
|
+
# Update properties of this object
|
3911
|
+
def update!(**args)
|
3912
|
+
@id = args[:id] if args.key?(:id)
|
3913
|
+
end
|
3914
|
+
end
|
3915
|
+
|
3916
|
+
# An Organizational Unit (OU) is a container of AWS accounts within a root of an
|
3917
|
+
# organization. Policies that are attached to an OU apply to all accounts
|
3918
|
+
# contained in that OU and in any child OUs.
|
3919
|
+
class GoogleCloudSecuritycenterV2AwsOrganizationalUnit
|
3920
|
+
include Google::Apis::Core::Hashable
|
3921
|
+
|
3922
|
+
# The unique identifier (ID) associated with this OU. The regex pattern for an
|
3923
|
+
# organizational unit ID string requires "ou-" followed by from 4 to 32
|
3924
|
+
# lowercase letters or digits (the ID of the root that contains the OU). This
|
3925
|
+
# string is followed by a second "-" dash and from 8 to 32 additional lowercase
|
3926
|
+
# letters or digits. For example, "ou-ab12-cd34ef56".
|
3927
|
+
# Corresponds to the JSON property `id`
|
3928
|
+
# @return [String]
|
3929
|
+
attr_accessor :id
|
3930
|
+
|
3931
|
+
# The friendly name of the OU.
|
3932
|
+
# Corresponds to the JSON property `name`
|
3933
|
+
# @return [String]
|
3934
|
+
attr_accessor :name
|
3935
|
+
|
3936
|
+
def initialize(**args)
|
3937
|
+
update!(**args)
|
3938
|
+
end
|
3939
|
+
|
3940
|
+
# Update properties of this object
|
3941
|
+
def update!(**args)
|
3942
|
+
@id = args[:id] if args.key?(:id)
|
3943
|
+
@name = args[:name] if args.key?(:name)
|
3944
|
+
end
|
3945
|
+
end
|
3946
|
+
|
3947
|
+
# Information related to Google Cloud Backup and DR Service findings.
|
3948
|
+
class GoogleCloudSecuritycenterV2BackupDisasterRecovery
|
3949
|
+
include Google::Apis::Core::Hashable
|
3950
|
+
|
3951
|
+
# The name of the Backup and DR appliance that captures, moves, and manages the
|
3952
|
+
# lifecycle of backup data. For example, `backup-server-57137`.
|
3953
|
+
# Corresponds to the JSON property `appliance`
|
3954
|
+
# @return [String]
|
3955
|
+
attr_accessor :appliance
|
3956
|
+
|
3957
|
+
# The names of Backup and DR applications. An application is a VM, database, or
|
3958
|
+
# file system on a managed host monitored by a backup and recovery appliance.
|
3959
|
+
# For example, `centos7-01-vol00`, `centos7-01-vol01`, `centos7-01-vol02`.
|
3960
|
+
# Corresponds to the JSON property `applications`
|
3961
|
+
# @return [Array<String>]
|
3962
|
+
attr_accessor :applications
|
3963
|
+
|
3964
|
+
# The timestamp at which the Backup and DR backup was created.
|
3965
|
+
# Corresponds to the JSON property `backupCreateTime`
|
3966
|
+
# @return [String]
|
3967
|
+
attr_accessor :backup_create_time
|
3968
|
+
|
3969
|
+
# The name of a Backup and DR template which comprises one or more backup
|
3970
|
+
# policies. See the [Backup and DR documentation](https://cloud.google.com/
|
3971
|
+
# backup-disaster-recovery/docs/concepts/backup-plan#temp) for more information.
|
3972
|
+
# For example, `snap-ov`.
|
3973
|
+
# Corresponds to the JSON property `backupTemplate`
|
3974
|
+
# @return [String]
|
3975
|
+
attr_accessor :backup_template
|
3976
|
+
|
3977
|
+
# The backup type of the Backup and DR image. For example, `Snapshot`, `Remote
|
3978
|
+
# Snapshot`, `OnVault`.
|
3979
|
+
# Corresponds to the JSON property `backupType`
|
3980
|
+
# @return [String]
|
3462
3981
|
attr_accessor :backup_type
|
3463
3982
|
|
3464
3983
|
# The name of a Backup and DR host, which is managed by the backup and recovery
|
@@ -3657,6 +4176,61 @@ module Google
|
|
3657
4176
|
end
|
3658
4177
|
end
|
3659
4178
|
|
4179
|
+
# Fields related to Google Cloud Armor findings.
|
4180
|
+
class GoogleCloudSecuritycenterV2CloudArmor
|
4181
|
+
include Google::Apis::Core::Hashable
|
4182
|
+
|
4183
|
+
# Information about [Google Cloud Armor Adaptive Protection](https://cloud.
|
4184
|
+
# google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-
|
4185
|
+
# protection).
|
4186
|
+
# Corresponds to the JSON property `adaptiveProtection`
|
4187
|
+
# @return [Google::Apis::SecuritycenterV1beta1::GoogleCloudSecuritycenterV2AdaptiveProtection]
|
4188
|
+
attr_accessor :adaptive_protection
|
4189
|
+
|
4190
|
+
# Information about DDoS attack volume and classification.
|
4191
|
+
# Corresponds to the JSON property `attack`
|
4192
|
+
# @return [Google::Apis::SecuritycenterV1beta1::GoogleCloudSecuritycenterV2Attack]
|
4193
|
+
attr_accessor :attack
|
4194
|
+
|
4195
|
+
# Duration of attack from the start until the current moment (updated every 5
|
4196
|
+
# minutes).
|
4197
|
+
# Corresponds to the JSON property `duration`
|
4198
|
+
# @return [String]
|
4199
|
+
attr_accessor :duration
|
4200
|
+
|
4201
|
+
# Information about the requests relevant to the finding.
|
4202
|
+
# Corresponds to the JSON property `requests`
|
4203
|
+
# @return [Google::Apis::SecuritycenterV1beta1::GoogleCloudSecuritycenterV2Requests]
|
4204
|
+
attr_accessor :requests
|
4205
|
+
|
4206
|
+
# Information about the [Google Cloud Armor security policy](https://cloud.
|
4207
|
+
# google.com/armor/docs/security-policy-overview) relevant to the finding.
|
4208
|
+
# Corresponds to the JSON property `securityPolicy`
|
4209
|
+
# @return [Google::Apis::SecuritycenterV1beta1::GoogleCloudSecuritycenterV2SecurityPolicy]
|
4210
|
+
attr_accessor :security_policy
|
4211
|
+
|
4212
|
+
# Distinguish between volumetric & protocol DDoS attack and application layer
|
4213
|
+
# attacks. For example, “L3_4” for Layer 3 and Layer 4 DDoS attacks, or “L_7”
|
4214
|
+
# for Layer 7 DDoS attacks.
|
4215
|
+
# Corresponds to the JSON property `threatVector`
|
4216
|
+
# @return [String]
|
4217
|
+
attr_accessor :threat_vector
|
4218
|
+
|
4219
|
+
def initialize(**args)
|
4220
|
+
update!(**args)
|
4221
|
+
end
|
4222
|
+
|
4223
|
+
# Update properties of this object
|
4224
|
+
def update!(**args)
|
4225
|
+
@adaptive_protection = args[:adaptive_protection] if args.key?(:adaptive_protection)
|
4226
|
+
@attack = args[:attack] if args.key?(:attack)
|
4227
|
+
@duration = args[:duration] if args.key?(:duration)
|
4228
|
+
@requests = args[:requests] if args.key?(:requests)
|
4229
|
+
@security_policy = args[:security_policy] if args.key?(:security_policy)
|
4230
|
+
@threat_vector = args[:threat_vector] if args.key?(:threat_vector)
|
4231
|
+
end
|
4232
|
+
end
|
4233
|
+
|
3660
4234
|
# The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated
|
3661
4235
|
# with the finding.
|
3662
4236
|
class GoogleCloudSecuritycenterV2CloudDlpDataProfile
|
@@ -4473,6 +5047,11 @@ module Google
|
|
4473
5047
|
# @return [String]
|
4474
5048
|
attr_accessor :category
|
4475
5049
|
|
5050
|
+
# Fields related to Google Cloud Armor findings.
|
5051
|
+
# Corresponds to the JSON property `cloudArmor`
|
5052
|
+
# @return [Google::Apis::SecuritycenterV1beta1::GoogleCloudSecuritycenterV2CloudArmor]
|
5053
|
+
attr_accessor :cloud_armor
|
5054
|
+
|
4476
5055
|
# The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated
|
4477
5056
|
# with the finding.
|
4478
5057
|
# Corresponds to the JSON property `cloudDlpDataProfile`
|
@@ -4659,6 +5238,13 @@ module Google
|
|
4659
5238
|
# @return [String]
|
4660
5239
|
attr_accessor :next_steps
|
4661
5240
|
|
5241
|
+
# Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook]
|
5242
|
+
# (https://cloud.google.com/colab/docs/introduction) file, that is associated
|
5243
|
+
# with a finding.
|
5244
|
+
# Corresponds to the JSON property `notebook`
|
5245
|
+
# @return [Google::Apis::SecuritycenterV1beta1::GoogleCloudSecuritycenterV2Notebook]
|
5246
|
+
attr_accessor :notebook
|
5247
|
+
|
4662
5248
|
# Contains information about the org policies associated with the finding.
|
4663
5249
|
# Corresponds to the JSON property `orgPolicies`
|
4664
5250
|
# @return [Array<Google::Apis::SecuritycenterV1beta1::GoogleCloudSecuritycenterV2OrgPolicy>]
|
@@ -4749,6 +5335,7 @@ module Google
|
|
4749
5335
|
@backup_disaster_recovery = args[:backup_disaster_recovery] if args.key?(:backup_disaster_recovery)
|
4750
5336
|
@canonical_name = args[:canonical_name] if args.key?(:canonical_name)
|
4751
5337
|
@category = args[:category] if args.key?(:category)
|
5338
|
+
@cloud_armor = args[:cloud_armor] if args.key?(:cloud_armor)
|
4752
5339
|
@cloud_dlp_data_profile = args[:cloud_dlp_data_profile] if args.key?(:cloud_dlp_data_profile)
|
4753
5340
|
@cloud_dlp_inspection = args[:cloud_dlp_inspection] if args.key?(:cloud_dlp_inspection)
|
4754
5341
|
@compliances = args[:compliances] if args.key?(:compliances)
|
@@ -4777,6 +5364,7 @@ module Google
|
|
4777
5364
|
@mute_update_time = args[:mute_update_time] if args.key?(:mute_update_time)
|
4778
5365
|
@name = args[:name] if args.key?(:name)
|
4779
5366
|
@next_steps = args[:next_steps] if args.key?(:next_steps)
|
5367
|
+
@notebook = args[:notebook] if args.key?(:notebook)
|
4780
5368
|
@org_policies = args[:org_policies] if args.key?(:org_policies)
|
4781
5369
|
@parent = args[:parent] if args.key?(:parent)
|
4782
5370
|
@parent_display_name = args[:parent_display_name] if args.key?(:parent_display_name)
|
@@ -4791,6 +5379,32 @@ module Google
|
|
4791
5379
|
end
|
4792
5380
|
end
|
4793
5381
|
|
5382
|
+
# Message that contains the resource name and display name of a folder resource.
|
5383
|
+
class GoogleCloudSecuritycenterV2Folder
|
5384
|
+
include Google::Apis::Core::Hashable
|
5385
|
+
|
5386
|
+
# Full resource name of this folder. See: https://cloud.google.com/apis/design/
|
5387
|
+
# resource_names#full_resource_name
|
5388
|
+
# Corresponds to the JSON property `resourceFolder`
|
5389
|
+
# @return [String]
|
5390
|
+
attr_accessor :resource_folder
|
5391
|
+
|
5392
|
+
# The user defined display name for this folder.
|
5393
|
+
# Corresponds to the JSON property `resourceFolderDisplayName`
|
5394
|
+
# @return [String]
|
5395
|
+
attr_accessor :resource_folder_display_name
|
5396
|
+
|
5397
|
+
def initialize(**args)
|
5398
|
+
update!(**args)
|
5399
|
+
end
|
5400
|
+
|
5401
|
+
# Update properties of this object
|
5402
|
+
def update!(**args)
|
5403
|
+
@resource_folder = args[:resource_folder] if args.key?(:resource_folder)
|
5404
|
+
@resource_folder_display_name = args[:resource_folder_display_name] if args.key?(:resource_folder_display_name)
|
5405
|
+
end
|
5406
|
+
end
|
5407
|
+
|
4794
5408
|
# Represents a geographical location for a given access.
|
4795
5409
|
class GoogleCloudSecuritycenterV2Geolocation
|
4796
5410
|
include Google::Apis::Core::Hashable
|
@@ -5297,6 +5911,45 @@ module Google
|
|
5297
5911
|
end
|
5298
5912
|
end
|
5299
5913
|
|
5914
|
+
# Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook]
|
5915
|
+
# (https://cloud.google.com/colab/docs/introduction) file, that is associated
|
5916
|
+
# with a finding.
|
5917
|
+
class GoogleCloudSecuritycenterV2Notebook
|
5918
|
+
include Google::Apis::Core::Hashable
|
5919
|
+
|
5920
|
+
# The user ID of the latest author to modify the notebook.
|
5921
|
+
# Corresponds to the JSON property `lastAuthor`
|
5922
|
+
# @return [String]
|
5923
|
+
attr_accessor :last_author
|
5924
|
+
|
5925
|
+
# The name of the notebook.
|
5926
|
+
# Corresponds to the JSON property `name`
|
5927
|
+
# @return [String]
|
5928
|
+
attr_accessor :name
|
5929
|
+
|
5930
|
+
# The most recent time the notebook was updated.
|
5931
|
+
# Corresponds to the JSON property `notebookUpdateTime`
|
5932
|
+
# @return [String]
|
5933
|
+
attr_accessor :notebook_update_time
|
5934
|
+
|
5935
|
+
# The source notebook service, for example, "Colab Enterprise".
|
5936
|
+
# Corresponds to the JSON property `service`
|
5937
|
+
# @return [String]
|
5938
|
+
attr_accessor :service
|
5939
|
+
|
5940
|
+
def initialize(**args)
|
5941
|
+
update!(**args)
|
5942
|
+
end
|
5943
|
+
|
5944
|
+
# Update properties of this object
|
5945
|
+
def update!(**args)
|
5946
|
+
@last_author = args[:last_author] if args.key?(:last_author)
|
5947
|
+
@name = args[:name] if args.key?(:name)
|
5948
|
+
@notebook_update_time = args[:notebook_update_time] if args.key?(:notebook_update_time)
|
5949
|
+
@service = args[:service] if args.key?(:service)
|
5950
|
+
end
|
5951
|
+
end
|
5952
|
+
|
5300
5953
|
# Cloud SCC's Notification
|
5301
5954
|
class GoogleCloudSecuritycenterV2NotificationMessage
|
5302
5955
|
include Google::Apis::Core::Hashable
|
@@ -5643,21 +6296,105 @@ module Google
|
|
5643
6296
|
end
|
5644
6297
|
end
|
5645
6298
|
|
6299
|
+
# Information about the requests relevant to the finding.
|
6300
|
+
class GoogleCloudSecuritycenterV2Requests
|
6301
|
+
include Google::Apis::Core::Hashable
|
6302
|
+
|
6303
|
+
# Allowed RPS (requests per second) over the long term.
|
6304
|
+
# Corresponds to the JSON property `longTermAllowed`
|
6305
|
+
# @return [Fixnum]
|
6306
|
+
attr_accessor :long_term_allowed
|
6307
|
+
|
6308
|
+
# Denied RPS (requests per second) over the long term.
|
6309
|
+
# Corresponds to the JSON property `longTermDenied`
|
6310
|
+
# @return [Fixnum]
|
6311
|
+
attr_accessor :long_term_denied
|
6312
|
+
|
6313
|
+
# For 'Increasing deny ratio', the ratio is the denied traffic divided by the
|
6314
|
+
# allowed traffic. For 'Allowed traffic spike', the ratio is the allowed traffic
|
6315
|
+
# in the short term divided by allowed traffic in the long term.
|
6316
|
+
# Corresponds to the JSON property `ratio`
|
6317
|
+
# @return [Float]
|
6318
|
+
attr_accessor :ratio
|
6319
|
+
|
6320
|
+
# Allowed RPS (requests per second) in the short term.
|
6321
|
+
# Corresponds to the JSON property `shortTermAllowed`
|
6322
|
+
# @return [Fixnum]
|
6323
|
+
attr_accessor :short_term_allowed
|
6324
|
+
|
6325
|
+
def initialize(**args)
|
6326
|
+
update!(**args)
|
6327
|
+
end
|
6328
|
+
|
6329
|
+
# Update properties of this object
|
6330
|
+
def update!(**args)
|
6331
|
+
@long_term_allowed = args[:long_term_allowed] if args.key?(:long_term_allowed)
|
6332
|
+
@long_term_denied = args[:long_term_denied] if args.key?(:long_term_denied)
|
6333
|
+
@ratio = args[:ratio] if args.key?(:ratio)
|
6334
|
+
@short_term_allowed = args[:short_term_allowed] if args.key?(:short_term_allowed)
|
6335
|
+
end
|
6336
|
+
end
|
6337
|
+
|
5646
6338
|
# Information related to the Google Cloud resource.
|
5647
6339
|
class GoogleCloudSecuritycenterV2Resource
|
5648
6340
|
include Google::Apis::Core::Hashable
|
5649
6341
|
|
6342
|
+
# AWS metadata associated with the resource, only applicable if the finding's
|
6343
|
+
# cloud provider is Amazon Web Services.
|
6344
|
+
# Corresponds to the JSON property `awsMetadata`
|
6345
|
+
# @return [Google::Apis::SecuritycenterV1beta1::GoogleCloudSecuritycenterV2AwsMetadata]
|
6346
|
+
attr_accessor :aws_metadata
|
6347
|
+
|
6348
|
+
# Indicates which cloud provider the finding is from.
|
6349
|
+
# Corresponds to the JSON property `cloudProvider`
|
6350
|
+
# @return [String]
|
6351
|
+
attr_accessor :cloud_provider
|
6352
|
+
|
5650
6353
|
# The human readable name of the resource.
|
5651
6354
|
# Corresponds to the JSON property `displayName`
|
5652
6355
|
# @return [String]
|
5653
6356
|
attr_accessor :display_name
|
5654
6357
|
|
6358
|
+
# GCP metadata associated with the resource, only applicable if the finding's
|
6359
|
+
# cloud provider is Google Cloud Platform.
|
6360
|
+
# Corresponds to the JSON property `gcpMetadata`
|
6361
|
+
# @return [Google::Apis::SecuritycenterV1beta1::GcpMetadata]
|
6362
|
+
attr_accessor :gcp_metadata
|
6363
|
+
|
6364
|
+
# The region or location of the service (if applicable).
|
6365
|
+
# Corresponds to the JSON property `location`
|
6366
|
+
# @return [String]
|
6367
|
+
attr_accessor :location
|
6368
|
+
|
5655
6369
|
# The full resource name of the resource. See: https://cloud.google.com/apis/
|
5656
6370
|
# design/resource_names#full_resource_name
|
5657
6371
|
# Corresponds to the JSON property `name`
|
5658
6372
|
# @return [String]
|
5659
6373
|
attr_accessor :name
|
5660
6374
|
|
6375
|
+
# Represents the path of resources leading up to the resource this finding is
|
6376
|
+
# about.
|
6377
|
+
# Corresponds to the JSON property `resourcePath`
|
6378
|
+
# @return [Google::Apis::SecuritycenterV1beta1::GoogleCloudSecuritycenterV2ResourcePath]
|
6379
|
+
attr_accessor :resource_path
|
6380
|
+
|
6381
|
+
# A string representation of the resource path. For GCP, it has the format of:
|
6382
|
+
# organizations/`organization_id`/folders/`folder_id`/folders/`folder_id`/
|
6383
|
+
# projects/`project_id` where there can be any number of folders. For AWS, it
|
6384
|
+
# has the format of: org/`organization_id`/ou/`organizational_unit_id`/ou/`
|
6385
|
+
# organizational_unit_id`/account/`account_id` where there can be any number of
|
6386
|
+
# organizational units. For Azure, it has the format of: mg/`management_group_id`
|
6387
|
+
# /mg/`management_group_id`/subscription/`subscription_id`/rg/`
|
6388
|
+
# resource_group_name` where there can be any number of management groups.
|
6389
|
+
# Corresponds to the JSON property `resourcePathString`
|
6390
|
+
# @return [String]
|
6391
|
+
attr_accessor :resource_path_string
|
6392
|
+
|
6393
|
+
# The service or resource provider associated with the resource.
|
6394
|
+
# Corresponds to the JSON property `service`
|
6395
|
+
# @return [String]
|
6396
|
+
attr_accessor :service
|
6397
|
+
|
5661
6398
|
# The full resource type of the resource.
|
5662
6399
|
# Corresponds to the JSON property `type`
|
5663
6400
|
# @return [String]
|
@@ -5669,17 +6406,82 @@ module Google
|
|
5669
6406
|
|
5670
6407
|
# Update properties of this object
|
5671
6408
|
def update!(**args)
|
6409
|
+
@aws_metadata = args[:aws_metadata] if args.key?(:aws_metadata)
|
6410
|
+
@cloud_provider = args[:cloud_provider] if args.key?(:cloud_provider)
|
5672
6411
|
@display_name = args[:display_name] if args.key?(:display_name)
|
6412
|
+
@gcp_metadata = args[:gcp_metadata] if args.key?(:gcp_metadata)
|
6413
|
+
@location = args[:location] if args.key?(:location)
|
5673
6414
|
@name = args[:name] if args.key?(:name)
|
6415
|
+
@resource_path = args[:resource_path] if args.key?(:resource_path)
|
6416
|
+
@resource_path_string = args[:resource_path_string] if args.key?(:resource_path_string)
|
6417
|
+
@service = args[:service] if args.key?(:service)
|
5674
6418
|
@type = args[:type] if args.key?(:type)
|
5675
6419
|
end
|
5676
6420
|
end
|
5677
6421
|
|
6422
|
+
# Represents the path of resources leading up to the resource this finding is
|
6423
|
+
# about.
|
6424
|
+
class GoogleCloudSecuritycenterV2ResourcePath
|
6425
|
+
include Google::Apis::Core::Hashable
|
6426
|
+
|
6427
|
+
# The list of nodes that make the up resource path, ordered from lowest level to
|
6428
|
+
# highest level.
|
6429
|
+
# Corresponds to the JSON property `nodes`
|
6430
|
+
# @return [Array<Google::Apis::SecuritycenterV1beta1::GoogleCloudSecuritycenterV2ResourcePathNode>]
|
6431
|
+
attr_accessor :nodes
|
6432
|
+
|
6433
|
+
def initialize(**args)
|
6434
|
+
update!(**args)
|
6435
|
+
end
|
6436
|
+
|
6437
|
+
# Update properties of this object
|
6438
|
+
def update!(**args)
|
6439
|
+
@nodes = args[:nodes] if args.key?(:nodes)
|
6440
|
+
end
|
6441
|
+
end
|
6442
|
+
|
6443
|
+
# A node within the resource path. Each node represents a resource within the
|
6444
|
+
# resource hierarchy.
|
6445
|
+
class GoogleCloudSecuritycenterV2ResourcePathNode
|
6446
|
+
include Google::Apis::Core::Hashable
|
6447
|
+
|
6448
|
+
# The display name of the resource this node represents.
|
6449
|
+
# Corresponds to the JSON property `displayName`
|
6450
|
+
# @return [String]
|
6451
|
+
attr_accessor :display_name
|
6452
|
+
|
6453
|
+
# The ID of the resource this node represents.
|
6454
|
+
# Corresponds to the JSON property `id`
|
6455
|
+
# @return [String]
|
6456
|
+
attr_accessor :id
|
6457
|
+
|
6458
|
+
# The type of resource this node represents.
|
6459
|
+
# Corresponds to the JSON property `nodeType`
|
6460
|
+
# @return [String]
|
6461
|
+
attr_accessor :node_type
|
6462
|
+
|
6463
|
+
def initialize(**args)
|
6464
|
+
update!(**args)
|
6465
|
+
end
|
6466
|
+
|
6467
|
+
# Update properties of this object
|
6468
|
+
def update!(**args)
|
6469
|
+
@display_name = args[:display_name] if args.key?(:display_name)
|
6470
|
+
@id = args[:id] if args.key?(:id)
|
6471
|
+
@node_type = args[:node_type] if args.key?(:node_type)
|
6472
|
+
end
|
6473
|
+
end
|
6474
|
+
|
5678
6475
|
# A resource value config (RVC) is a mapping configuration of user's resources
|
5679
6476
|
# to resource values. Used in Attack path simulations.
|
5680
6477
|
class GoogleCloudSecuritycenterV2ResourceValueConfig
|
5681
6478
|
include Google::Apis::Core::Hashable
|
5682
6479
|
|
6480
|
+
# Cloud provider this configuration applies to
|
6481
|
+
# Corresponds to the JSON property `cloudProvider`
|
6482
|
+
# @return [String]
|
6483
|
+
attr_accessor :cloud_provider
|
6484
|
+
|
5683
6485
|
# Output only. Timestamp this resource value config was created.
|
5684
6486
|
# Corresponds to the JSON property `createTime`
|
5685
6487
|
# @return [String]
|
@@ -5749,6 +6551,7 @@ module Google
|
|
5749
6551
|
|
5750
6552
|
# Update properties of this object
|
5751
6553
|
def update!(**args)
|
6554
|
+
@cloud_provider = args[:cloud_provider] if args.key?(:cloud_provider)
|
5752
6555
|
@create_time = args[:create_time] if args.key?(:create_time)
|
5753
6556
|
@description = args[:description] if args.key?(:description)
|
5754
6557
|
@name = args[:name] if args.key?(:name)
|
@@ -5833,17 +6636,17 @@ module Google
|
|
5833
6636
|
include Google::Apis::Core::Hashable
|
5834
6637
|
|
5835
6638
|
# The canonical name of the marks. The following list shows some examples: + `
|
5836
|
-
# organizations/`organization_id`/assets/`asset_id`/securityMarks
|
6639
|
+
# organizations/`organization_id`/assets/`asset_id`/securityMarks` + `
|
5837
6640
|
# organizations/`organization_id`/sources/`source_id`/findings/`finding_id`/
|
5838
|
-
# securityMarks
|
5839
|
-
# locations/`location`/findings/`finding_id`/securityMarks
|
5840
|
-
# folder_id`/assets/`asset_id`/securityMarks
|
5841
|
-
# source_id`/findings/`finding_id`/securityMarks
|
5842
|
-
# `source_id`/locations/`location`/findings/`finding_id`/securityMarks
|
5843
|
-
# projects/`project_number`/assets/`asset_id`/securityMarks
|
5844
|
-
# project_number`/sources/`source_id`/findings/`finding_id`/securityMarks
|
6641
|
+
# securityMarks` + `organizations/`organization_id`/sources/`source_id`/
|
6642
|
+
# locations/`location`/findings/`finding_id`/securityMarks` + `folders/`
|
6643
|
+
# folder_id`/assets/`asset_id`/securityMarks` + `folders/`folder_id`/sources/`
|
6644
|
+
# source_id`/findings/`finding_id`/securityMarks` + `folders/`folder_id`/sources/
|
6645
|
+
# `source_id`/locations/`location`/findings/`finding_id`/securityMarks` + `
|
6646
|
+
# projects/`project_number`/assets/`asset_id`/securityMarks` + `projects/`
|
6647
|
+
# project_number`/sources/`source_id`/findings/`finding_id`/securityMarks` + `
|
5845
6648
|
# projects/`project_number`/sources/`source_id`/locations/`location`/findings/`
|
5846
|
-
# finding_id`/securityMarks
|
6649
|
+
# finding_id`/securityMarks`
|
5847
6650
|
# Corresponds to the JSON property `canonicalName`
|
5848
6651
|
# @return [String]
|
5849
6652
|
attr_accessor :canonical_name
|
@@ -5879,6 +6682,42 @@ module Google
|
|
5879
6682
|
end
|
5880
6683
|
end
|
5881
6684
|
|
6685
|
+
# Information about the [Google Cloud Armor security policy](https://cloud.
|
6686
|
+
# google.com/armor/docs/security-policy-overview) relevant to the finding.
|
6687
|
+
class GoogleCloudSecuritycenterV2SecurityPolicy
|
6688
|
+
include Google::Apis::Core::Hashable
|
6689
|
+
|
6690
|
+
# The name of the Google Cloud Armor security policy, for example, "my-security-
|
6691
|
+
# policy".
|
6692
|
+
# Corresponds to the JSON property `name`
|
6693
|
+
# @return [String]
|
6694
|
+
attr_accessor :name
|
6695
|
+
|
6696
|
+
# Whether or not the associated rule or policy is in preview mode.
|
6697
|
+
# Corresponds to the JSON property `preview`
|
6698
|
+
# @return [Boolean]
|
6699
|
+
attr_accessor :preview
|
6700
|
+
alias_method :preview?, :preview
|
6701
|
+
|
6702
|
+
# The type of Google Cloud Armor security policy for example, ‘backend security
|
6703
|
+
# policy’, ‘edge security policy’, ‘network edge security policy’, or ‘always-on
|
6704
|
+
# DDoS protection’.
|
6705
|
+
# Corresponds to the JSON property `type`
|
6706
|
+
# @return [String]
|
6707
|
+
attr_accessor :type
|
6708
|
+
|
6709
|
+
def initialize(**args)
|
6710
|
+
update!(**args)
|
6711
|
+
end
|
6712
|
+
|
6713
|
+
# Update properties of this object
|
6714
|
+
def update!(**args)
|
6715
|
+
@name = args[:name] if args.key?(:name)
|
6716
|
+
@preview = args[:preview] if args.key?(:preview)
|
6717
|
+
@type = args[:type] if args.key?(:type)
|
6718
|
+
end
|
6719
|
+
end
|
6720
|
+
|
5882
6721
|
# Represents a posture that is deployed on Google Cloud by the Security Command
|
5883
6722
|
# Center Posture Management service. A posture contains one or more policy sets.
|
5884
6723
|
# A policy set is a group of policies that enforce a set of security rules on
|
@@ -6950,6 +7789,45 @@ module Google
|
|
6950
7789
|
end
|
6951
7790
|
end
|
6952
7791
|
|
7792
|
+
# Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook]
|
7793
|
+
# (https://cloud.google.com/colab/docs/introduction) file, that is associated
|
7794
|
+
# with a finding.
|
7795
|
+
class Notebook
|
7796
|
+
include Google::Apis::Core::Hashable
|
7797
|
+
|
7798
|
+
# The user ID of the latest author to modify the notebook.
|
7799
|
+
# Corresponds to the JSON property `lastAuthor`
|
7800
|
+
# @return [String]
|
7801
|
+
attr_accessor :last_author
|
7802
|
+
|
7803
|
+
# The name of the notebook.
|
7804
|
+
# Corresponds to the JSON property `name`
|
7805
|
+
# @return [String]
|
7806
|
+
attr_accessor :name
|
7807
|
+
|
7808
|
+
# The most recent time the notebook was updated.
|
7809
|
+
# Corresponds to the JSON property `notebookUpdateTime`
|
7810
|
+
# @return [String]
|
7811
|
+
attr_accessor :notebook_update_time
|
7812
|
+
|
7813
|
+
# The source notebook service, for example, "Colab Enterprise".
|
7814
|
+
# Corresponds to the JSON property `service`
|
7815
|
+
# @return [String]
|
7816
|
+
attr_accessor :service
|
7817
|
+
|
7818
|
+
def initialize(**args)
|
7819
|
+
update!(**args)
|
7820
|
+
end
|
7821
|
+
|
7822
|
+
# Update properties of this object
|
7823
|
+
def update!(**args)
|
7824
|
+
@last_author = args[:last_author] if args.key?(:last_author)
|
7825
|
+
@name = args[:name] if args.key?(:name)
|
7826
|
+
@notebook_update_time = args[:notebook_update_time] if args.key?(:notebook_update_time)
|
7827
|
+
@service = args[:service] if args.key?(:service)
|
7828
|
+
end
|
7829
|
+
end
|
7830
|
+
|
6953
7831
|
# Kubernetes object related to the finding, uniquely identified by GKNN. Used if
|
6954
7832
|
# the object Kind is not one of Pod, Node, NodePool, Binding, or AccessReview.
|
6955
7833
|
class Object
|
@@ -7455,6 +8333,98 @@ module Google
|
|
7455
8333
|
end
|
7456
8334
|
end
|
7457
8335
|
|
8336
|
+
# Information about the requests relevant to the finding.
|
8337
|
+
class Requests
|
8338
|
+
include Google::Apis::Core::Hashable
|
8339
|
+
|
8340
|
+
# Allowed RPS (requests per second) over the long term.
|
8341
|
+
# Corresponds to the JSON property `longTermAllowed`
|
8342
|
+
# @return [Fixnum]
|
8343
|
+
attr_accessor :long_term_allowed
|
8344
|
+
|
8345
|
+
# Denied RPS (requests per second) over the long term.
|
8346
|
+
# Corresponds to the JSON property `longTermDenied`
|
8347
|
+
# @return [Fixnum]
|
8348
|
+
attr_accessor :long_term_denied
|
8349
|
+
|
8350
|
+
# For 'Increasing deny ratio', the ratio is the denied traffic divided by the
|
8351
|
+
# allowed traffic. For 'Allowed traffic spike', the ratio is the allowed traffic
|
8352
|
+
# in the short term divided by allowed traffic in the long term.
|
8353
|
+
# Corresponds to the JSON property `ratio`
|
8354
|
+
# @return [Float]
|
8355
|
+
attr_accessor :ratio
|
8356
|
+
|
8357
|
+
# Allowed RPS (requests per second) in the short term.
|
8358
|
+
# Corresponds to the JSON property `shortTermAllowed`
|
8359
|
+
# @return [Fixnum]
|
8360
|
+
attr_accessor :short_term_allowed
|
8361
|
+
|
8362
|
+
def initialize(**args)
|
8363
|
+
update!(**args)
|
8364
|
+
end
|
8365
|
+
|
8366
|
+
# Update properties of this object
|
8367
|
+
def update!(**args)
|
8368
|
+
@long_term_allowed = args[:long_term_allowed] if args.key?(:long_term_allowed)
|
8369
|
+
@long_term_denied = args[:long_term_denied] if args.key?(:long_term_denied)
|
8370
|
+
@ratio = args[:ratio] if args.key?(:ratio)
|
8371
|
+
@short_term_allowed = args[:short_term_allowed] if args.key?(:short_term_allowed)
|
8372
|
+
end
|
8373
|
+
end
|
8374
|
+
|
8375
|
+
# Represents the path of resources leading up to the resource this finding is
|
8376
|
+
# about.
|
8377
|
+
class ResourcePath
|
8378
|
+
include Google::Apis::Core::Hashable
|
8379
|
+
|
8380
|
+
# The list of nodes that make the up resource path, ordered from lowest level to
|
8381
|
+
# highest level.
|
8382
|
+
# Corresponds to the JSON property `nodes`
|
8383
|
+
# @return [Array<Google::Apis::SecuritycenterV1beta1::ResourcePathNode>]
|
8384
|
+
attr_accessor :nodes
|
8385
|
+
|
8386
|
+
def initialize(**args)
|
8387
|
+
update!(**args)
|
8388
|
+
end
|
8389
|
+
|
8390
|
+
# Update properties of this object
|
8391
|
+
def update!(**args)
|
8392
|
+
@nodes = args[:nodes] if args.key?(:nodes)
|
8393
|
+
end
|
8394
|
+
end
|
8395
|
+
|
8396
|
+
# A node within the resource path. Each node represents a resource within the
|
8397
|
+
# resource hierarchy.
|
8398
|
+
class ResourcePathNode
|
8399
|
+
include Google::Apis::Core::Hashable
|
8400
|
+
|
8401
|
+
# The display name of the resource this node represents.
|
8402
|
+
# Corresponds to the JSON property `displayName`
|
8403
|
+
# @return [String]
|
8404
|
+
attr_accessor :display_name
|
8405
|
+
|
8406
|
+
# The ID of the resource this node represents.
|
8407
|
+
# Corresponds to the JSON property `id`
|
8408
|
+
# @return [String]
|
8409
|
+
attr_accessor :id
|
8410
|
+
|
8411
|
+
# The type of resource this node represents.
|
8412
|
+
# Corresponds to the JSON property `nodeType`
|
8413
|
+
# @return [String]
|
8414
|
+
attr_accessor :node_type
|
8415
|
+
|
8416
|
+
def initialize(**args)
|
8417
|
+
update!(**args)
|
8418
|
+
end
|
8419
|
+
|
8420
|
+
# Update properties of this object
|
8421
|
+
def update!(**args)
|
8422
|
+
@display_name = args[:display_name] if args.key?(:display_name)
|
8423
|
+
@id = args[:id] if args.key?(:id)
|
8424
|
+
@node_type = args[:node_type] if args.key?(:node_type)
|
8425
|
+
end
|
8426
|
+
end
|
8427
|
+
|
7458
8428
|
# Kubernetes Role or ClusterRole.
|
7459
8429
|
class Role
|
7460
8430
|
include Google::Apis::Core::Hashable
|
@@ -7628,6 +8598,42 @@ module Google
|
|
7628
8598
|
end
|
7629
8599
|
end
|
7630
8600
|
|
8601
|
+
# Information about the [Google Cloud Armor security policy](https://cloud.
|
8602
|
+
# google.com/armor/docs/security-policy-overview) relevant to the finding.
|
8603
|
+
class SecurityPolicy
|
8604
|
+
include Google::Apis::Core::Hashable
|
8605
|
+
|
8606
|
+
# The name of the Google Cloud Armor security policy, for example, "my-security-
|
8607
|
+
# policy".
|
8608
|
+
# Corresponds to the JSON property `name`
|
8609
|
+
# @return [String]
|
8610
|
+
attr_accessor :name
|
8611
|
+
|
8612
|
+
# Whether or not the associated rule or policy is in preview mode.
|
8613
|
+
# Corresponds to the JSON property `preview`
|
8614
|
+
# @return [Boolean]
|
8615
|
+
attr_accessor :preview
|
8616
|
+
alias_method :preview?, :preview
|
8617
|
+
|
8618
|
+
# The type of Google Cloud Armor security policy for example, ‘backend security
|
8619
|
+
# policy’, ‘edge security policy’, ‘network edge security policy’, or ‘always-on
|
8620
|
+
# DDoS protection’.
|
8621
|
+
# Corresponds to the JSON property `type`
|
8622
|
+
# @return [String]
|
8623
|
+
attr_accessor :type
|
8624
|
+
|
8625
|
+
def initialize(**args)
|
8626
|
+
update!(**args)
|
8627
|
+
end
|
8628
|
+
|
8629
|
+
# Update properties of this object
|
8630
|
+
def update!(**args)
|
8631
|
+
@name = args[:name] if args.key?(:name)
|
8632
|
+
@preview = args[:preview] if args.key?(:preview)
|
8633
|
+
@type = args[:type] if args.key?(:type)
|
8634
|
+
end
|
8635
|
+
end
|
8636
|
+
|
7631
8637
|
# Represents a posture that is deployed on Google Cloud by the Security Command
|
7632
8638
|
# Center Posture Management service. A posture contains one or more policy sets.
|
7633
8639
|
# A policy set is a group of policies that enforce a set of security rules on
|
@@ -8046,6 +9052,63 @@ module Google
|
|
8046
9052
|
end
|
8047
9053
|
end
|
8048
9054
|
|
9055
|
+
# Vulnerability count by severity.
|
9056
|
+
class VulnerabilityCountBySeverity
|
9057
|
+
include Google::Apis::Core::Hashable
|
9058
|
+
|
9059
|
+
# Key is the Severity enum.
|
9060
|
+
# Corresponds to the JSON property `severityToFindingCount`
|
9061
|
+
# @return [Hash<String,Fixnum>]
|
9062
|
+
attr_accessor :severity_to_finding_count
|
9063
|
+
|
9064
|
+
def initialize(**args)
|
9065
|
+
update!(**args)
|
9066
|
+
end
|
9067
|
+
|
9068
|
+
# Update properties of this object
|
9069
|
+
def update!(**args)
|
9070
|
+
@severity_to_finding_count = args[:severity_to_finding_count] if args.key?(:severity_to_finding_count)
|
9071
|
+
end
|
9072
|
+
end
|
9073
|
+
|
9074
|
+
# Result containing the properties and count of a VulnerabilitySnapshot request.
|
9075
|
+
class VulnerabilitySnapshot
|
9076
|
+
include Google::Apis::Core::Hashable
|
9077
|
+
|
9078
|
+
# The cloud provider for the vulnerability snapshot.
|
9079
|
+
# Corresponds to the JSON property `cloudProvider`
|
9080
|
+
# @return [String]
|
9081
|
+
attr_accessor :cloud_provider
|
9082
|
+
|
9083
|
+
# Vulnerability count by severity.
|
9084
|
+
# Corresponds to the JSON property `findingCount`
|
9085
|
+
# @return [Google::Apis::SecuritycenterV1beta1::VulnerabilityCountBySeverity]
|
9086
|
+
attr_accessor :finding_count
|
9087
|
+
|
9088
|
+
# Identifier. The vulnerability snapshot name. Format: //locations//
|
9089
|
+
# vulnerabilitySnapshots/
|
9090
|
+
# Corresponds to the JSON property `name`
|
9091
|
+
# @return [String]
|
9092
|
+
attr_accessor :name
|
9093
|
+
|
9094
|
+
# The time that the snapshot was taken.
|
9095
|
+
# Corresponds to the JSON property `snapshotTime`
|
9096
|
+
# @return [String]
|
9097
|
+
attr_accessor :snapshot_time
|
9098
|
+
|
9099
|
+
def initialize(**args)
|
9100
|
+
update!(**args)
|
9101
|
+
end
|
9102
|
+
|
9103
|
+
# Update properties of this object
|
9104
|
+
def update!(**args)
|
9105
|
+
@cloud_provider = args[:cloud_provider] if args.key?(:cloud_provider)
|
9106
|
+
@finding_count = args[:finding_count] if args.key?(:finding_count)
|
9107
|
+
@name = args[:name] if args.key?(:name)
|
9108
|
+
@snapshot_time = args[:snapshot_time] if args.key?(:snapshot_time)
|
9109
|
+
end
|
9110
|
+
end
|
9111
|
+
|
8049
9112
|
# A signature corresponding to a YARA rule.
|
8050
9113
|
class YaraRuleSignature
|
8051
9114
|
include Google::Apis::Core::Hashable
|