google-apis-securitycenter_v1beta2 0.66.0 → 0.68.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
|
@@ -213,6 +238,37 @@ module Google
|
|
213
238
|
end
|
214
239
|
end
|
215
240
|
|
241
|
+
# Information about DDoS attack volume and classification.
|
242
|
+
class Attack
|
243
|
+
include Google::Apis::Core::Hashable
|
244
|
+
|
245
|
+
# Type of attack, for example, 'SYN-flood', 'NTP-udp', or 'CHARGEN-udp'.
|
246
|
+
# Corresponds to the JSON property `classification`
|
247
|
+
# @return [String]
|
248
|
+
attr_accessor :classification
|
249
|
+
|
250
|
+
# Total BPS (bytes per second) volume of attack.
|
251
|
+
# Corresponds to the JSON property `volumeBps`
|
252
|
+
# @return [Fixnum]
|
253
|
+
attr_accessor :volume_bps
|
254
|
+
|
255
|
+
# Total PPS (packets per second) volume of attack.
|
256
|
+
# Corresponds to the JSON property `volumePps`
|
257
|
+
# @return [Fixnum]
|
258
|
+
attr_accessor :volume_pps
|
259
|
+
|
260
|
+
def initialize(**args)
|
261
|
+
update!(**args)
|
262
|
+
end
|
263
|
+
|
264
|
+
# Update properties of this object
|
265
|
+
def update!(**args)
|
266
|
+
@classification = args[:classification] if args.key?(:classification)
|
267
|
+
@volume_bps = args[:volume_bps] if args.key?(:volume_bps)
|
268
|
+
@volume_pps = args[:volume_pps] if args.key?(:volume_pps)
|
269
|
+
end
|
270
|
+
end
|
271
|
+
|
216
272
|
# An attack exposure contains the results of an attack path simulation run.
|
217
273
|
class AttackExposure
|
218
274
|
include Google::Apis::Core::Hashable
|
@@ -276,6 +332,120 @@ module Google
|
|
276
332
|
end
|
277
333
|
end
|
278
334
|
|
335
|
+
# An AWS account that is a member of an organization.
|
336
|
+
class AwsAccount
|
337
|
+
include Google::Apis::Core::Hashable
|
338
|
+
|
339
|
+
# The unique identifier (ID) of the account, containing exactly 12 digits.
|
340
|
+
# Corresponds to the JSON property `id`
|
341
|
+
# @return [String]
|
342
|
+
attr_accessor :id
|
343
|
+
|
344
|
+
# The friendly name of this account.
|
345
|
+
# Corresponds to the JSON property `name`
|
346
|
+
# @return [String]
|
347
|
+
attr_accessor :name
|
348
|
+
|
349
|
+
def initialize(**args)
|
350
|
+
update!(**args)
|
351
|
+
end
|
352
|
+
|
353
|
+
# Update properties of this object
|
354
|
+
def update!(**args)
|
355
|
+
@id = args[:id] if args.key?(:id)
|
356
|
+
@name = args[:name] if args.key?(:name)
|
357
|
+
end
|
358
|
+
end
|
359
|
+
|
360
|
+
# AWS metadata associated with the resource, only applicable if the finding's
|
361
|
+
# cloud provider is Amazon Web Services.
|
362
|
+
class AwsMetadata
|
363
|
+
include Google::Apis::Core::Hashable
|
364
|
+
|
365
|
+
# An AWS account that is a member of an organization.
|
366
|
+
# Corresponds to the JSON property `account`
|
367
|
+
# @return [Google::Apis::SecuritycenterV1beta2::AwsAccount]
|
368
|
+
attr_accessor :account
|
369
|
+
|
370
|
+
# An organization is a collection of accounts that are centrally managed
|
371
|
+
# together using consolidated billing, organized hierarchically with
|
372
|
+
# organizational units (OUs), and controlled with policies.
|
373
|
+
# Corresponds to the JSON property `organization`
|
374
|
+
# @return [Google::Apis::SecuritycenterV1beta2::AwsOrganization]
|
375
|
+
attr_accessor :organization
|
376
|
+
|
377
|
+
# A list of AWS organizational units associated with the resource, ordered from
|
378
|
+
# lowest level (closest to the account) to highest level.
|
379
|
+
# Corresponds to the JSON property `organizationalUnits`
|
380
|
+
# @return [Array<Google::Apis::SecuritycenterV1beta2::AwsOrganizationalUnit>]
|
381
|
+
attr_accessor :organizational_units
|
382
|
+
|
383
|
+
def initialize(**args)
|
384
|
+
update!(**args)
|
385
|
+
end
|
386
|
+
|
387
|
+
# Update properties of this object
|
388
|
+
def update!(**args)
|
389
|
+
@account = args[:account] if args.key?(:account)
|
390
|
+
@organization = args[:organization] if args.key?(:organization)
|
391
|
+
@organizational_units = args[:organizational_units] if args.key?(:organizational_units)
|
392
|
+
end
|
393
|
+
end
|
394
|
+
|
395
|
+
# An organization is a collection of accounts that are centrally managed
|
396
|
+
# together using consolidated billing, organized hierarchically with
|
397
|
+
# organizational units (OUs), and controlled with policies.
|
398
|
+
class AwsOrganization
|
399
|
+
include Google::Apis::Core::Hashable
|
400
|
+
|
401
|
+
# The unique identifier (ID) for the organization. The regex pattern for an
|
402
|
+
# organization ID string requires "o-" followed by from 10 to 32 lowercase
|
403
|
+
# letters or digits.
|
404
|
+
# Corresponds to the JSON property `id`
|
405
|
+
# @return [String]
|
406
|
+
attr_accessor :id
|
407
|
+
|
408
|
+
def initialize(**args)
|
409
|
+
update!(**args)
|
410
|
+
end
|
411
|
+
|
412
|
+
# Update properties of this object
|
413
|
+
def update!(**args)
|
414
|
+
@id = args[:id] if args.key?(:id)
|
415
|
+
end
|
416
|
+
end
|
417
|
+
|
418
|
+
# An Organizational Unit (OU) is a container of AWS accounts within a root of an
|
419
|
+
# organization. Policies that are attached to an OU apply to all accounts
|
420
|
+
# contained in that OU and in any child OUs.
|
421
|
+
class AwsOrganizationalUnit
|
422
|
+
include Google::Apis::Core::Hashable
|
423
|
+
|
424
|
+
# The unique identifier (ID) associated with this OU. The regex pattern for an
|
425
|
+
# organizational unit ID string requires "ou-" followed by from 4 to 32
|
426
|
+
# lowercase letters or digits (the ID of the root that contains the OU). This
|
427
|
+
# string is followed by a second "-" dash and from 8 to 32 additional lowercase
|
428
|
+
# letters or digits. For example, "ou-ab12-cd34ef56".
|
429
|
+
# Corresponds to the JSON property `id`
|
430
|
+
# @return [String]
|
431
|
+
attr_accessor :id
|
432
|
+
|
433
|
+
# The friendly name of the OU.
|
434
|
+
# Corresponds to the JSON property `name`
|
435
|
+
# @return [String]
|
436
|
+
attr_accessor :name
|
437
|
+
|
438
|
+
def initialize(**args)
|
439
|
+
update!(**args)
|
440
|
+
end
|
441
|
+
|
442
|
+
# Update properties of this object
|
443
|
+
def update!(**args)
|
444
|
+
@id = args[:id] if args.key?(:id)
|
445
|
+
@name = args[:name] if args.key?(:name)
|
446
|
+
end
|
447
|
+
end
|
448
|
+
|
279
449
|
# Information related to Google Cloud Backup and DR Service findings.
|
280
450
|
class BackupDisasterRecovery
|
281
451
|
include Google::Apis::Core::Hashable
|
@@ -373,6 +543,61 @@ module Google
|
|
373
543
|
end
|
374
544
|
end
|
375
545
|
|
546
|
+
# Fields related to Google Cloud Armor findings.
|
547
|
+
class CloudArmor
|
548
|
+
include Google::Apis::Core::Hashable
|
549
|
+
|
550
|
+
# Information about [Google Cloud Armor Adaptive Protection](https://cloud.
|
551
|
+
# google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-
|
552
|
+
# protection).
|
553
|
+
# Corresponds to the JSON property `adaptiveProtection`
|
554
|
+
# @return [Google::Apis::SecuritycenterV1beta2::AdaptiveProtection]
|
555
|
+
attr_accessor :adaptive_protection
|
556
|
+
|
557
|
+
# Information about DDoS attack volume and classification.
|
558
|
+
# Corresponds to the JSON property `attack`
|
559
|
+
# @return [Google::Apis::SecuritycenterV1beta2::Attack]
|
560
|
+
attr_accessor :attack
|
561
|
+
|
562
|
+
# Duration of attack from the start until the current moment (updated every 5
|
563
|
+
# minutes).
|
564
|
+
# Corresponds to the JSON property `duration`
|
565
|
+
# @return [String]
|
566
|
+
attr_accessor :duration
|
567
|
+
|
568
|
+
# Information about the requests relevant to the finding.
|
569
|
+
# Corresponds to the JSON property `requests`
|
570
|
+
# @return [Google::Apis::SecuritycenterV1beta2::Requests]
|
571
|
+
attr_accessor :requests
|
572
|
+
|
573
|
+
# Information about the [Google Cloud Armor security policy](https://cloud.
|
574
|
+
# google.com/armor/docs/security-policy-overview) relevant to the finding.
|
575
|
+
# Corresponds to the JSON property `securityPolicy`
|
576
|
+
# @return [Google::Apis::SecuritycenterV1beta2::SecurityPolicy]
|
577
|
+
attr_accessor :security_policy
|
578
|
+
|
579
|
+
# Distinguish between volumetric & protocol DDoS attack and application layer
|
580
|
+
# attacks. For example, "L3_4" for Layer 3 and Layer 4 DDoS attacks, or "L_7"
|
581
|
+
# for Layer 7 DDoS attacks.
|
582
|
+
# Corresponds to the JSON property `threatVector`
|
583
|
+
# @return [String]
|
584
|
+
attr_accessor :threat_vector
|
585
|
+
|
586
|
+
def initialize(**args)
|
587
|
+
update!(**args)
|
588
|
+
end
|
589
|
+
|
590
|
+
# Update properties of this object
|
591
|
+
def update!(**args)
|
592
|
+
@adaptive_protection = args[:adaptive_protection] if args.key?(:adaptive_protection)
|
593
|
+
@attack = args[:attack] if args.key?(:attack)
|
594
|
+
@duration = args[:duration] if args.key?(:duration)
|
595
|
+
@requests = args[:requests] if args.key?(:requests)
|
596
|
+
@security_policy = args[:security_policy] if args.key?(:security_policy)
|
597
|
+
@threat_vector = args[:threat_vector] if args.key?(:threat_vector)
|
598
|
+
end
|
599
|
+
end
|
600
|
+
|
376
601
|
# The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated
|
377
602
|
# with the finding.
|
378
603
|
class CloudDlpDataProfile
|
@@ -525,6 +750,11 @@ module Google
|
|
525
750
|
# @return [String]
|
526
751
|
attr_accessor :category
|
527
752
|
|
753
|
+
# The cloud provider for the compliance snapshot.
|
754
|
+
# Corresponds to the JSON property `cloudProvider`
|
755
|
+
# @return [String]
|
756
|
+
attr_accessor :cloud_provider
|
757
|
+
|
528
758
|
# The compliance standard (ie CIS).
|
529
759
|
# Corresponds to the JSON property `complianceStandard`
|
530
760
|
# @return [String]
|
@@ -550,12 +780,6 @@ module Google
|
|
550
780
|
# @return [String]
|
551
781
|
attr_accessor :name
|
552
782
|
|
553
|
-
# The CRM resource display name that is closest to the snapshot the Findings
|
554
|
-
# belong to.
|
555
|
-
# Corresponds to the JSON property `projectDisplayName`
|
556
|
-
# @return [String]
|
557
|
-
attr_accessor :project_display_name
|
558
|
-
|
559
783
|
# The snapshot time of the snapshot.
|
560
784
|
# Corresponds to the JSON property `snapshotTime`
|
561
785
|
# @return [String]
|
@@ -568,12 +792,12 @@ module Google
|
|
568
792
|
# Update properties of this object
|
569
793
|
def update!(**args)
|
570
794
|
@category = args[:category] if args.key?(:category)
|
795
|
+
@cloud_provider = args[:cloud_provider] if args.key?(:cloud_provider)
|
571
796
|
@compliance_standard = args[:compliance_standard] if args.key?(:compliance_standard)
|
572
797
|
@compliance_version = args[:compliance_version] if args.key?(:compliance_version)
|
573
798
|
@count = args[:count] if args.key?(:count)
|
574
799
|
@leaf_container_resource = args[:leaf_container_resource] if args.key?(:leaf_container_resource)
|
575
800
|
@name = args[:name] if args.key?(:name)
|
576
|
-
@project_display_name = args[:project_display_name] if args.key?(:project_display_name)
|
577
801
|
@snapshot_time = args[:snapshot_time] if args.key?(:snapshot_time)
|
578
802
|
end
|
579
803
|
end
|
@@ -1363,6 +1587,11 @@ module Google
|
|
1363
1587
|
# @return [String]
|
1364
1588
|
attr_accessor :category
|
1365
1589
|
|
1590
|
+
# Fields related to Google Cloud Armor findings.
|
1591
|
+
# Corresponds to the JSON property `cloudArmor`
|
1592
|
+
# @return [Google::Apis::SecuritycenterV1beta2::CloudArmor]
|
1593
|
+
attr_accessor :cloud_armor
|
1594
|
+
|
1366
1595
|
# The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated
|
1367
1596
|
# with the finding.
|
1368
1597
|
# Corresponds to the JSON property `cloudDlpDataProfile`
|
@@ -1544,6 +1773,13 @@ module Google
|
|
1544
1773
|
# @return [String]
|
1545
1774
|
attr_accessor :next_steps
|
1546
1775
|
|
1776
|
+
# Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook]
|
1777
|
+
# (https://cloud.google.com/colab/docs/introduction) file, that is associated
|
1778
|
+
# with a finding.
|
1779
|
+
# Corresponds to the JSON property `notebook`
|
1780
|
+
# @return [Google::Apis::SecuritycenterV1beta2::Notebook]
|
1781
|
+
attr_accessor :notebook
|
1782
|
+
|
1547
1783
|
# Contains information about the org policies associated with the finding.
|
1548
1784
|
# Corresponds to the JSON property `orgPolicies`
|
1549
1785
|
# @return [Array<Google::Apis::SecuritycenterV1beta2::OrgPolicy>]
|
@@ -1629,6 +1865,7 @@ module Google
|
|
1629
1865
|
@backup_disaster_recovery = args[:backup_disaster_recovery] if args.key?(:backup_disaster_recovery)
|
1630
1866
|
@canonical_name = args[:canonical_name] if args.key?(:canonical_name)
|
1631
1867
|
@category = args[:category] if args.key?(:category)
|
1868
|
+
@cloud_armor = args[:cloud_armor] if args.key?(:cloud_armor)
|
1632
1869
|
@cloud_dlp_data_profile = args[:cloud_dlp_data_profile] if args.key?(:cloud_dlp_data_profile)
|
1633
1870
|
@cloud_dlp_inspection = args[:cloud_dlp_inspection] if args.key?(:cloud_dlp_inspection)
|
1634
1871
|
@compliances = args[:compliances] if args.key?(:compliances)
|
@@ -1657,6 +1894,7 @@ module Google
|
|
1657
1894
|
@mute_update_time = args[:mute_update_time] if args.key?(:mute_update_time)
|
1658
1895
|
@name = args[:name] if args.key?(:name)
|
1659
1896
|
@next_steps = args[:next_steps] if args.key?(:next_steps)
|
1897
|
+
@notebook = args[:notebook] if args.key?(:notebook)
|
1660
1898
|
@org_policies = args[:org_policies] if args.key?(:org_policies)
|
1661
1899
|
@parent = args[:parent] if args.key?(:parent)
|
1662
1900
|
@parent_display_name = args[:parent_display_name] if args.key?(:parent_display_name)
|
@@ -1697,6 +1935,58 @@ module Google
|
|
1697
1935
|
end
|
1698
1936
|
end
|
1699
1937
|
|
1938
|
+
# GCP metadata associated with the resource, only applicable if the finding's
|
1939
|
+
# cloud provider is Google Cloud Platform.
|
1940
|
+
class GcpMetadata
|
1941
|
+
include Google::Apis::Core::Hashable
|
1942
|
+
|
1943
|
+
# Output only. Contains a Folder message for each folder in the assets ancestry.
|
1944
|
+
# The first folder is the deepest nested folder, and the last folder is the
|
1945
|
+
# folder directly under the Organization.
|
1946
|
+
# Corresponds to the JSON property `folders`
|
1947
|
+
# @return [Array<Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2Folder>]
|
1948
|
+
attr_accessor :folders
|
1949
|
+
|
1950
|
+
# The name of the organization that the resource belongs to.
|
1951
|
+
# Corresponds to the JSON property `organization`
|
1952
|
+
# @return [String]
|
1953
|
+
attr_accessor :organization
|
1954
|
+
|
1955
|
+
# The full resource name of resource's parent.
|
1956
|
+
# Corresponds to the JSON property `parent`
|
1957
|
+
# @return [String]
|
1958
|
+
attr_accessor :parent
|
1959
|
+
|
1960
|
+
# The human readable name of resource's parent.
|
1961
|
+
# Corresponds to the JSON property `parentDisplayName`
|
1962
|
+
# @return [String]
|
1963
|
+
attr_accessor :parent_display_name
|
1964
|
+
|
1965
|
+
# The full resource name of project that the resource belongs to.
|
1966
|
+
# Corresponds to the JSON property `project`
|
1967
|
+
# @return [String]
|
1968
|
+
attr_accessor :project
|
1969
|
+
|
1970
|
+
# The project ID that the resource belongs to.
|
1971
|
+
# Corresponds to the JSON property `projectDisplayName`
|
1972
|
+
# @return [String]
|
1973
|
+
attr_accessor :project_display_name
|
1974
|
+
|
1975
|
+
def initialize(**args)
|
1976
|
+
update!(**args)
|
1977
|
+
end
|
1978
|
+
|
1979
|
+
# Update properties of this object
|
1980
|
+
def update!(**args)
|
1981
|
+
@folders = args[:folders] if args.key?(:folders)
|
1982
|
+
@organization = args[:organization] if args.key?(:organization)
|
1983
|
+
@parent = args[:parent] if args.key?(:parent)
|
1984
|
+
@parent_display_name = args[:parent_display_name] if args.key?(:parent_display_name)
|
1985
|
+
@project = args[:project] if args.key?(:project)
|
1986
|
+
@project_display_name = args[:project_display_name] if args.key?(:project_display_name)
|
1987
|
+
end
|
1988
|
+
end
|
1989
|
+
|
1700
1990
|
# Represents a geographical location for a given access.
|
1701
1991
|
class Geolocation
|
1702
1992
|
include Google::Apis::Core::Hashable
|
@@ -2238,6 +2528,17 @@ module Google
|
|
2238
2528
|
class GoogleCloudSecuritycenterV1Resource
|
2239
2529
|
include Google::Apis::Core::Hashable
|
2240
2530
|
|
2531
|
+
# AWS metadata associated with the resource, only applicable if the finding's
|
2532
|
+
# cloud provider is Amazon Web Services.
|
2533
|
+
# Corresponds to the JSON property `awsMetadata`
|
2534
|
+
# @return [Google::Apis::SecuritycenterV1beta2::AwsMetadata]
|
2535
|
+
attr_accessor :aws_metadata
|
2536
|
+
|
2537
|
+
# Indicates which cloud provider the resource resides in.
|
2538
|
+
# Corresponds to the JSON property `cloudProvider`
|
2539
|
+
# @return [String]
|
2540
|
+
attr_accessor :cloud_provider
|
2541
|
+
|
2241
2542
|
# The human readable name of the resource.
|
2242
2543
|
# Corresponds to the JSON property `displayName`
|
2243
2544
|
# @return [String]
|
@@ -2250,12 +2551,23 @@ module Google
|
|
2250
2551
|
# @return [Array<Google::Apis::SecuritycenterV1beta2::Folder>]
|
2251
2552
|
attr_accessor :folders
|
2252
2553
|
|
2554
|
+
# The region or location of the service (if applicable).
|
2555
|
+
# Corresponds to the JSON property `location`
|
2556
|
+
# @return [String]
|
2557
|
+
attr_accessor :location
|
2558
|
+
|
2253
2559
|
# The full resource name of the resource. See: https://cloud.google.com/apis/
|
2254
2560
|
# design/resource_names#full_resource_name
|
2255
2561
|
# Corresponds to the JSON property `name`
|
2256
2562
|
# @return [String]
|
2257
2563
|
attr_accessor :name
|
2258
2564
|
|
2565
|
+
# Indicates which organization or tenant in the cloud provider the finding
|
2566
|
+
# applies to.
|
2567
|
+
# Corresponds to the JSON property `organization`
|
2568
|
+
# @return [String]
|
2569
|
+
attr_accessor :organization
|
2570
|
+
|
2259
2571
|
# The full resource name of resource's parent.
|
2260
2572
|
# Corresponds to the JSON property `parent`
|
2261
2573
|
# @return [String]
|
@@ -2276,6 +2588,30 @@ module Google
|
|
2276
2588
|
# @return [String]
|
2277
2589
|
attr_accessor :project_display_name
|
2278
2590
|
|
2591
|
+
# Represents the path of resources leading up to the resource this finding is
|
2592
|
+
# about.
|
2593
|
+
# Corresponds to the JSON property `resourcePath`
|
2594
|
+
# @return [Google::Apis::SecuritycenterV1beta2::ResourcePath]
|
2595
|
+
attr_accessor :resource_path
|
2596
|
+
|
2597
|
+
# A string representation of the resource path. For Google Cloud, it has the
|
2598
|
+
# format of organizations/`organization_id`/folders/`folder_id`/folders/`
|
2599
|
+
# folder_id`/projects/`project_id` where there can be any number of folders. For
|
2600
|
+
# AWS, it has the format of org/`organization_id`/ou/`organizational_unit_id`/ou/
|
2601
|
+
# `organizational_unit_id`/account/`account_id` where there can be any number of
|
2602
|
+
# organizational units. For Azure, it has the format of mg/`management_group_id`/
|
2603
|
+
# mg/`management_group_id`/subscription/`subscription_id`/rg/`
|
2604
|
+
# resource_group_name` where there can be any number of management groups.
|
2605
|
+
# Corresponds to the JSON property `resourcePathString`
|
2606
|
+
# @return [String]
|
2607
|
+
attr_accessor :resource_path_string
|
2608
|
+
|
2609
|
+
# The parent service or product from which the resource is provided, for example,
|
2610
|
+
# GKE or SNS.
|
2611
|
+
# Corresponds to the JSON property `service`
|
2612
|
+
# @return [String]
|
2613
|
+
attr_accessor :service
|
2614
|
+
|
2279
2615
|
# The full resource type of the resource.
|
2280
2616
|
# Corresponds to the JSON property `type`
|
2281
2617
|
# @return [String]
|
@@ -2287,13 +2623,20 @@ module Google
|
|
2287
2623
|
|
2288
2624
|
# Update properties of this object
|
2289
2625
|
def update!(**args)
|
2626
|
+
@aws_metadata = args[:aws_metadata] if args.key?(:aws_metadata)
|
2627
|
+
@cloud_provider = args[:cloud_provider] if args.key?(:cloud_provider)
|
2290
2628
|
@display_name = args[:display_name] if args.key?(:display_name)
|
2291
2629
|
@folders = args[:folders] if args.key?(:folders)
|
2630
|
+
@location = args[:location] if args.key?(:location)
|
2292
2631
|
@name = args[:name] if args.key?(:name)
|
2632
|
+
@organization = args[:organization] if args.key?(:organization)
|
2293
2633
|
@parent = args[:parent] if args.key?(:parent)
|
2294
2634
|
@parent_display_name = args[:parent_display_name] if args.key?(:parent_display_name)
|
2295
2635
|
@project = args[:project] if args.key?(:project)
|
2296
2636
|
@project_display_name = args[:project_display_name] if args.key?(:project_display_name)
|
2637
|
+
@resource_path = args[:resource_path] if args.key?(:resource_path)
|
2638
|
+
@resource_path_string = args[:resource_path_string] if args.key?(:resource_path_string)
|
2639
|
+
@service = args[:service] if args.key?(:service)
|
2297
2640
|
@type = args[:type] if args.key?(:type)
|
2298
2641
|
end
|
2299
2642
|
end
|
@@ -2322,6 +2665,11 @@ module Google
|
|
2322
2665
|
class GoogleCloudSecuritycenterV1ResourceValueConfig
|
2323
2666
|
include Google::Apis::Core::Hashable
|
2324
2667
|
|
2668
|
+
# Cloud provider this configuration applies to
|
2669
|
+
# Corresponds to the JSON property `cloudProvider`
|
2670
|
+
# @return [String]
|
2671
|
+
attr_accessor :cloud_provider
|
2672
|
+
|
2325
2673
|
# Output only. Timestamp this resource value config was created.
|
2326
2674
|
# Corresponds to the JSON property `createTime`
|
2327
2675
|
# @return [String]
|
@@ -2390,6 +2738,7 @@ module Google
|
|
2390
2738
|
|
2391
2739
|
# Update properties of this object
|
2392
2740
|
def update!(**args)
|
2741
|
+
@cloud_provider = args[:cloud_provider] if args.key?(:cloud_provider)
|
2393
2742
|
@create_time = args[:create_time] if args.key?(:create_time)
|
2394
2743
|
@description = args[:description] if args.key?(:description)
|
2395
2744
|
@name = args[:name] if args.key?(:name)
|
@@ -3019,6 +3368,31 @@ module Google
|
|
3019
3368
|
end
|
3020
3369
|
end
|
3021
3370
|
|
3371
|
+
# Information about [Google Cloud Armor Adaptive Protection](https://cloud.
|
3372
|
+
# google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-
|
3373
|
+
# protection).
|
3374
|
+
class GoogleCloudSecuritycenterV2AdaptiveProtection
|
3375
|
+
include Google::Apis::Core::Hashable
|
3376
|
+
|
3377
|
+
# A score of 0 means that there is low confidence that the detected event is an
|
3378
|
+
# actual attack. A score of 1 means that there is high confidence that the
|
3379
|
+
# detected event is an attack. See the [Adaptive Protection documentation](https:
|
3380
|
+
# //cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-
|
3381
|
+
# tuning) for further explanation.
|
3382
|
+
# Corresponds to the JSON property `confidence`
|
3383
|
+
# @return [Float]
|
3384
|
+
attr_accessor :confidence
|
3385
|
+
|
3386
|
+
def initialize(**args)
|
3387
|
+
update!(**args)
|
3388
|
+
end
|
3389
|
+
|
3390
|
+
# Update properties of this object
|
3391
|
+
def update!(**args)
|
3392
|
+
@confidence = args[:confidence] if args.key?(:confidence)
|
3393
|
+
end
|
3394
|
+
end
|
3395
|
+
|
3022
3396
|
# Represents an application associated with a finding.
|
3023
3397
|
class GoogleCloudSecuritycenterV2Application
|
3024
3398
|
include Google::Apis::Core::Hashable
|
@@ -3046,6 +3420,37 @@ module Google
|
|
3046
3420
|
end
|
3047
3421
|
end
|
3048
3422
|
|
3423
|
+
# Information about DDoS attack volume and classification.
|
3424
|
+
class GoogleCloudSecuritycenterV2Attack
|
3425
|
+
include Google::Apis::Core::Hashable
|
3426
|
+
|
3427
|
+
# Type of attack, for example, 'SYN-flood', 'NTP-udp', or 'CHARGEN-udp'.
|
3428
|
+
# Corresponds to the JSON property `classification`
|
3429
|
+
# @return [String]
|
3430
|
+
attr_accessor :classification
|
3431
|
+
|
3432
|
+
# Total BPS (bytes per second) volume of attack.
|
3433
|
+
# Corresponds to the JSON property `volumeBps`
|
3434
|
+
# @return [Fixnum]
|
3435
|
+
attr_accessor :volume_bps
|
3436
|
+
|
3437
|
+
# Total PPS (packets per second) volume of attack.
|
3438
|
+
# Corresponds to the JSON property `volumePps`
|
3439
|
+
# @return [Fixnum]
|
3440
|
+
attr_accessor :volume_pps
|
3441
|
+
|
3442
|
+
def initialize(**args)
|
3443
|
+
update!(**args)
|
3444
|
+
end
|
3445
|
+
|
3446
|
+
# Update properties of this object
|
3447
|
+
def update!(**args)
|
3448
|
+
@classification = args[:classification] if args.key?(:classification)
|
3449
|
+
@volume_bps = args[:volume_bps] if args.key?(:volume_bps)
|
3450
|
+
@volume_pps = args[:volume_pps] if args.key?(:volume_pps)
|
3451
|
+
end
|
3452
|
+
end
|
3453
|
+
|
3049
3454
|
# An attack exposure contains the results of an attack path simulation run.
|
3050
3455
|
class GoogleCloudSecuritycenterV2AttackExposure
|
3051
3456
|
include Google::Apis::Core::Hashable
|
@@ -3109,40 +3514,154 @@ module Google
|
|
3109
3514
|
end
|
3110
3515
|
end
|
3111
3516
|
|
3112
|
-
#
|
3113
|
-
class
|
3517
|
+
# An AWS account that is a member of an organization.
|
3518
|
+
class GoogleCloudSecuritycenterV2AwsAccount
|
3114
3519
|
include Google::Apis::Core::Hashable
|
3115
3520
|
|
3116
|
-
# The
|
3117
|
-
#
|
3118
|
-
# Corresponds to the JSON property `appliance`
|
3521
|
+
# The unique identifier (ID) of the account, containing exactly 12 digits.
|
3522
|
+
# Corresponds to the JSON property `id`
|
3119
3523
|
# @return [String]
|
3120
|
-
attr_accessor :
|
3121
|
-
|
3122
|
-
# The names of Backup and DR applications. An application is a VM, database, or
|
3123
|
-
# file system on a managed host monitored by a backup and recovery appliance.
|
3124
|
-
# For example, `centos7-01-vol00`, `centos7-01-vol01`, `centos7-01-vol02`.
|
3125
|
-
# Corresponds to the JSON property `applications`
|
3126
|
-
# @return [Array<String>]
|
3127
|
-
attr_accessor :applications
|
3524
|
+
attr_accessor :id
|
3128
3525
|
|
3129
|
-
# The
|
3130
|
-
# Corresponds to the JSON property `
|
3526
|
+
# The friendly name of this account.
|
3527
|
+
# Corresponds to the JSON property `name`
|
3131
3528
|
# @return [String]
|
3132
|
-
attr_accessor :
|
3529
|
+
attr_accessor :name
|
3133
3530
|
|
3134
|
-
|
3135
|
-
|
3136
|
-
|
3137
|
-
# For example, `snap-ov`.
|
3138
|
-
# Corresponds to the JSON property `backupTemplate`
|
3139
|
-
# @return [String]
|
3140
|
-
attr_accessor :backup_template
|
3531
|
+
def initialize(**args)
|
3532
|
+
update!(**args)
|
3533
|
+
end
|
3141
3534
|
|
3142
|
-
#
|
3143
|
-
|
3144
|
-
|
3145
|
-
|
3535
|
+
# Update properties of this object
|
3536
|
+
def update!(**args)
|
3537
|
+
@id = args[:id] if args.key?(:id)
|
3538
|
+
@name = args[:name] if args.key?(:name)
|
3539
|
+
end
|
3540
|
+
end
|
3541
|
+
|
3542
|
+
# AWS metadata associated with the resource, only applicable if the finding's
|
3543
|
+
# cloud provider is Amazon Web Services.
|
3544
|
+
class GoogleCloudSecuritycenterV2AwsMetadata
|
3545
|
+
include Google::Apis::Core::Hashable
|
3546
|
+
|
3547
|
+
# An AWS account that is a member of an organization.
|
3548
|
+
# Corresponds to the JSON property `account`
|
3549
|
+
# @return [Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2AwsAccount]
|
3550
|
+
attr_accessor :account
|
3551
|
+
|
3552
|
+
# An organization is a collection of accounts that are centrally managed
|
3553
|
+
# together using consolidated billing, organized hierarchically with
|
3554
|
+
# organizational units (OUs), and controlled with policies.
|
3555
|
+
# Corresponds to the JSON property `organization`
|
3556
|
+
# @return [Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2AwsOrganization]
|
3557
|
+
attr_accessor :organization
|
3558
|
+
|
3559
|
+
# A list of AWS organizational units associated with the resource, ordered from
|
3560
|
+
# lowest level (closest to the account) to highest level.
|
3561
|
+
# Corresponds to the JSON property `organizationalUnits`
|
3562
|
+
# @return [Array<Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2AwsOrganizationalUnit>]
|
3563
|
+
attr_accessor :organizational_units
|
3564
|
+
|
3565
|
+
def initialize(**args)
|
3566
|
+
update!(**args)
|
3567
|
+
end
|
3568
|
+
|
3569
|
+
# Update properties of this object
|
3570
|
+
def update!(**args)
|
3571
|
+
@account = args[:account] if args.key?(:account)
|
3572
|
+
@organization = args[:organization] if args.key?(:organization)
|
3573
|
+
@organizational_units = args[:organizational_units] if args.key?(:organizational_units)
|
3574
|
+
end
|
3575
|
+
end
|
3576
|
+
|
3577
|
+
# An organization is a collection of accounts that are centrally managed
|
3578
|
+
# together using consolidated billing, organized hierarchically with
|
3579
|
+
# organizational units (OUs), and controlled with policies.
|
3580
|
+
class GoogleCloudSecuritycenterV2AwsOrganization
|
3581
|
+
include Google::Apis::Core::Hashable
|
3582
|
+
|
3583
|
+
# The unique identifier (ID) for the organization. The regex pattern for an
|
3584
|
+
# organization ID string requires "o-" followed by from 10 to 32 lowercase
|
3585
|
+
# letters or digits.
|
3586
|
+
# Corresponds to the JSON property `id`
|
3587
|
+
# @return [String]
|
3588
|
+
attr_accessor :id
|
3589
|
+
|
3590
|
+
def initialize(**args)
|
3591
|
+
update!(**args)
|
3592
|
+
end
|
3593
|
+
|
3594
|
+
# Update properties of this object
|
3595
|
+
def update!(**args)
|
3596
|
+
@id = args[:id] if args.key?(:id)
|
3597
|
+
end
|
3598
|
+
end
|
3599
|
+
|
3600
|
+
# An Organizational Unit (OU) is a container of AWS accounts within a root of an
|
3601
|
+
# organization. Policies that are attached to an OU apply to all accounts
|
3602
|
+
# contained in that OU and in any child OUs.
|
3603
|
+
class GoogleCloudSecuritycenterV2AwsOrganizationalUnit
|
3604
|
+
include Google::Apis::Core::Hashable
|
3605
|
+
|
3606
|
+
# The unique identifier (ID) associated with this OU. The regex pattern for an
|
3607
|
+
# organizational unit ID string requires "ou-" followed by from 4 to 32
|
3608
|
+
# lowercase letters or digits (the ID of the root that contains the OU). This
|
3609
|
+
# string is followed by a second "-" dash and from 8 to 32 additional lowercase
|
3610
|
+
# letters or digits. For example, "ou-ab12-cd34ef56".
|
3611
|
+
# Corresponds to the JSON property `id`
|
3612
|
+
# @return [String]
|
3613
|
+
attr_accessor :id
|
3614
|
+
|
3615
|
+
# The friendly name of the OU.
|
3616
|
+
# Corresponds to the JSON property `name`
|
3617
|
+
# @return [String]
|
3618
|
+
attr_accessor :name
|
3619
|
+
|
3620
|
+
def initialize(**args)
|
3621
|
+
update!(**args)
|
3622
|
+
end
|
3623
|
+
|
3624
|
+
# Update properties of this object
|
3625
|
+
def update!(**args)
|
3626
|
+
@id = args[:id] if args.key?(:id)
|
3627
|
+
@name = args[:name] if args.key?(:name)
|
3628
|
+
end
|
3629
|
+
end
|
3630
|
+
|
3631
|
+
# Information related to Google Cloud Backup and DR Service findings.
|
3632
|
+
class GoogleCloudSecuritycenterV2BackupDisasterRecovery
|
3633
|
+
include Google::Apis::Core::Hashable
|
3634
|
+
|
3635
|
+
# The name of the Backup and DR appliance that captures, moves, and manages the
|
3636
|
+
# lifecycle of backup data. For example, `backup-server-57137`.
|
3637
|
+
# Corresponds to the JSON property `appliance`
|
3638
|
+
# @return [String]
|
3639
|
+
attr_accessor :appliance
|
3640
|
+
|
3641
|
+
# The names of Backup and DR applications. An application is a VM, database, or
|
3642
|
+
# file system on a managed host monitored by a backup and recovery appliance.
|
3643
|
+
# For example, `centos7-01-vol00`, `centos7-01-vol01`, `centos7-01-vol02`.
|
3644
|
+
# Corresponds to the JSON property `applications`
|
3645
|
+
# @return [Array<String>]
|
3646
|
+
attr_accessor :applications
|
3647
|
+
|
3648
|
+
# The timestamp at which the Backup and DR backup was created.
|
3649
|
+
# Corresponds to the JSON property `backupCreateTime`
|
3650
|
+
# @return [String]
|
3651
|
+
attr_accessor :backup_create_time
|
3652
|
+
|
3653
|
+
# The name of a Backup and DR template which comprises one or more backup
|
3654
|
+
# policies. See the [Backup and DR documentation](https://cloud.google.com/
|
3655
|
+
# backup-disaster-recovery/docs/concepts/backup-plan#temp) for more information.
|
3656
|
+
# For example, `snap-ov`.
|
3657
|
+
# Corresponds to the JSON property `backupTemplate`
|
3658
|
+
# @return [String]
|
3659
|
+
attr_accessor :backup_template
|
3660
|
+
|
3661
|
+
# The backup type of the Backup and DR image. For example, `Snapshot`, `Remote
|
3662
|
+
# Snapshot`, `OnVault`.
|
3663
|
+
# Corresponds to the JSON property `backupType`
|
3664
|
+
# @return [String]
|
3146
3665
|
attr_accessor :backup_type
|
3147
3666
|
|
3148
3667
|
# The name of a Backup and DR host, which is managed by the backup and recovery
|
@@ -3341,6 +3860,61 @@ module Google
|
|
3341
3860
|
end
|
3342
3861
|
end
|
3343
3862
|
|
3863
|
+
# Fields related to Google Cloud Armor findings.
|
3864
|
+
class GoogleCloudSecuritycenterV2CloudArmor
|
3865
|
+
include Google::Apis::Core::Hashable
|
3866
|
+
|
3867
|
+
# Information about [Google Cloud Armor Adaptive Protection](https://cloud.
|
3868
|
+
# google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-
|
3869
|
+
# protection).
|
3870
|
+
# Corresponds to the JSON property `adaptiveProtection`
|
3871
|
+
# @return [Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2AdaptiveProtection]
|
3872
|
+
attr_accessor :adaptive_protection
|
3873
|
+
|
3874
|
+
# Information about DDoS attack volume and classification.
|
3875
|
+
# Corresponds to the JSON property `attack`
|
3876
|
+
# @return [Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2Attack]
|
3877
|
+
attr_accessor :attack
|
3878
|
+
|
3879
|
+
# Duration of attack from the start until the current moment (updated every 5
|
3880
|
+
# minutes).
|
3881
|
+
# Corresponds to the JSON property `duration`
|
3882
|
+
# @return [String]
|
3883
|
+
attr_accessor :duration
|
3884
|
+
|
3885
|
+
# Information about the requests relevant to the finding.
|
3886
|
+
# Corresponds to the JSON property `requests`
|
3887
|
+
# @return [Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2Requests]
|
3888
|
+
attr_accessor :requests
|
3889
|
+
|
3890
|
+
# Information about the [Google Cloud Armor security policy](https://cloud.
|
3891
|
+
# google.com/armor/docs/security-policy-overview) relevant to the finding.
|
3892
|
+
# Corresponds to the JSON property `securityPolicy`
|
3893
|
+
# @return [Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2SecurityPolicy]
|
3894
|
+
attr_accessor :security_policy
|
3895
|
+
|
3896
|
+
# Distinguish between volumetric & protocol DDoS attack and application layer
|
3897
|
+
# attacks. For example, "L3_4" for Layer 3 and Layer 4 DDoS attacks, or "L_7"
|
3898
|
+
# for Layer 7 DDoS attacks.
|
3899
|
+
# Corresponds to the JSON property `threatVector`
|
3900
|
+
# @return [String]
|
3901
|
+
attr_accessor :threat_vector
|
3902
|
+
|
3903
|
+
def initialize(**args)
|
3904
|
+
update!(**args)
|
3905
|
+
end
|
3906
|
+
|
3907
|
+
# Update properties of this object
|
3908
|
+
def update!(**args)
|
3909
|
+
@adaptive_protection = args[:adaptive_protection] if args.key?(:adaptive_protection)
|
3910
|
+
@attack = args[:attack] if args.key?(:attack)
|
3911
|
+
@duration = args[:duration] if args.key?(:duration)
|
3912
|
+
@requests = args[:requests] if args.key?(:requests)
|
3913
|
+
@security_policy = args[:security_policy] if args.key?(:security_policy)
|
3914
|
+
@threat_vector = args[:threat_vector] if args.key?(:threat_vector)
|
3915
|
+
end
|
3916
|
+
end
|
3917
|
+
|
3344
3918
|
# The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated
|
3345
3919
|
# with the finding.
|
3346
3920
|
class GoogleCloudSecuritycenterV2CloudDlpDataProfile
|
@@ -4157,6 +4731,11 @@ module Google
|
|
4157
4731
|
# @return [String]
|
4158
4732
|
attr_accessor :category
|
4159
4733
|
|
4734
|
+
# Fields related to Google Cloud Armor findings.
|
4735
|
+
# Corresponds to the JSON property `cloudArmor`
|
4736
|
+
# @return [Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2CloudArmor]
|
4737
|
+
attr_accessor :cloud_armor
|
4738
|
+
|
4160
4739
|
# The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated
|
4161
4740
|
# with the finding.
|
4162
4741
|
# Corresponds to the JSON property `cloudDlpDataProfile`
|
@@ -4343,6 +4922,13 @@ module Google
|
|
4343
4922
|
# @return [String]
|
4344
4923
|
attr_accessor :next_steps
|
4345
4924
|
|
4925
|
+
# Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook]
|
4926
|
+
# (https://cloud.google.com/colab/docs/introduction) file, that is associated
|
4927
|
+
# with a finding.
|
4928
|
+
# Corresponds to the JSON property `notebook`
|
4929
|
+
# @return [Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2Notebook]
|
4930
|
+
attr_accessor :notebook
|
4931
|
+
|
4346
4932
|
# Contains information about the org policies associated with the finding.
|
4347
4933
|
# Corresponds to the JSON property `orgPolicies`
|
4348
4934
|
# @return [Array<Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2OrgPolicy>]
|
@@ -4433,6 +5019,7 @@ module Google
|
|
4433
5019
|
@backup_disaster_recovery = args[:backup_disaster_recovery] if args.key?(:backup_disaster_recovery)
|
4434
5020
|
@canonical_name = args[:canonical_name] if args.key?(:canonical_name)
|
4435
5021
|
@category = args[:category] if args.key?(:category)
|
5022
|
+
@cloud_armor = args[:cloud_armor] if args.key?(:cloud_armor)
|
4436
5023
|
@cloud_dlp_data_profile = args[:cloud_dlp_data_profile] if args.key?(:cloud_dlp_data_profile)
|
4437
5024
|
@cloud_dlp_inspection = args[:cloud_dlp_inspection] if args.key?(:cloud_dlp_inspection)
|
4438
5025
|
@compliances = args[:compliances] if args.key?(:compliances)
|
@@ -4461,6 +5048,7 @@ module Google
|
|
4461
5048
|
@mute_update_time = args[:mute_update_time] if args.key?(:mute_update_time)
|
4462
5049
|
@name = args[:name] if args.key?(:name)
|
4463
5050
|
@next_steps = args[:next_steps] if args.key?(:next_steps)
|
5051
|
+
@notebook = args[:notebook] if args.key?(:notebook)
|
4464
5052
|
@org_policies = args[:org_policies] if args.key?(:org_policies)
|
4465
5053
|
@parent = args[:parent] if args.key?(:parent)
|
4466
5054
|
@parent_display_name = args[:parent_display_name] if args.key?(:parent_display_name)
|
@@ -4475,6 +5063,32 @@ module Google
|
|
4475
5063
|
end
|
4476
5064
|
end
|
4477
5065
|
|
5066
|
+
# Message that contains the resource name and display name of a folder resource.
|
5067
|
+
class GoogleCloudSecuritycenterV2Folder
|
5068
|
+
include Google::Apis::Core::Hashable
|
5069
|
+
|
5070
|
+
# Full resource name of this folder. See: https://cloud.google.com/apis/design/
|
5071
|
+
# resource_names#full_resource_name
|
5072
|
+
# Corresponds to the JSON property `resourceFolder`
|
5073
|
+
# @return [String]
|
5074
|
+
attr_accessor :resource_folder
|
5075
|
+
|
5076
|
+
# The user defined display name for this folder.
|
5077
|
+
# Corresponds to the JSON property `resourceFolderDisplayName`
|
5078
|
+
# @return [String]
|
5079
|
+
attr_accessor :resource_folder_display_name
|
5080
|
+
|
5081
|
+
def initialize(**args)
|
5082
|
+
update!(**args)
|
5083
|
+
end
|
5084
|
+
|
5085
|
+
# Update properties of this object
|
5086
|
+
def update!(**args)
|
5087
|
+
@resource_folder = args[:resource_folder] if args.key?(:resource_folder)
|
5088
|
+
@resource_folder_display_name = args[:resource_folder_display_name] if args.key?(:resource_folder_display_name)
|
5089
|
+
end
|
5090
|
+
end
|
5091
|
+
|
4478
5092
|
# Represents a geographical location for a given access.
|
4479
5093
|
class GoogleCloudSecuritycenterV2Geolocation
|
4480
5094
|
include Google::Apis::Core::Hashable
|
@@ -4981,6 +5595,45 @@ module Google
|
|
4981
5595
|
end
|
4982
5596
|
end
|
4983
5597
|
|
5598
|
+
# Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook]
|
5599
|
+
# (https://cloud.google.com/colab/docs/introduction) file, that is associated
|
5600
|
+
# with a finding.
|
5601
|
+
class GoogleCloudSecuritycenterV2Notebook
|
5602
|
+
include Google::Apis::Core::Hashable
|
5603
|
+
|
5604
|
+
# The user ID of the latest author to modify the notebook.
|
5605
|
+
# Corresponds to the JSON property `lastAuthor`
|
5606
|
+
# @return [String]
|
5607
|
+
attr_accessor :last_author
|
5608
|
+
|
5609
|
+
# The name of the notebook.
|
5610
|
+
# Corresponds to the JSON property `name`
|
5611
|
+
# @return [String]
|
5612
|
+
attr_accessor :name
|
5613
|
+
|
5614
|
+
# The most recent time the notebook was updated.
|
5615
|
+
# Corresponds to the JSON property `notebookUpdateTime`
|
5616
|
+
# @return [String]
|
5617
|
+
attr_accessor :notebook_update_time
|
5618
|
+
|
5619
|
+
# The source notebook service, for example, "Colab Enterprise".
|
5620
|
+
# Corresponds to the JSON property `service`
|
5621
|
+
# @return [String]
|
5622
|
+
attr_accessor :service
|
5623
|
+
|
5624
|
+
def initialize(**args)
|
5625
|
+
update!(**args)
|
5626
|
+
end
|
5627
|
+
|
5628
|
+
# Update properties of this object
|
5629
|
+
def update!(**args)
|
5630
|
+
@last_author = args[:last_author] if args.key?(:last_author)
|
5631
|
+
@name = args[:name] if args.key?(:name)
|
5632
|
+
@notebook_update_time = args[:notebook_update_time] if args.key?(:notebook_update_time)
|
5633
|
+
@service = args[:service] if args.key?(:service)
|
5634
|
+
end
|
5635
|
+
end
|
5636
|
+
|
4984
5637
|
# Cloud SCC's Notification
|
4985
5638
|
class GoogleCloudSecuritycenterV2NotificationMessage
|
4986
5639
|
include Google::Apis::Core::Hashable
|
@@ -5327,21 +5980,105 @@ module Google
|
|
5327
5980
|
end
|
5328
5981
|
end
|
5329
5982
|
|
5983
|
+
# Information about the requests relevant to the finding.
|
5984
|
+
class GoogleCloudSecuritycenterV2Requests
|
5985
|
+
include Google::Apis::Core::Hashable
|
5986
|
+
|
5987
|
+
# Allowed RPS (requests per second) over the long term.
|
5988
|
+
# Corresponds to the JSON property `longTermAllowed`
|
5989
|
+
# @return [Fixnum]
|
5990
|
+
attr_accessor :long_term_allowed
|
5991
|
+
|
5992
|
+
# Denied RPS (requests per second) over the long term.
|
5993
|
+
# Corresponds to the JSON property `longTermDenied`
|
5994
|
+
# @return [Fixnum]
|
5995
|
+
attr_accessor :long_term_denied
|
5996
|
+
|
5997
|
+
# For 'Increasing deny ratio', the ratio is the denied traffic divided by the
|
5998
|
+
# allowed traffic. For 'Allowed traffic spike', the ratio is the allowed traffic
|
5999
|
+
# in the short term divided by allowed traffic in the long term.
|
6000
|
+
# Corresponds to the JSON property `ratio`
|
6001
|
+
# @return [Float]
|
6002
|
+
attr_accessor :ratio
|
6003
|
+
|
6004
|
+
# Allowed RPS (requests per second) in the short term.
|
6005
|
+
# Corresponds to the JSON property `shortTermAllowed`
|
6006
|
+
# @return [Fixnum]
|
6007
|
+
attr_accessor :short_term_allowed
|
6008
|
+
|
6009
|
+
def initialize(**args)
|
6010
|
+
update!(**args)
|
6011
|
+
end
|
6012
|
+
|
6013
|
+
# Update properties of this object
|
6014
|
+
def update!(**args)
|
6015
|
+
@long_term_allowed = args[:long_term_allowed] if args.key?(:long_term_allowed)
|
6016
|
+
@long_term_denied = args[:long_term_denied] if args.key?(:long_term_denied)
|
6017
|
+
@ratio = args[:ratio] if args.key?(:ratio)
|
6018
|
+
@short_term_allowed = args[:short_term_allowed] if args.key?(:short_term_allowed)
|
6019
|
+
end
|
6020
|
+
end
|
6021
|
+
|
5330
6022
|
# Information related to the Google Cloud resource.
|
5331
6023
|
class GoogleCloudSecuritycenterV2Resource
|
5332
6024
|
include Google::Apis::Core::Hashable
|
5333
6025
|
|
6026
|
+
# AWS metadata associated with the resource, only applicable if the finding's
|
6027
|
+
# cloud provider is Amazon Web Services.
|
6028
|
+
# Corresponds to the JSON property `awsMetadata`
|
6029
|
+
# @return [Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2AwsMetadata]
|
6030
|
+
attr_accessor :aws_metadata
|
6031
|
+
|
6032
|
+
# Indicates which cloud provider the finding is from.
|
6033
|
+
# Corresponds to the JSON property `cloudProvider`
|
6034
|
+
# @return [String]
|
6035
|
+
attr_accessor :cloud_provider
|
6036
|
+
|
5334
6037
|
# The human readable name of the resource.
|
5335
6038
|
# Corresponds to the JSON property `displayName`
|
5336
6039
|
# @return [String]
|
5337
6040
|
attr_accessor :display_name
|
5338
6041
|
|
6042
|
+
# GCP metadata associated with the resource, only applicable if the finding's
|
6043
|
+
# cloud provider is Google Cloud Platform.
|
6044
|
+
# Corresponds to the JSON property `gcpMetadata`
|
6045
|
+
# @return [Google::Apis::SecuritycenterV1beta2::GcpMetadata]
|
6046
|
+
attr_accessor :gcp_metadata
|
6047
|
+
|
6048
|
+
# The region or location of the service (if applicable).
|
6049
|
+
# Corresponds to the JSON property `location`
|
6050
|
+
# @return [String]
|
6051
|
+
attr_accessor :location
|
6052
|
+
|
5339
6053
|
# The full resource name of the resource. See: https://cloud.google.com/apis/
|
5340
6054
|
# design/resource_names#full_resource_name
|
5341
6055
|
# Corresponds to the JSON property `name`
|
5342
6056
|
# @return [String]
|
5343
6057
|
attr_accessor :name
|
5344
6058
|
|
6059
|
+
# Represents the path of resources leading up to the resource this finding is
|
6060
|
+
# about.
|
6061
|
+
# Corresponds to the JSON property `resourcePath`
|
6062
|
+
# @return [Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2ResourcePath]
|
6063
|
+
attr_accessor :resource_path
|
6064
|
+
|
6065
|
+
# A string representation of the resource path. For Google Cloud, it has the
|
6066
|
+
# format of organizations/`organization_id`/folders/`folder_id`/folders/`
|
6067
|
+
# folder_id`/projects/`project_id` where there can be any number of folders. For
|
6068
|
+
# AWS, it has the format of org/`organization_id`/ou/`organizational_unit_id`/ou/
|
6069
|
+
# `organizational_unit_id`/account/`account_id` where there can be any number of
|
6070
|
+
# organizational units. For Azure, it has the format of mg/`management_group_id`/
|
6071
|
+
# mg/`management_group_id`/subscription/`subscription_id`/rg/`
|
6072
|
+
# resource_group_name` where there can be any number of management groups.
|
6073
|
+
# Corresponds to the JSON property `resourcePathString`
|
6074
|
+
# @return [String]
|
6075
|
+
attr_accessor :resource_path_string
|
6076
|
+
|
6077
|
+
# The service or resource provider associated with the resource.
|
6078
|
+
# Corresponds to the JSON property `service`
|
6079
|
+
# @return [String]
|
6080
|
+
attr_accessor :service
|
6081
|
+
|
5345
6082
|
# The full resource type of the resource.
|
5346
6083
|
# Corresponds to the JSON property `type`
|
5347
6084
|
# @return [String]
|
@@ -5353,17 +6090,82 @@ module Google
|
|
5353
6090
|
|
5354
6091
|
# Update properties of this object
|
5355
6092
|
def update!(**args)
|
6093
|
+
@aws_metadata = args[:aws_metadata] if args.key?(:aws_metadata)
|
6094
|
+
@cloud_provider = args[:cloud_provider] if args.key?(:cloud_provider)
|
5356
6095
|
@display_name = args[:display_name] if args.key?(:display_name)
|
6096
|
+
@gcp_metadata = args[:gcp_metadata] if args.key?(:gcp_metadata)
|
6097
|
+
@location = args[:location] if args.key?(:location)
|
5357
6098
|
@name = args[:name] if args.key?(:name)
|
6099
|
+
@resource_path = args[:resource_path] if args.key?(:resource_path)
|
6100
|
+
@resource_path_string = args[:resource_path_string] if args.key?(:resource_path_string)
|
6101
|
+
@service = args[:service] if args.key?(:service)
|
5358
6102
|
@type = args[:type] if args.key?(:type)
|
5359
6103
|
end
|
5360
6104
|
end
|
5361
6105
|
|
6106
|
+
# Represents the path of resources leading up to the resource this finding is
|
6107
|
+
# about.
|
6108
|
+
class GoogleCloudSecuritycenterV2ResourcePath
|
6109
|
+
include Google::Apis::Core::Hashable
|
6110
|
+
|
6111
|
+
# The list of nodes that make the up resource path, ordered from lowest level to
|
6112
|
+
# highest level.
|
6113
|
+
# Corresponds to the JSON property `nodes`
|
6114
|
+
# @return [Array<Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV2ResourcePathNode>]
|
6115
|
+
attr_accessor :nodes
|
6116
|
+
|
6117
|
+
def initialize(**args)
|
6118
|
+
update!(**args)
|
6119
|
+
end
|
6120
|
+
|
6121
|
+
# Update properties of this object
|
6122
|
+
def update!(**args)
|
6123
|
+
@nodes = args[:nodes] if args.key?(:nodes)
|
6124
|
+
end
|
6125
|
+
end
|
6126
|
+
|
6127
|
+
# A node within the resource path. Each node represents a resource within the
|
6128
|
+
# resource hierarchy.
|
6129
|
+
class GoogleCloudSecuritycenterV2ResourcePathNode
|
6130
|
+
include Google::Apis::Core::Hashable
|
6131
|
+
|
6132
|
+
# The display name of the resource this node represents.
|
6133
|
+
# Corresponds to the JSON property `displayName`
|
6134
|
+
# @return [String]
|
6135
|
+
attr_accessor :display_name
|
6136
|
+
|
6137
|
+
# The ID of the resource this node represents.
|
6138
|
+
# Corresponds to the JSON property `id`
|
6139
|
+
# @return [String]
|
6140
|
+
attr_accessor :id
|
6141
|
+
|
6142
|
+
# The type of resource this node represents.
|
6143
|
+
# Corresponds to the JSON property `nodeType`
|
6144
|
+
# @return [String]
|
6145
|
+
attr_accessor :node_type
|
6146
|
+
|
6147
|
+
def initialize(**args)
|
6148
|
+
update!(**args)
|
6149
|
+
end
|
6150
|
+
|
6151
|
+
# Update properties of this object
|
6152
|
+
def update!(**args)
|
6153
|
+
@display_name = args[:display_name] if args.key?(:display_name)
|
6154
|
+
@id = args[:id] if args.key?(:id)
|
6155
|
+
@node_type = args[:node_type] if args.key?(:node_type)
|
6156
|
+
end
|
6157
|
+
end
|
6158
|
+
|
5362
6159
|
# A resource value config (RVC) is a mapping configuration of user's resources
|
5363
6160
|
# to resource values. Used in Attack path simulations.
|
5364
6161
|
class GoogleCloudSecuritycenterV2ResourceValueConfig
|
5365
6162
|
include Google::Apis::Core::Hashable
|
5366
6163
|
|
6164
|
+
# Cloud provider this configuration applies to
|
6165
|
+
# Corresponds to the JSON property `cloudProvider`
|
6166
|
+
# @return [String]
|
6167
|
+
attr_accessor :cloud_provider
|
6168
|
+
|
5367
6169
|
# Output only. Timestamp this resource value config was created.
|
5368
6170
|
# Corresponds to the JSON property `createTime`
|
5369
6171
|
# @return [String]
|
@@ -5433,6 +6235,7 @@ module Google
|
|
5433
6235
|
|
5434
6236
|
# Update properties of this object
|
5435
6237
|
def update!(**args)
|
6238
|
+
@cloud_provider = args[:cloud_provider] if args.key?(:cloud_provider)
|
5436
6239
|
@create_time = args[:create_time] if args.key?(:create_time)
|
5437
6240
|
@description = args[:description] if args.key?(:description)
|
5438
6241
|
@name = args[:name] if args.key?(:name)
|
@@ -5517,17 +6320,17 @@ module Google
|
|
5517
6320
|
include Google::Apis::Core::Hashable
|
5518
6321
|
|
5519
6322
|
# The canonical name of the marks. The following list shows some examples: + `
|
5520
|
-
# organizations/`organization_id`/assets/`asset_id`/securityMarks
|
6323
|
+
# organizations/`organization_id`/assets/`asset_id`/securityMarks` + `
|
5521
6324
|
# organizations/`organization_id`/sources/`source_id`/findings/`finding_id`/
|
5522
|
-
# securityMarks
|
5523
|
-
# locations/`location`/findings/`finding_id`/securityMarks
|
5524
|
-
# folder_id`/assets/`asset_id`/securityMarks
|
5525
|
-
# source_id`/findings/`finding_id`/securityMarks
|
5526
|
-
# `source_id`/locations/`location`/findings/`finding_id`/securityMarks
|
5527
|
-
# projects/`project_number`/assets/`asset_id`/securityMarks
|
5528
|
-
# project_number`/sources/`source_id`/findings/`finding_id`/securityMarks
|
6325
|
+
# securityMarks` + `organizations/`organization_id`/sources/`source_id`/
|
6326
|
+
# locations/`location`/findings/`finding_id`/securityMarks` + `folders/`
|
6327
|
+
# folder_id`/assets/`asset_id`/securityMarks` + `folders/`folder_id`/sources/`
|
6328
|
+
# source_id`/findings/`finding_id`/securityMarks` + `folders/`folder_id`/sources/
|
6329
|
+
# `source_id`/locations/`location`/findings/`finding_id`/securityMarks` + `
|
6330
|
+
# projects/`project_number`/assets/`asset_id`/securityMarks` + `projects/`
|
6331
|
+
# project_number`/sources/`source_id`/findings/`finding_id`/securityMarks` + `
|
5529
6332
|
# projects/`project_number`/sources/`source_id`/locations/`location`/findings/`
|
5530
|
-
# finding_id`/securityMarks
|
6333
|
+
# finding_id`/securityMarks`
|
5531
6334
|
# Corresponds to the JSON property `canonicalName`
|
5532
6335
|
# @return [String]
|
5533
6336
|
attr_accessor :canonical_name
|
@@ -5563,6 +6366,42 @@ module Google
|
|
5563
6366
|
end
|
5564
6367
|
end
|
5565
6368
|
|
6369
|
+
# Information about the [Google Cloud Armor security policy](https://cloud.
|
6370
|
+
# google.com/armor/docs/security-policy-overview) relevant to the finding.
|
6371
|
+
class GoogleCloudSecuritycenterV2SecurityPolicy
|
6372
|
+
include Google::Apis::Core::Hashable
|
6373
|
+
|
6374
|
+
# The name of the Google Cloud Armor security policy, for example, "my-security-
|
6375
|
+
# policy".
|
6376
|
+
# Corresponds to the JSON property `name`
|
6377
|
+
# @return [String]
|
6378
|
+
attr_accessor :name
|
6379
|
+
|
6380
|
+
# Whether or not the associated rule or policy is in preview mode.
|
6381
|
+
# Corresponds to the JSON property `preview`
|
6382
|
+
# @return [Boolean]
|
6383
|
+
attr_accessor :preview
|
6384
|
+
alias_method :preview?, :preview
|
6385
|
+
|
6386
|
+
# The type of Google Cloud Armor security policy for example, 'backend security
|
6387
|
+
# policy', 'edge security policy', 'network edge security policy', or 'always-on
|
6388
|
+
# DDoS protection'.
|
6389
|
+
# Corresponds to the JSON property `type`
|
6390
|
+
# @return [String]
|
6391
|
+
attr_accessor :type
|
6392
|
+
|
6393
|
+
def initialize(**args)
|
6394
|
+
update!(**args)
|
6395
|
+
end
|
6396
|
+
|
6397
|
+
# Update properties of this object
|
6398
|
+
def update!(**args)
|
6399
|
+
@name = args[:name] if args.key?(:name)
|
6400
|
+
@preview = args[:preview] if args.key?(:preview)
|
6401
|
+
@type = args[:type] if args.key?(:type)
|
6402
|
+
end
|
6403
|
+
end
|
6404
|
+
|
5566
6405
|
# Represents a posture that is deployed on Google Cloud by the Security Command
|
5567
6406
|
# Center Posture Management service. A posture contains one or more policy sets.
|
5568
6407
|
# A policy set is a group of policies that enforce a set of security rules on
|
@@ -6239,6 +7078,45 @@ module Google
|
|
6239
7078
|
end
|
6240
7079
|
end
|
6241
7080
|
|
7081
|
+
# Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook]
|
7082
|
+
# (https://cloud.google.com/colab/docs/introduction) file, that is associated
|
7083
|
+
# with a finding.
|
7084
|
+
class Notebook
|
7085
|
+
include Google::Apis::Core::Hashable
|
7086
|
+
|
7087
|
+
# The user ID of the latest author to modify the notebook.
|
7088
|
+
# Corresponds to the JSON property `lastAuthor`
|
7089
|
+
# @return [String]
|
7090
|
+
attr_accessor :last_author
|
7091
|
+
|
7092
|
+
# The name of the notebook.
|
7093
|
+
# Corresponds to the JSON property `name`
|
7094
|
+
# @return [String]
|
7095
|
+
attr_accessor :name
|
7096
|
+
|
7097
|
+
# The most recent time the notebook was updated.
|
7098
|
+
# Corresponds to the JSON property `notebookUpdateTime`
|
7099
|
+
# @return [String]
|
7100
|
+
attr_accessor :notebook_update_time
|
7101
|
+
|
7102
|
+
# The source notebook service, for example, "Colab Enterprise".
|
7103
|
+
# Corresponds to the JSON property `service`
|
7104
|
+
# @return [String]
|
7105
|
+
attr_accessor :service
|
7106
|
+
|
7107
|
+
def initialize(**args)
|
7108
|
+
update!(**args)
|
7109
|
+
end
|
7110
|
+
|
7111
|
+
# Update properties of this object
|
7112
|
+
def update!(**args)
|
7113
|
+
@last_author = args[:last_author] if args.key?(:last_author)
|
7114
|
+
@name = args[:name] if args.key?(:name)
|
7115
|
+
@notebook_update_time = args[:notebook_update_time] if args.key?(:notebook_update_time)
|
7116
|
+
@service = args[:service] if args.key?(:service)
|
7117
|
+
end
|
7118
|
+
end
|
7119
|
+
|
6242
7120
|
# Kubernetes object related to the finding, uniquely identified by GKNN. Used if
|
6243
7121
|
# the object Kind is not one of Pod, Node, NodePool, Binding, or AccessReview.
|
6244
7122
|
class Object
|
@@ -6593,6 +7471,98 @@ module Google
|
|
6593
7471
|
end
|
6594
7472
|
end
|
6595
7473
|
|
7474
|
+
# Information about the requests relevant to the finding.
|
7475
|
+
class Requests
|
7476
|
+
include Google::Apis::Core::Hashable
|
7477
|
+
|
7478
|
+
# Allowed RPS (requests per second) over the long term.
|
7479
|
+
# Corresponds to the JSON property `longTermAllowed`
|
7480
|
+
# @return [Fixnum]
|
7481
|
+
attr_accessor :long_term_allowed
|
7482
|
+
|
7483
|
+
# Denied RPS (requests per second) over the long term.
|
7484
|
+
# Corresponds to the JSON property `longTermDenied`
|
7485
|
+
# @return [Fixnum]
|
7486
|
+
attr_accessor :long_term_denied
|
7487
|
+
|
7488
|
+
# For 'Increasing deny ratio', the ratio is the denied traffic divided by the
|
7489
|
+
# allowed traffic. For 'Allowed traffic spike', the ratio is the allowed traffic
|
7490
|
+
# in the short term divided by allowed traffic in the long term.
|
7491
|
+
# Corresponds to the JSON property `ratio`
|
7492
|
+
# @return [Float]
|
7493
|
+
attr_accessor :ratio
|
7494
|
+
|
7495
|
+
# Allowed RPS (requests per second) in the short term.
|
7496
|
+
# Corresponds to the JSON property `shortTermAllowed`
|
7497
|
+
# @return [Fixnum]
|
7498
|
+
attr_accessor :short_term_allowed
|
7499
|
+
|
7500
|
+
def initialize(**args)
|
7501
|
+
update!(**args)
|
7502
|
+
end
|
7503
|
+
|
7504
|
+
# Update properties of this object
|
7505
|
+
def update!(**args)
|
7506
|
+
@long_term_allowed = args[:long_term_allowed] if args.key?(:long_term_allowed)
|
7507
|
+
@long_term_denied = args[:long_term_denied] if args.key?(:long_term_denied)
|
7508
|
+
@ratio = args[:ratio] if args.key?(:ratio)
|
7509
|
+
@short_term_allowed = args[:short_term_allowed] if args.key?(:short_term_allowed)
|
7510
|
+
end
|
7511
|
+
end
|
7512
|
+
|
7513
|
+
# Represents the path of resources leading up to the resource this finding is
|
7514
|
+
# about.
|
7515
|
+
class ResourcePath
|
7516
|
+
include Google::Apis::Core::Hashable
|
7517
|
+
|
7518
|
+
# The list of nodes that make the up resource path, ordered from lowest level to
|
7519
|
+
# highest level.
|
7520
|
+
# Corresponds to the JSON property `nodes`
|
7521
|
+
# @return [Array<Google::Apis::SecuritycenterV1beta2::ResourcePathNode>]
|
7522
|
+
attr_accessor :nodes
|
7523
|
+
|
7524
|
+
def initialize(**args)
|
7525
|
+
update!(**args)
|
7526
|
+
end
|
7527
|
+
|
7528
|
+
# Update properties of this object
|
7529
|
+
def update!(**args)
|
7530
|
+
@nodes = args[:nodes] if args.key?(:nodes)
|
7531
|
+
end
|
7532
|
+
end
|
7533
|
+
|
7534
|
+
# A node within the resource path. Each node represents a resource within the
|
7535
|
+
# resource hierarchy.
|
7536
|
+
class ResourcePathNode
|
7537
|
+
include Google::Apis::Core::Hashable
|
7538
|
+
|
7539
|
+
# The display name of the resource this node represents.
|
7540
|
+
# Corresponds to the JSON property `displayName`
|
7541
|
+
# @return [String]
|
7542
|
+
attr_accessor :display_name
|
7543
|
+
|
7544
|
+
# The ID of the resource this node represents.
|
7545
|
+
# Corresponds to the JSON property `id`
|
7546
|
+
# @return [String]
|
7547
|
+
attr_accessor :id
|
7548
|
+
|
7549
|
+
# The type of resource this node represents.
|
7550
|
+
# Corresponds to the JSON property `nodeType`
|
7551
|
+
# @return [String]
|
7552
|
+
attr_accessor :node_type
|
7553
|
+
|
7554
|
+
def initialize(**args)
|
7555
|
+
update!(**args)
|
7556
|
+
end
|
7557
|
+
|
7558
|
+
# Update properties of this object
|
7559
|
+
def update!(**args)
|
7560
|
+
@display_name = args[:display_name] if args.key?(:display_name)
|
7561
|
+
@id = args[:id] if args.key?(:id)
|
7562
|
+
@node_type = args[:node_type] if args.key?(:node_type)
|
7563
|
+
end
|
7564
|
+
end
|
7565
|
+
|
6596
7566
|
# Kubernetes Role or ClusterRole.
|
6597
7567
|
class Role
|
6598
7568
|
include Google::Apis::Core::Hashable
|
@@ -6797,6 +7767,42 @@ module Google
|
|
6797
7767
|
end
|
6798
7768
|
end
|
6799
7769
|
|
7770
|
+
# Information about the [Google Cloud Armor security policy](https://cloud.
|
7771
|
+
# google.com/armor/docs/security-policy-overview) relevant to the finding.
|
7772
|
+
class SecurityPolicy
|
7773
|
+
include Google::Apis::Core::Hashable
|
7774
|
+
|
7775
|
+
# The name of the Google Cloud Armor security policy, for example, "my-security-
|
7776
|
+
# policy".
|
7777
|
+
# Corresponds to the JSON property `name`
|
7778
|
+
# @return [String]
|
7779
|
+
attr_accessor :name
|
7780
|
+
|
7781
|
+
# Whether or not the associated rule or policy is in preview mode.
|
7782
|
+
# Corresponds to the JSON property `preview`
|
7783
|
+
# @return [Boolean]
|
7784
|
+
attr_accessor :preview
|
7785
|
+
alias_method :preview?, :preview
|
7786
|
+
|
7787
|
+
# The type of Google Cloud Armor security policy for example, 'backend security
|
7788
|
+
# policy', 'edge security policy', 'network edge security policy', or 'always-on
|
7789
|
+
# DDoS protection'.
|
7790
|
+
# Corresponds to the JSON property `type`
|
7791
|
+
# @return [String]
|
7792
|
+
attr_accessor :type
|
7793
|
+
|
7794
|
+
def initialize(**args)
|
7795
|
+
update!(**args)
|
7796
|
+
end
|
7797
|
+
|
7798
|
+
# Update properties of this object
|
7799
|
+
def update!(**args)
|
7800
|
+
@name = args[:name] if args.key?(:name)
|
7801
|
+
@preview = args[:preview] if args.key?(:preview)
|
7802
|
+
@type = args[:type] if args.key?(:type)
|
7803
|
+
end
|
7804
|
+
end
|
7805
|
+
|
6800
7806
|
# Represents a posture that is deployed on Google Cloud by the Security Command
|
6801
7807
|
# Center Posture Management service. A posture contains one or more policy sets.
|
6802
7808
|
# A policy set is a group of policies that enforce a set of security rules on
|
@@ -7099,6 +8105,63 @@ module Google
|
|
7099
8105
|
end
|
7100
8106
|
end
|
7101
8107
|
|
8108
|
+
# Vulnerability count by severity.
|
8109
|
+
class VulnerabilityCountBySeverity
|
8110
|
+
include Google::Apis::Core::Hashable
|
8111
|
+
|
8112
|
+
# Key is the Severity enum.
|
8113
|
+
# Corresponds to the JSON property `severityToFindingCount`
|
8114
|
+
# @return [Hash<String,Fixnum>]
|
8115
|
+
attr_accessor :severity_to_finding_count
|
8116
|
+
|
8117
|
+
def initialize(**args)
|
8118
|
+
update!(**args)
|
8119
|
+
end
|
8120
|
+
|
8121
|
+
# Update properties of this object
|
8122
|
+
def update!(**args)
|
8123
|
+
@severity_to_finding_count = args[:severity_to_finding_count] if args.key?(:severity_to_finding_count)
|
8124
|
+
end
|
8125
|
+
end
|
8126
|
+
|
8127
|
+
# Result containing the properties and count of a VulnerabilitySnapshot request.
|
8128
|
+
class VulnerabilitySnapshot
|
8129
|
+
include Google::Apis::Core::Hashable
|
8130
|
+
|
8131
|
+
# The cloud provider for the vulnerability snapshot.
|
8132
|
+
# Corresponds to the JSON property `cloudProvider`
|
8133
|
+
# @return [String]
|
8134
|
+
attr_accessor :cloud_provider
|
8135
|
+
|
8136
|
+
# Vulnerability count by severity.
|
8137
|
+
# Corresponds to the JSON property `findingCount`
|
8138
|
+
# @return [Google::Apis::SecuritycenterV1beta2::VulnerabilityCountBySeverity]
|
8139
|
+
attr_accessor :finding_count
|
8140
|
+
|
8141
|
+
# Identifier. The vulnerability snapshot name. Format: //locations//
|
8142
|
+
# vulnerabilitySnapshots/
|
8143
|
+
# Corresponds to the JSON property `name`
|
8144
|
+
# @return [String]
|
8145
|
+
attr_accessor :name
|
8146
|
+
|
8147
|
+
# The time that the snapshot was taken.
|
8148
|
+
# Corresponds to the JSON property `snapshotTime`
|
8149
|
+
# @return [String]
|
8150
|
+
attr_accessor :snapshot_time
|
8151
|
+
|
8152
|
+
def initialize(**args)
|
8153
|
+
update!(**args)
|
8154
|
+
end
|
8155
|
+
|
8156
|
+
# Update properties of this object
|
8157
|
+
def update!(**args)
|
8158
|
+
@cloud_provider = args[:cloud_provider] if args.key?(:cloud_provider)
|
8159
|
+
@finding_count = args[:finding_count] if args.key?(:finding_count)
|
8160
|
+
@name = args[:name] if args.key?(:name)
|
8161
|
+
@snapshot_time = args[:snapshot_time] if args.key?(:snapshot_time)
|
8162
|
+
end
|
8163
|
+
end
|
8164
|
+
|
7102
8165
|
# Resource capturing the settings for the Web Security Scanner service.
|
7103
8166
|
class WebSecurityScannerSettings
|
7104
8167
|
include Google::Apis::Core::Hashable
|