google-cloud-security_center-v2 0.a → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.yardopts +12 -0
- data/AUTHENTICATION.md +122 -0
- data/README.md +144 -8
- data/lib/google/cloud/security_center/v2/rest.rb +37 -0
- data/lib/google/cloud/security_center/v2/security_center/client.rb +4728 -0
- data/lib/google/cloud/security_center/v2/security_center/credentials.rb +51 -0
- data/lib/google/cloud/security_center/v2/security_center/operations.rb +801 -0
- data/lib/google/cloud/security_center/v2/security_center/paths.rb +973 -0
- data/lib/google/cloud/security_center/v2/security_center/rest/client.rb +4347 -0
- data/lib/google/cloud/security_center/v2/security_center/rest/operations.rb +894 -0
- data/lib/google/cloud/security_center/v2/security_center/rest/service_stub.rb +3165 -0
- data/lib/google/cloud/security_center/v2/security_center/rest.rb +53 -0
- data/lib/google/cloud/security_center/v2/security_center.rb +56 -0
- data/lib/google/cloud/security_center/v2/version.rb +7 -2
- data/lib/google/cloud/security_center/v2.rb +45 -0
- data/lib/google/cloud/securitycenter/v2/access_pb.rb +44 -0
- data/lib/google/cloud/securitycenter/v2/application_pb.rb +42 -0
- data/lib/google/cloud/securitycenter/v2/attack_exposure_pb.rb +47 -0
- data/lib/google/cloud/securitycenter/v2/attack_path_pb.rb +49 -0
- data/lib/google/cloud/securitycenter/v2/backup_disaster_recovery_pb.rb +45 -0
- data/lib/google/cloud/securitycenter/v2/bigquery_export_pb.rb +47 -0
- data/lib/google/cloud/securitycenter/v2/cloud_dlp_data_profile_pb.rb +45 -0
- data/lib/google/cloud/securitycenter/v2/cloud_dlp_inspection_pb.rb +44 -0
- data/lib/google/cloud/securitycenter/v2/compliance_pb.rb +42 -0
- data/lib/google/cloud/securitycenter/v2/connection_pb.rb +43 -0
- data/lib/google/cloud/securitycenter/v2/contact_details_pb.rb +43 -0
- data/lib/google/cloud/securitycenter/v2/container_pb.rb +47 -0
- data/lib/google/cloud/securitycenter/v2/database_pb.rb +42 -0
- data/lib/google/cloud/securitycenter/v2/exfiltration_pb.rb +43 -0
- data/lib/google/cloud/securitycenter/v2/external_system_pb.rb +47 -0
- data/lib/google/cloud/securitycenter/v2/file_pb.rb +43 -0
- data/lib/google/cloud/securitycenter/v2/finding_pb.rb +105 -0
- data/lib/google/cloud/securitycenter/v2/iam_binding_pb.rb +43 -0
- data/lib/google/cloud/securitycenter/v2/indicator_pb.rb +47 -0
- data/lib/google/cloud/securitycenter/v2/kernel_rootkit_pb.rb +42 -0
- data/lib/google/cloud/securitycenter/v2/kubernetes_pb.rb +57 -0
- data/lib/google/cloud/securitycenter/v2/label_pb.rb +42 -0
- data/lib/google/cloud/securitycenter/v2/load_balancer_pb.rb +42 -0
- data/lib/google/cloud/securitycenter/v2/log_entry_pb.rb +46 -0
- data/lib/google/cloud/securitycenter/v2/mitre_attack_pb.rb +44 -0
- data/lib/google/cloud/securitycenter/v2/mute_config_pb.rb +48 -0
- data/lib/google/cloud/securitycenter/v2/notification_config_pb.rb +46 -0
- data/lib/google/cloud/securitycenter/v2/notification_message_pb.rb +47 -0
- data/lib/google/cloud/securitycenter/v2/org_policy_pb.rb +44 -0
- data/lib/google/cloud/securitycenter/v2/process_pb.rb +46 -0
- data/lib/google/cloud/securitycenter/v2/resource_pb.rb +44 -0
- data/lib/google/cloud/securitycenter/v2/resource_value_config_pb.rb +49 -0
- data/lib/google/cloud/securitycenter/v2/security_marks_pb.rb +44 -0
- data/lib/google/cloud/securitycenter/v2/security_posture_pb.rb +43 -0
- data/lib/google/cloud/securitycenter/v2/securitycenter_service_pb.rb +128 -0
- data/lib/google/cloud/securitycenter/v2/securitycenter_service_services_pb.rb +167 -0
- data/lib/google/cloud/securitycenter/v2/simulation_pb.rb +49 -0
- data/lib/google/cloud/securitycenter/v2/source_pb.rb +44 -0
- data/lib/google/cloud/securitycenter/v2/valued_resource_pb.rb +46 -0
- data/lib/google/cloud/securitycenter/v2/vulnerability_pb.rb +58 -0
- data/lib/google-cloud-security_center-v2.rb +21 -0
- data/proto_docs/README.md +4 -0
- data/proto_docs/google/api/client.rb +399 -0
- data/proto_docs/google/api/field_behavior.rb +85 -0
- data/proto_docs/google/api/launch_stage.rb +71 -0
- data/proto_docs/google/api/resource.rb +222 -0
- data/proto_docs/google/api/routing.rb +459 -0
- data/proto_docs/google/cloud/securitycenter/v2/access.rb +120 -0
- data/proto_docs/google/cloud/securitycenter/v2/application.rb +40 -0
- data/proto_docs/google/cloud/securitycenter/v2/attack_exposure.rb +73 -0
- data/proto_docs/google/cloud/securitycenter/v2/attack_path.rb +147 -0
- data/proto_docs/google/cloud/securitycenter/v2/backup_disaster_recovery.rb +90 -0
- data/proto_docs/google/cloud/securitycenter/v2/bigquery_export.rb +96 -0
- data/proto_docs/google/cloud/securitycenter/v2/cloud_dlp_data_profile.rb +52 -0
- data/proto_docs/google/cloud/securitycenter/v2/cloud_dlp_inspection.rb +50 -0
- data/proto_docs/google/cloud/securitycenter/v2/compliance.rb +43 -0
- data/proto_docs/google/cloud/securitycenter/v2/connection.rb +70 -0
- data/proto_docs/google/cloud/securitycenter/v2/contact_details.rb +44 -0
- data/proto_docs/google/cloud/securitycenter/v2/container.rb +49 -0
- data/proto_docs/google/cloud/securitycenter/v2/database.rb +67 -0
- data/proto_docs/google/cloud/securitycenter/v2/exfiltration.rb +64 -0
- data/proto_docs/google/cloud/securitycenter/v2/external_system.rb +106 -0
- data/proto_docs/google/cloud/securitycenter/v2/file.rb +72 -0
- data/proto_docs/google/cloud/securitycenter/v2/finding.rb +411 -0
- data/proto_docs/google/cloud/securitycenter/v2/iam_binding.rb +56 -0
- data/proto_docs/google/cloud/securitycenter/v2/indicator.rb +112 -0
- data/proto_docs/google/cloud/securitycenter/v2/kernel_rootkit.rb +66 -0
- data/proto_docs/google/cloud/securitycenter/v2/kubernetes.rb +241 -0
- data/proto_docs/google/cloud/securitycenter/v2/label.rb +41 -0
- data/proto_docs/google/cloud/securitycenter/v2/load_balancer.rb +36 -0
- data/proto_docs/google/cloud/securitycenter/v2/log_entry.rb +58 -0
- data/proto_docs/google/cloud/securitycenter/v2/mitre_attack.rb +285 -0
- data/proto_docs/google/cloud/securitycenter/v2/mute_config.rb +100 -0
- data/proto_docs/google/cloud/securitycenter/v2/notification_config.rb +90 -0
- data/proto_docs/google/cloud/securitycenter/v2/notification_message.rb +42 -0
- data/proto_docs/google/cloud/securitycenter/v2/org_policy.rb +37 -0
- data/proto_docs/google/cloud/securitycenter/v2/process.rb +79 -0
- data/proto_docs/google/cloud/securitycenter/v2/resource.rb +42 -0
- data/proto_docs/google/cloud/securitycenter/v2/resource_value_config.rb +122 -0
- data/proto_docs/google/cloud/securitycenter/v2/security_marks.rb +84 -0
- data/proto_docs/google/cloud/securitycenter/v2/security_posture.rb +83 -0
- data/proto_docs/google/cloud/securitycenter/v2/securitycenter_service.rb +1136 -0
- data/proto_docs/google/cloud/securitycenter/v2/simulation.rb +43 -0
- data/proto_docs/google/cloud/securitycenter/v2/source.rb +65 -0
- data/proto_docs/google/cloud/securitycenter/v2/valued_resource.rb +86 -0
- data/proto_docs/google/cloud/securitycenter/v2/vulnerability.rb +333 -0
- data/proto_docs/google/iam/v1/iam_policy.rb +87 -0
- data/proto_docs/google/iam/v1/options.rb +50 -0
- data/proto_docs/google/iam/v1/policy.rb +426 -0
- data/proto_docs/google/longrunning/operations.rb +164 -0
- data/proto_docs/google/protobuf/any.rb +145 -0
- data/proto_docs/google/protobuf/duration.rb +98 -0
- data/proto_docs/google/protobuf/empty.rb +34 -0
- data/proto_docs/google/protobuf/field_mask.rb +229 -0
- data/proto_docs/google/protobuf/struct.rb +96 -0
- data/proto_docs/google/protobuf/timestamp.rb +127 -0
- data/proto_docs/google/rpc/status.rb +48 -0
- data/proto_docs/google/type/expr.rb +75 -0
- metadata +169 -10
@@ -0,0 +1,411 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Copyright 2024 Google LLC
|
4
|
+
#
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
# you may not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
# See the License for the specific language governing permissions and
|
15
|
+
# limitations under the License.
|
16
|
+
|
17
|
+
# Auto-generated by gapic-generator-ruby. DO NOT EDIT!
|
18
|
+
|
19
|
+
|
20
|
+
module Google
|
21
|
+
module Cloud
|
22
|
+
module SecurityCenter
|
23
|
+
module V2
|
24
|
+
# Security Command Center finding.
|
25
|
+
#
|
26
|
+
# A finding is a record of assessment data like security, risk, health, or
|
27
|
+
# privacy, that is ingested into Security Command Center for presentation,
|
28
|
+
# notification, analysis, policy testing, and enforcement. For example, a
|
29
|
+
# cross-site scripting (XSS) vulnerability in an App Engine application is a
|
30
|
+
# finding.
|
31
|
+
# @!attribute [rw] name
|
32
|
+
# @return [::String]
|
33
|
+
# The [relative resource
|
34
|
+
# name](https://cloud.google.com/apis/design/resource_names#relative_resource_name)
|
35
|
+
# of the finding. The following list shows some examples:
|
36
|
+
#
|
37
|
+
# +
|
38
|
+
# `organizations/{organization_id}/sources/{source_id}/findings/{finding_id}`
|
39
|
+
# +
|
40
|
+
# `organizations/{organization_id}/sources/{source_id}/locations/{location_id}/findings/{finding_id}`
|
41
|
+
# + `folders/{folder_id}/sources/{source_id}/findings/{finding_id}`
|
42
|
+
# +
|
43
|
+
# `folders/{folder_id}/sources/{source_id}/locations/{location_id}/findings/{finding_id}`
|
44
|
+
# + `projects/{project_id}/sources/{source_id}/findings/{finding_id}`
|
45
|
+
# +
|
46
|
+
# `projects/{project_id}/sources/{source_id}/locations/{location_id}/findings/{finding_id}`
|
47
|
+
# @!attribute [r] canonical_name
|
48
|
+
# @return [::String]
|
49
|
+
# Output only. The canonical name of the finding. The following list shows
|
50
|
+
# some examples:
|
51
|
+
#
|
52
|
+
# +
|
53
|
+
# `organizations/{organization_id}/sources/{source_id}/findings/{finding_id}`
|
54
|
+
# +
|
55
|
+
# `organizations/{organization_id}/sources/{source_id}/locations/{location_id}/findings/{finding_id}`
|
56
|
+
# + `folders/{folder_id}/sources/{source_id}/findings/{finding_id}`
|
57
|
+
# +
|
58
|
+
# `folders/{folder_id}/sources/{source_id}/locations/{location_id}/findings/{finding_id}`
|
59
|
+
# + `projects/{project_id}/sources/{source_id}/findings/{finding_id}`
|
60
|
+
# +
|
61
|
+
# `projects/{project_id}/sources/{source_id}/locations/{location_id}/findings/{finding_id}`
|
62
|
+
#
|
63
|
+
# The prefix is the closest CRM ancestor of the resource associated with the
|
64
|
+
# finding.
|
65
|
+
# @!attribute [rw] parent
|
66
|
+
# @return [::String]
|
67
|
+
# The relative resource name of the source and location the finding belongs
|
68
|
+
# to. See:
|
69
|
+
# https://cloud.google.com/apis/design/resource_names#relative_resource_name
|
70
|
+
# This field is immutable after creation time. The following list shows some
|
71
|
+
# examples:
|
72
|
+
#
|
73
|
+
# + `organizations/{organization_id}/sources/{source_id}`
|
74
|
+
# + `folders/{folders_id}/sources/{source_id}`
|
75
|
+
# + `projects/{projects_id}/sources/{source_id}`
|
76
|
+
# +
|
77
|
+
# `organizations/{organization_id}/sources/{source_id}/locations/{location_id}`
|
78
|
+
# + `folders/{folders_id}/sources/{source_id}/locations/{location_id}`
|
79
|
+
# + `projects/{projects_id}/sources/{source_id}/locations/{location_id}`
|
80
|
+
# @!attribute [rw] resource_name
|
81
|
+
# @return [::String]
|
82
|
+
# Immutable. For findings on Google Cloud resources, the full resource
|
83
|
+
# name of the Google Cloud resource this finding is for. See:
|
84
|
+
# https://cloud.google.com/apis/design/resource_names#full_resource_name
|
85
|
+
# When the finding is for a non-Google Cloud resource, the resourceName can
|
86
|
+
# be a customer or partner defined string.
|
87
|
+
# @!attribute [r] state
|
88
|
+
# @return [::Google::Cloud::SecurityCenter::V2::Finding::State]
|
89
|
+
# Output only. The state of the finding.
|
90
|
+
# @!attribute [rw] category
|
91
|
+
# @return [::String]
|
92
|
+
# Immutable. The additional taxonomy group within findings from a given
|
93
|
+
# source. Example: "XSS_FLASH_INJECTION"
|
94
|
+
# @!attribute [rw] external_uri
|
95
|
+
# @return [::String]
|
96
|
+
# The URI that, if available, points to a web page outside of Security
|
97
|
+
# Command Center where additional information about the finding can be found.
|
98
|
+
# This field is guaranteed to be either empty or a well formed URL.
|
99
|
+
# @!attribute [rw] source_properties
|
100
|
+
# @return [::Google::Protobuf::Map{::String => ::Google::Protobuf::Value}]
|
101
|
+
# Source specific properties. These properties are managed by the source
|
102
|
+
# that writes the finding. The key names in the source_properties map must be
|
103
|
+
# between 1 and 255 characters, and must start with a letter and contain
|
104
|
+
# alphanumeric characters or underscores only.
|
105
|
+
# @!attribute [r] security_marks
|
106
|
+
# @return [::Google::Cloud::SecurityCenter::V2::SecurityMarks]
|
107
|
+
# Output only. User specified security marks. These marks are entirely
|
108
|
+
# managed by the user and come from the SecurityMarks resource that belongs
|
109
|
+
# to the finding.
|
110
|
+
# @!attribute [rw] event_time
|
111
|
+
# @return [::Google::Protobuf::Timestamp]
|
112
|
+
# The time the finding was first detected. If an existing finding is updated,
|
113
|
+
# then this is the time the update occurred.
|
114
|
+
# For example, if the finding represents an open firewall, this property
|
115
|
+
# captures the time the detector believes the firewall became open. The
|
116
|
+
# accuracy is determined by the detector. If the finding is later resolved,
|
117
|
+
# then this time reflects when the finding was resolved. This must not
|
118
|
+
# be set to a value greater than the current timestamp.
|
119
|
+
# @!attribute [r] create_time
|
120
|
+
# @return [::Google::Protobuf::Timestamp]
|
121
|
+
# Output only. The time at which the finding was created in Security Command
|
122
|
+
# Center.
|
123
|
+
# @!attribute [rw] severity
|
124
|
+
# @return [::Google::Cloud::SecurityCenter::V2::Finding::Severity]
|
125
|
+
# The severity of the finding. This field is managed by the source that
|
126
|
+
# writes the finding.
|
127
|
+
# @!attribute [rw] mute
|
128
|
+
# @return [::Google::Cloud::SecurityCenter::V2::Finding::Mute]
|
129
|
+
# Indicates the mute state of a finding (either muted, unmuted
|
130
|
+
# or undefined). Unlike other attributes of a finding, a finding provider
|
131
|
+
# shouldn't set the value of mute.
|
132
|
+
# @!attribute [rw] finding_class
|
133
|
+
# @return [::Google::Cloud::SecurityCenter::V2::Finding::FindingClass]
|
134
|
+
# The class of the finding.
|
135
|
+
# @!attribute [rw] indicator
|
136
|
+
# @return [::Google::Cloud::SecurityCenter::V2::Indicator]
|
137
|
+
# Represents what's commonly known as an *indicator of compromise* (IoC) in
|
138
|
+
# computer forensics. This is an artifact observed on a network or in an
|
139
|
+
# operating system that, with high confidence, indicates a computer
|
140
|
+
# intrusion. For more information, see [Indicator of
|
141
|
+
# compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise).
|
142
|
+
# @!attribute [rw] vulnerability
|
143
|
+
# @return [::Google::Cloud::SecurityCenter::V2::Vulnerability]
|
144
|
+
# Represents vulnerability-specific fields like CVE and CVSS scores.
|
145
|
+
# CVE stands for Common Vulnerabilities and Exposures
|
146
|
+
# (https://cve.mitre.org/about/)
|
147
|
+
# @!attribute [r] mute_update_time
|
148
|
+
# @return [::Google::Protobuf::Timestamp]
|
149
|
+
# Output only. The most recent time this finding was muted or unmuted.
|
150
|
+
# @!attribute [r] external_systems
|
151
|
+
# @return [::Google::Protobuf::Map{::String => ::Google::Cloud::SecurityCenter::V2::ExternalSystem}]
|
152
|
+
# Output only. Third party SIEM/SOAR fields within SCC, contains external
|
153
|
+
# system information and external system finding fields.
|
154
|
+
# @!attribute [rw] mitre_attack
|
155
|
+
# @return [::Google::Cloud::SecurityCenter::V2::MitreAttack]
|
156
|
+
# MITRE ATT&CK tactics and techniques related to this finding.
|
157
|
+
# See: https://attack.mitre.org
|
158
|
+
# @!attribute [rw] access
|
159
|
+
# @return [::Google::Cloud::SecurityCenter::V2::Access]
|
160
|
+
# Access details associated with the finding, such as more information on the
|
161
|
+
# caller, which method was accessed, and from where.
|
162
|
+
# @!attribute [rw] connections
|
163
|
+
# @return [::Array<::Google::Cloud::SecurityCenter::V2::Connection>]
|
164
|
+
# Contains information about the IP connection associated with the finding.
|
165
|
+
# @!attribute [rw] mute_initiator
|
166
|
+
# @return [::String]
|
167
|
+
# Records additional information about the mute operation, for example, the
|
168
|
+
# [mute
|
169
|
+
# configuration](https://cloud.google.com/security-command-center/docs/how-to-mute-findings)
|
170
|
+
# that muted the finding and the user who muted the finding.
|
171
|
+
# @!attribute [rw] processes
|
172
|
+
# @return [::Array<::Google::Cloud::SecurityCenter::V2::Process>]
|
173
|
+
# Represents operating system processes associated with the Finding.
|
174
|
+
# @!attribute [r] contacts
|
175
|
+
# @return [::Google::Protobuf::Map{::String => ::Google::Cloud::SecurityCenter::V2::ContactDetails}]
|
176
|
+
# Output only. Map containing the points of contact for the given finding.
|
177
|
+
# The key represents the type of contact, while the value contains a list of
|
178
|
+
# all the contacts that pertain. Please refer to:
|
179
|
+
# https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories
|
180
|
+
#
|
181
|
+
# {
|
182
|
+
# "security": {
|
183
|
+
# "contacts": [
|
184
|
+
# {
|
185
|
+
# "email": "person1@company.com"
|
186
|
+
# },
|
187
|
+
# {
|
188
|
+
# "email": "person2@company.com"
|
189
|
+
# }
|
190
|
+
# ]
|
191
|
+
# }
|
192
|
+
# }
|
193
|
+
# @!attribute [rw] compliances
|
194
|
+
# @return [::Array<::Google::Cloud::SecurityCenter::V2::Compliance>]
|
195
|
+
# Contains compliance information for security standards associated to the
|
196
|
+
# finding.
|
197
|
+
# @!attribute [r] parent_display_name
|
198
|
+
# @return [::String]
|
199
|
+
# Output only. The human readable display name of the finding source such as
|
200
|
+
# "Event Threat Detection" or "Security Health Analytics".
|
201
|
+
# @!attribute [rw] description
|
202
|
+
# @return [::String]
|
203
|
+
# Contains more details about the finding.
|
204
|
+
# @!attribute [rw] exfiltration
|
205
|
+
# @return [::Google::Cloud::SecurityCenter::V2::Exfiltration]
|
206
|
+
# Represents exfiltrations associated with the finding.
|
207
|
+
# @!attribute [rw] iam_bindings
|
208
|
+
# @return [::Array<::Google::Cloud::SecurityCenter::V2::IamBinding>]
|
209
|
+
# Represents IAM bindings associated with the finding.
|
210
|
+
# @!attribute [rw] next_steps
|
211
|
+
# @return [::String]
|
212
|
+
# Steps to address the finding.
|
213
|
+
# @!attribute [rw] module_name
|
214
|
+
# @return [::String]
|
215
|
+
# Unique identifier of the module which generated the finding.
|
216
|
+
# Example:
|
217
|
+
# folders/598186756061/securityHealthAnalyticsSettings/customModules/56799441161885
|
218
|
+
# @!attribute [rw] containers
|
219
|
+
# @return [::Array<::Google::Cloud::SecurityCenter::V2::Container>]
|
220
|
+
# Containers associated with the finding. This field provides information for
|
221
|
+
# both Kubernetes and non-Kubernetes containers.
|
222
|
+
# @!attribute [rw] kubernetes
|
223
|
+
# @return [::Google::Cloud::SecurityCenter::V2::Kubernetes]
|
224
|
+
# Kubernetes resources associated with the finding.
|
225
|
+
# @!attribute [rw] database
|
226
|
+
# @return [::Google::Cloud::SecurityCenter::V2::Database]
|
227
|
+
# Database associated with the finding.
|
228
|
+
# @!attribute [rw] attack_exposure
|
229
|
+
# @return [::Google::Cloud::SecurityCenter::V2::AttackExposure]
|
230
|
+
# The results of an attack path simulation relevant to this finding.
|
231
|
+
# @!attribute [rw] files
|
232
|
+
# @return [::Array<::Google::Cloud::SecurityCenter::V2::File>]
|
233
|
+
# File associated with the finding.
|
234
|
+
# @!attribute [rw] cloud_dlp_inspection
|
235
|
+
# @return [::Google::Cloud::SecurityCenter::V2::CloudDlpInspection]
|
236
|
+
# Cloud Data Loss Prevention (Cloud DLP) inspection results that are
|
237
|
+
# associated with the finding.
|
238
|
+
# @!attribute [rw] cloud_dlp_data_profile
|
239
|
+
# @return [::Google::Cloud::SecurityCenter::V2::CloudDlpDataProfile]
|
240
|
+
# Cloud DLP data profile that is associated with the finding.
|
241
|
+
# @!attribute [rw] kernel_rootkit
|
242
|
+
# @return [::Google::Cloud::SecurityCenter::V2::KernelRootkit]
|
243
|
+
# Signature of the kernel rootkit.
|
244
|
+
# @!attribute [rw] org_policies
|
245
|
+
# @return [::Array<::Google::Cloud::SecurityCenter::V2::OrgPolicy>]
|
246
|
+
# Contains information about the org policies associated with the finding.
|
247
|
+
# @!attribute [rw] application
|
248
|
+
# @return [::Google::Cloud::SecurityCenter::V2::Application]
|
249
|
+
# Represents an application associated with the finding.
|
250
|
+
# @!attribute [rw] backup_disaster_recovery
|
251
|
+
# @return [::Google::Cloud::SecurityCenter::V2::BackupDisasterRecovery]
|
252
|
+
# Fields related to Backup and DR findings.
|
253
|
+
# @!attribute [rw] security_posture
|
254
|
+
# @return [::Google::Cloud::SecurityCenter::V2::SecurityPosture]
|
255
|
+
# The security posture associated with the finding.
|
256
|
+
# @!attribute [rw] log_entries
|
257
|
+
# @return [::Array<::Google::Cloud::SecurityCenter::V2::LogEntry>]
|
258
|
+
# Log entries that are relevant to the finding.
|
259
|
+
# @!attribute [rw] load_balancers
|
260
|
+
# @return [::Array<::Google::Cloud::SecurityCenter::V2::LoadBalancer>]
|
261
|
+
# The load balancers associated with the finding.
|
262
|
+
class Finding
|
263
|
+
include ::Google::Protobuf::MessageExts
|
264
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
265
|
+
|
266
|
+
# @!attribute [rw] key
|
267
|
+
# @return [::String]
|
268
|
+
# @!attribute [rw] value
|
269
|
+
# @return [::Google::Protobuf::Value]
|
270
|
+
class SourcePropertiesEntry
|
271
|
+
include ::Google::Protobuf::MessageExts
|
272
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
273
|
+
end
|
274
|
+
|
275
|
+
# @!attribute [rw] key
|
276
|
+
# @return [::String]
|
277
|
+
# @!attribute [rw] value
|
278
|
+
# @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
|
279
|
+
class ExternalSystemsEntry
|
280
|
+
include ::Google::Protobuf::MessageExts
|
281
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
282
|
+
end
|
283
|
+
|
284
|
+
# @!attribute [rw] key
|
285
|
+
# @return [::String]
|
286
|
+
# @!attribute [rw] value
|
287
|
+
# @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
|
288
|
+
class ContactsEntry
|
289
|
+
include ::Google::Protobuf::MessageExts
|
290
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
291
|
+
end
|
292
|
+
|
293
|
+
# The state of the finding.
|
294
|
+
module State
|
295
|
+
# Unspecified state.
|
296
|
+
STATE_UNSPECIFIED = 0
|
297
|
+
|
298
|
+
# The finding requires attention and has not been addressed yet.
|
299
|
+
ACTIVE = 1
|
300
|
+
|
301
|
+
# The finding has been fixed, triaged as a non-issue or otherwise addressed
|
302
|
+
# and is no longer active.
|
303
|
+
INACTIVE = 2
|
304
|
+
end
|
305
|
+
|
306
|
+
# The severity of the finding.
|
307
|
+
module Severity
|
308
|
+
# This value is used for findings when a source doesn't write a severity
|
309
|
+
# value.
|
310
|
+
SEVERITY_UNSPECIFIED = 0
|
311
|
+
|
312
|
+
# Vulnerability:
|
313
|
+
# A critical vulnerability is easily discoverable by an external actor,
|
314
|
+
# exploitable, and results in the direct ability to execute arbitrary code,
|
315
|
+
# exfiltrate data, and otherwise gain additional access and privileges to
|
316
|
+
# cloud resources and workloads. Examples include publicly accessible
|
317
|
+
# unprotected user data and public SSH access with weak or no
|
318
|
+
# passwords.
|
319
|
+
#
|
320
|
+
# Threat:
|
321
|
+
# Indicates a threat that is able to access, modify, or delete data or
|
322
|
+
# execute unauthorized code within existing resources.
|
323
|
+
CRITICAL = 1
|
324
|
+
|
325
|
+
# Vulnerability:
|
326
|
+
# A high risk vulnerability can be easily discovered and exploited in
|
327
|
+
# combination with other vulnerabilities in order to gain direct access and
|
328
|
+
# the ability to execute arbitrary code, exfiltrate data, and otherwise
|
329
|
+
# gain additional access and privileges to cloud resources and workloads.
|
330
|
+
# An example is a database with weak or no passwords that is only
|
331
|
+
# accessible internally. This database could easily be compromised by an
|
332
|
+
# actor that had access to the internal network.
|
333
|
+
#
|
334
|
+
# Threat:
|
335
|
+
# Indicates a threat that is able to create new computational resources in
|
336
|
+
# an environment but not able to access data or execute code in existing
|
337
|
+
# resources.
|
338
|
+
HIGH = 2
|
339
|
+
|
340
|
+
# Vulnerability:
|
341
|
+
# A medium risk vulnerability could be used by an actor to gain access to
|
342
|
+
# resources or privileges that enable them to eventually (through multiple
|
343
|
+
# steps or a complex exploit) gain access and the ability to execute
|
344
|
+
# arbitrary code or exfiltrate data. An example is a service account with
|
345
|
+
# access to more projects than it should have. If an actor gains access to
|
346
|
+
# the service account, they could potentially use that access to manipulate
|
347
|
+
# a project the service account was not intended to.
|
348
|
+
#
|
349
|
+
# Threat:
|
350
|
+
# Indicates a threat that is able to cause operational impact but may not
|
351
|
+
# access data or execute unauthorized code.
|
352
|
+
MEDIUM = 3
|
353
|
+
|
354
|
+
# Vulnerability:
|
355
|
+
# A low risk vulnerability hampers a security organization's ability to
|
356
|
+
# detect vulnerabilities or active threats in their deployment, or prevents
|
357
|
+
# the root cause investigation of security issues. An example is monitoring
|
358
|
+
# and logs being disabled for resource configurations and access.
|
359
|
+
#
|
360
|
+
# Threat:
|
361
|
+
# Indicates a threat that has obtained minimal access to an environment but
|
362
|
+
# is not able to access data, execute code, or create resources.
|
363
|
+
LOW = 4
|
364
|
+
end
|
365
|
+
|
366
|
+
# Mute state a finding can be in.
|
367
|
+
module Mute
|
368
|
+
# Unspecified.
|
369
|
+
MUTE_UNSPECIFIED = 0
|
370
|
+
|
371
|
+
# Finding has been muted.
|
372
|
+
MUTED = 1
|
373
|
+
|
374
|
+
# Finding has been unmuted.
|
375
|
+
UNMUTED = 2
|
376
|
+
|
377
|
+
# Finding has never been muted/unmuted.
|
378
|
+
UNDEFINED = 3
|
379
|
+
end
|
380
|
+
|
381
|
+
# Represents what kind of Finding it is.
|
382
|
+
module FindingClass
|
383
|
+
# Unspecified finding class.
|
384
|
+
FINDING_CLASS_UNSPECIFIED = 0
|
385
|
+
|
386
|
+
# Describes unwanted or malicious activity.
|
387
|
+
THREAT = 1
|
388
|
+
|
389
|
+
# Describes a potential weakness in software that increases risk to
|
390
|
+
# Confidentiality & Integrity & Availability.
|
391
|
+
VULNERABILITY = 2
|
392
|
+
|
393
|
+
# Describes a potential weakness in cloud resource/asset configuration that
|
394
|
+
# increases risk.
|
395
|
+
MISCONFIGURATION = 3
|
396
|
+
|
397
|
+
# Describes a security observation that is for informational purposes.
|
398
|
+
OBSERVATION = 4
|
399
|
+
|
400
|
+
# Describes an error that prevents some SCC functionality.
|
401
|
+
SCC_ERROR = 5
|
402
|
+
|
403
|
+
# Describes a potential security risk due to a change in the security
|
404
|
+
# posture.
|
405
|
+
POSTURE_VIOLATION = 6
|
406
|
+
end
|
407
|
+
end
|
408
|
+
end
|
409
|
+
end
|
410
|
+
end
|
411
|
+
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Copyright 2024 Google LLC
|
4
|
+
#
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
# you may not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
# See the License for the specific language governing permissions and
|
15
|
+
# limitations under the License.
|
16
|
+
|
17
|
+
# Auto-generated by gapic-generator-ruby. DO NOT EDIT!
|
18
|
+
|
19
|
+
|
20
|
+
module Google
|
21
|
+
module Cloud
|
22
|
+
module SecurityCenter
|
23
|
+
module V2
|
24
|
+
# Represents a particular IAM binding, which captures a member's role addition,
|
25
|
+
# removal, or state.
|
26
|
+
# @!attribute [rw] action
|
27
|
+
# @return [::Google::Cloud::SecurityCenter::V2::IamBinding::Action]
|
28
|
+
# The action that was performed on a Binding.
|
29
|
+
# @!attribute [rw] role
|
30
|
+
# @return [::String]
|
31
|
+
# Role that is assigned to "members".
|
32
|
+
# For example, "roles/viewer", "roles/editor", or "roles/owner".
|
33
|
+
# @!attribute [rw] member
|
34
|
+
# @return [::String]
|
35
|
+
# A single identity requesting access for a Cloud Platform resource, for
|
36
|
+
# example, "foo@google.com".
|
37
|
+
class IamBinding
|
38
|
+
include ::Google::Protobuf::MessageExts
|
39
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
40
|
+
|
41
|
+
# The type of action performed on a Binding in a policy.
|
42
|
+
module Action
|
43
|
+
# Unspecified.
|
44
|
+
ACTION_UNSPECIFIED = 0
|
45
|
+
|
46
|
+
# Addition of a Binding.
|
47
|
+
ADD = 1
|
48
|
+
|
49
|
+
# Removal of a Binding.
|
50
|
+
REMOVE = 2
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
@@ -0,0 +1,112 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Copyright 2024 Google LLC
|
4
|
+
#
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
# you may not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
# See the License for the specific language governing permissions and
|
15
|
+
# limitations under the License.
|
16
|
+
|
17
|
+
# Auto-generated by gapic-generator-ruby. DO NOT EDIT!
|
18
|
+
|
19
|
+
|
20
|
+
module Google
|
21
|
+
module Cloud
|
22
|
+
module SecurityCenter
|
23
|
+
module V2
|
24
|
+
# Represents what's commonly known as an _indicator of compromise_ (IoC) in
|
25
|
+
# computer forensics. This is an artifact observed on a network or in an
|
26
|
+
# operating system that, with high confidence, indicates a computer intrusion.
|
27
|
+
# For more information, see [Indicator of
|
28
|
+
# compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise).
|
29
|
+
# @!attribute [rw] ip_addresses
|
30
|
+
# @return [::Array<::String>]
|
31
|
+
# The list of IP addresses that are associated with the finding.
|
32
|
+
# @!attribute [rw] domains
|
33
|
+
# @return [::Array<::String>]
|
34
|
+
# List of domains associated to the Finding.
|
35
|
+
# @!attribute [rw] signatures
|
36
|
+
# @return [::Array<::Google::Cloud::SecurityCenter::V2::Indicator::ProcessSignature>]
|
37
|
+
# The list of matched signatures indicating that the given
|
38
|
+
# process is present in the environment.
|
39
|
+
# @!attribute [rw] uris
|
40
|
+
# @return [::Array<::String>]
|
41
|
+
# The list of URIs associated to the Findings.
|
42
|
+
class Indicator
|
43
|
+
include ::Google::Protobuf::MessageExts
|
44
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
45
|
+
|
46
|
+
# Indicates what signature matched this process.
|
47
|
+
# @!attribute [rw] memory_hash_signature
|
48
|
+
# @return [::Google::Cloud::SecurityCenter::V2::Indicator::ProcessSignature::MemoryHashSignature]
|
49
|
+
# Signature indicating that a binary family was matched.
|
50
|
+
# @!attribute [rw] yara_rule_signature
|
51
|
+
# @return [::Google::Cloud::SecurityCenter::V2::Indicator::ProcessSignature::YaraRuleSignature]
|
52
|
+
# Signature indicating that a YARA rule was matched.
|
53
|
+
# @!attribute [rw] signature_type
|
54
|
+
# @return [::Google::Cloud::SecurityCenter::V2::Indicator::ProcessSignature::SignatureType]
|
55
|
+
# Describes the type of resource associated with the signature.
|
56
|
+
class ProcessSignature
|
57
|
+
include ::Google::Protobuf::MessageExts
|
58
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
59
|
+
|
60
|
+
# A signature corresponding to memory page hashes.
|
61
|
+
# @!attribute [rw] binary_family
|
62
|
+
# @return [::String]
|
63
|
+
# The binary family.
|
64
|
+
# @!attribute [rw] detections
|
65
|
+
# @return [::Array<::Google::Cloud::SecurityCenter::V2::Indicator::ProcessSignature::MemoryHashSignature::Detection>]
|
66
|
+
# The list of memory hash detections contributing to the binary family
|
67
|
+
# match.
|
68
|
+
class MemoryHashSignature
|
69
|
+
include ::Google::Protobuf::MessageExts
|
70
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
71
|
+
|
72
|
+
# Memory hash detection contributing to the binary family match.
|
73
|
+
# @!attribute [rw] binary
|
74
|
+
# @return [::String]
|
75
|
+
# The name of the binary associated with the memory hash
|
76
|
+
# signature detection.
|
77
|
+
# @!attribute [rw] percent_pages_matched
|
78
|
+
# @return [::Float]
|
79
|
+
# The percentage of memory page hashes in the signature
|
80
|
+
# that were matched.
|
81
|
+
class Detection
|
82
|
+
include ::Google::Protobuf::MessageExts
|
83
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
87
|
+
# A signature corresponding to a YARA rule.
|
88
|
+
# @!attribute [rw] yara_rule
|
89
|
+
# @return [::String]
|
90
|
+
# The name of the YARA rule.
|
91
|
+
class YaraRuleSignature
|
92
|
+
include ::Google::Protobuf::MessageExts
|
93
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
94
|
+
end
|
95
|
+
|
96
|
+
# Possible resource types to be associated with a signature.
|
97
|
+
module SignatureType
|
98
|
+
# The default signature type.
|
99
|
+
SIGNATURE_TYPE_UNSPECIFIED = 0
|
100
|
+
|
101
|
+
# Used for signatures concerning processes.
|
102
|
+
SIGNATURE_TYPE_PROCESS = 1
|
103
|
+
|
104
|
+
# Used for signatures concerning disks.
|
105
|
+
SIGNATURE_TYPE_FILE = 2
|
106
|
+
end
|
107
|
+
end
|
108
|
+
end
|
109
|
+
end
|
110
|
+
end
|
111
|
+
end
|
112
|
+
end
|
@@ -0,0 +1,66 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Copyright 2024 Google LLC
|
4
|
+
#
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
# you may not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
# See the License for the specific language governing permissions and
|
15
|
+
# limitations under the License.
|
16
|
+
|
17
|
+
# Auto-generated by gapic-generator-ruby. DO NOT EDIT!
|
18
|
+
|
19
|
+
|
20
|
+
module Google
|
21
|
+
module Cloud
|
22
|
+
module SecurityCenter
|
23
|
+
module V2
|
24
|
+
# Kernel mode rootkit signatures.
|
25
|
+
# @!attribute [rw] name
|
26
|
+
# @return [::String]
|
27
|
+
# Rootkit name, when available.
|
28
|
+
# @!attribute [rw] unexpected_code_modification
|
29
|
+
# @return [::Boolean]
|
30
|
+
# True if unexpected modifications of kernel code memory are present.
|
31
|
+
# @!attribute [rw] unexpected_read_only_data_modification
|
32
|
+
# @return [::Boolean]
|
33
|
+
# True if unexpected modifications of kernel read-only data memory are
|
34
|
+
# present.
|
35
|
+
# @!attribute [rw] unexpected_ftrace_handler
|
36
|
+
# @return [::Boolean]
|
37
|
+
# True if `ftrace` points are present with callbacks pointing to regions
|
38
|
+
# that are not in the expected kernel or module code range.
|
39
|
+
# @!attribute [rw] unexpected_kprobe_handler
|
40
|
+
# @return [::Boolean]
|
41
|
+
# True if `kprobe` points are present with callbacks pointing to regions
|
42
|
+
# that are not in the expected kernel or module code range.
|
43
|
+
# @!attribute [rw] unexpected_kernel_code_pages
|
44
|
+
# @return [::Boolean]
|
45
|
+
# True if kernel code pages that are not in the expected kernel or module
|
46
|
+
# code regions are present.
|
47
|
+
# @!attribute [rw] unexpected_system_call_handler
|
48
|
+
# @return [::Boolean]
|
49
|
+
# True if system call handlers that are are not in the expected kernel or
|
50
|
+
# module code regions are present.
|
51
|
+
# @!attribute [rw] unexpected_interrupt_handler
|
52
|
+
# @return [::Boolean]
|
53
|
+
# True if interrupt handlers that are are not in the expected kernel or
|
54
|
+
# module code regions are present.
|
55
|
+
# @!attribute [rw] unexpected_processes_in_runqueue
|
56
|
+
# @return [::Boolean]
|
57
|
+
# True if unexpected processes in the scheduler run queue are present. Such
|
58
|
+
# processes are in the run queue, but not in the process task list.
|
59
|
+
class KernelRootkit
|
60
|
+
include ::Google::Protobuf::MessageExts
|
61
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|