google-apis-securitycenter_v1beta2 0.66.0 → 0.67.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
|
@@ -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 GCP, it has the format of:
|
2598
|
+
# organizations/`organization_id`/folders/`folder_id`/folders/`folder_id`/
|
2599
|
+
# projects/`project_id` where there can be any number of folders. For AWS, it
|
2600
|
+
# 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 GCP, it has the format of:
|
6066
|
+
# organizations/`organization_id`/folders/`folder_id`/folders/`folder_id`/
|
6067
|
+
# projects/`project_id` where there can be any number of folders. For AWS, it
|
6068
|
+
# 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
|