google-apis-securitycenter_v1beta1 0.74.0 → 0.75.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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
|