google-cloud-security_center-v1 0.15.0 → 0.18.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.
- checksums.yaml +4 -4
- data/README.md +10 -5
- data/lib/google/cloud/security_center/v1/security_center/operations.rb +3 -0
- data/lib/google/cloud/security_center/v1/version.rb +1 -1
- data/lib/google/cloud/securitycenter/v1/asset_pb.rb +2 -1
- data/lib/google/cloud/securitycenter/v1/bigquery_export_pb.rb +2 -1
- data/lib/google/cloud/securitycenter/v1/compliance_pb.rb +24 -0
- data/lib/google/cloud/securitycenter/v1/contact_details_pb.rb +26 -0
- data/lib/google/cloud/securitycenter/v1/container_pb.rb +27 -0
- data/lib/google/cloud/securitycenter/v1/exfiltration_pb.rb +28 -0
- data/lib/google/cloud/securitycenter/v1/external_system_pb.rb +2 -1
- data/lib/google/cloud/securitycenter/v1/file_pb.rb +27 -0
- data/lib/google/cloud/securitycenter/v1/finding_pb.rb +14 -1
- data/lib/google/cloud/securitycenter/v1/indicator_pb.rb +22 -0
- data/lib/google/cloud/securitycenter/v1/kubernetes_pb.rb +88 -0
- data/lib/google/cloud/securitycenter/v1/label_pb.rb +23 -0
- data/lib/google/cloud/securitycenter/v1/mitre_attack_pb.rb +2 -0
- data/lib/google/cloud/securitycenter/v1/mute_config_pb.rb +2 -1
- data/lib/google/cloud/securitycenter/v1/notification_config_pb.rb +2 -1
- data/lib/google/cloud/securitycenter/v1/notification_message_pb.rb +2 -1
- data/lib/google/cloud/securitycenter/v1/organization_settings_pb.rb +2 -1
- data/lib/google/cloud/securitycenter/v1/process_pb.rb +38 -0
- data/lib/google/cloud/securitycenter/v1/resource_pb.rb +2 -1
- data/lib/google/cloud/securitycenter/v1/run_asset_discovery_response_pb.rb +2 -1
- data/lib/google/cloud/securitycenter/v1/security_marks_pb.rb +2 -1
- data/lib/google/cloud/securitycenter/v1/securitycenter_service_pb.rb +2 -1
- data/lib/google/cloud/securitycenter/v1/source_pb.rb +2 -1
- data/proto_docs/google/cloud/securitycenter/v1/compliance.rb +43 -0
- data/proto_docs/google/cloud/securitycenter/v1/contact_details.rb +44 -0
- data/proto_docs/google/cloud/securitycenter/v1/container.rb +47 -0
- data/proto_docs/google/cloud/securitycenter/v1/exfiltration.rb +59 -0
- data/proto_docs/google/cloud/securitycenter/v1/file.rb +56 -0
- data/proto_docs/google/cloud/securitycenter/v1/finding.rb +45 -0
- data/proto_docs/google/cloud/securitycenter/v1/indicator.rb +52 -0
- data/proto_docs/google/cloud/securitycenter/v1/kubernetes.rb +203 -0
- data/proto_docs/google/cloud/securitycenter/v1/label.rb +39 -0
- data/proto_docs/google/cloud/securitycenter/v1/mitre_attack.rb +6 -1
- data/proto_docs/google/cloud/securitycenter/v1/process.rb +79 -0
- data/proto_docs/google/protobuf/any.rb +3 -3
- data/proto_docs/google/protobuf/struct.rb +2 -2
- metadata +28 -12
@@ -0,0 +1,44 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Copyright 2022 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 V1
|
24
|
+
# The details pertaining to specific contacts
|
25
|
+
# @!attribute [rw] contacts
|
26
|
+
# @return [::Array<::Google::Cloud::SecurityCenter::V1::Contact>]
|
27
|
+
# A list of contacts
|
28
|
+
class ContactDetails
|
29
|
+
include ::Google::Protobuf::MessageExts
|
30
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
31
|
+
end
|
32
|
+
|
33
|
+
# Representa a single contact's email address
|
34
|
+
# @!attribute [rw] email
|
35
|
+
# @return [::String]
|
36
|
+
# An email address e.g. "person123@company.com"
|
37
|
+
class Contact
|
38
|
+
include ::Google::Protobuf::MessageExts
|
39
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Copyright 2022 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 V1
|
24
|
+
# Container associated with the finding.
|
25
|
+
# @!attribute [rw] name
|
26
|
+
# @return [::String]
|
27
|
+
# Container name.
|
28
|
+
# @!attribute [rw] uri
|
29
|
+
# @return [::String]
|
30
|
+
# Container image URI provided when configuring a pod/container.
|
31
|
+
# May identify a container image version using mutable tags.
|
32
|
+
# @!attribute [rw] image_id
|
33
|
+
# @return [::String]
|
34
|
+
# Optional container image id, when provided by the container runtime.
|
35
|
+
# Uniquely identifies the container image launched using a container image
|
36
|
+
# digest.
|
37
|
+
# @!attribute [rw] labels
|
38
|
+
# @return [::Array<::Google::Cloud::SecurityCenter::V1::Label>]
|
39
|
+
# Container labels, as provided by the container runtime.
|
40
|
+
class Container
|
41
|
+
include ::Google::Protobuf::MessageExts
|
42
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Copyright 2022 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 V1
|
24
|
+
# Exfiltration represents a data exfiltration attempt of one or more
|
25
|
+
# sources to one or more targets. Sources represent the source
|
26
|
+
# of data that is exfiltrated, and Targets represents the destination the
|
27
|
+
# data was copied to.
|
28
|
+
# @!attribute [rw] sources
|
29
|
+
# @return [::Array<::Google::Cloud::SecurityCenter::V1::ExfilResource>]
|
30
|
+
# If there are multiple sources, then the data is considered "joined" between
|
31
|
+
# them. For instance, BigQuery can join multiple tables, and each
|
32
|
+
# table would be considered a source.
|
33
|
+
# @!attribute [rw] targets
|
34
|
+
# @return [::Array<::Google::Cloud::SecurityCenter::V1::ExfilResource>]
|
35
|
+
# If there are multiple targets, each target would get a complete copy of the
|
36
|
+
# "joined" source data.
|
37
|
+
class Exfiltration
|
38
|
+
include ::Google::Protobuf::MessageExts
|
39
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
40
|
+
end
|
41
|
+
|
42
|
+
# Resource that has been exfiltrated or exfiltrated_to.
|
43
|
+
# @!attribute [rw] name
|
44
|
+
# @return [::String]
|
45
|
+
# Resource's URI (https://google.aip.dev/122#full-resource-names)
|
46
|
+
# @!attribute [rw] components
|
47
|
+
# @return [::Array<::String>]
|
48
|
+
# Subcomponents of the asset that is exfiltrated - these could be
|
49
|
+
# URIs used during exfiltration, table names, databases, filenames, etc.
|
50
|
+
# For example, multiple tables may be exfiltrated from the same CloudSQL
|
51
|
+
# instance, or multiple files from the same Cloud Storage bucket.
|
52
|
+
class ExfilResource
|
53
|
+
include ::Google::Protobuf::MessageExts
|
54
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Copyright 2022 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 V1
|
24
|
+
# File information about the related binary/library used by an executable, or
|
25
|
+
# the script used by a script interpreter
|
26
|
+
# @!attribute [rw] path
|
27
|
+
# @return [::String]
|
28
|
+
# Absolute path of the file as a JSON encoded string.
|
29
|
+
# @!attribute [rw] size
|
30
|
+
# @return [::Integer]
|
31
|
+
# Size of the file in bytes.
|
32
|
+
# @!attribute [rw] sha256
|
33
|
+
# @return [::String]
|
34
|
+
# SHA256 hash of the first hashed_size bytes of the file encoded as a
|
35
|
+
# hex string. If hashed_size == size, sha256 represents the SHA256 hash
|
36
|
+
# of the entire file.
|
37
|
+
# @!attribute [rw] hashed_size
|
38
|
+
# @return [::Integer]
|
39
|
+
# The length in bytes of the file prefix that was hashed. If
|
40
|
+
# hashed_size == size, any hashes reported represent the entire
|
41
|
+
# file.
|
42
|
+
# @!attribute [rw] partially_hashed
|
43
|
+
# @return [::Boolean]
|
44
|
+
# True when the hash covers only a prefix of the file.
|
45
|
+
# @!attribute [rw] contents
|
46
|
+
# @return [::String]
|
47
|
+
# Prefix of the file contents as a JSON encoded string.
|
48
|
+
# (Currently only populated for Malicious Script Executed findings.)
|
49
|
+
class File
|
50
|
+
include ::Google::Protobuf::MessageExts
|
51
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
@@ -141,15 +141,51 @@ module Google
|
|
141
141
|
# mute operation e.g. mute config that muted the finding, user who muted the
|
142
142
|
# finding, etc. Unlike other attributes of a finding, a finding provider
|
143
143
|
# shouldn't set the value of mute.
|
144
|
+
# @!attribute [rw] processes
|
145
|
+
# @return [::Array<::Google::Cloud::SecurityCenter::V1::Process>]
|
146
|
+
# Represents operating system processes associated with the Finding.
|
147
|
+
# @!attribute [r] contacts
|
148
|
+
# @return [::Google::Protobuf::Map{::String => ::Google::Cloud::SecurityCenter::V1::ContactDetails}]
|
149
|
+
# Output only. Map containing the point of contacts for the given finding. The key
|
150
|
+
# represents the type of contact, while the value contains a list of all the
|
151
|
+
# contacts that pertain. Please refer to:
|
152
|
+
# https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories
|
153
|
+
#
|
154
|
+
# {
|
155
|
+
# "security": {
|
156
|
+
# "contacts": [
|
157
|
+
# {
|
158
|
+
# "email": "person1@company.com"
|
159
|
+
# },
|
160
|
+
# {
|
161
|
+
# "email": "person2@company.com"
|
162
|
+
# }
|
163
|
+
# ]
|
164
|
+
# }
|
165
|
+
# }
|
166
|
+
# @!attribute [rw] compliances
|
167
|
+
# @return [::Array<::Google::Cloud::SecurityCenter::V1::Compliance>]
|
168
|
+
# Contains compliance information for security standards associated to the
|
169
|
+
# finding.
|
144
170
|
# @!attribute [rw] description
|
145
171
|
# @return [::String]
|
146
172
|
# Contains more detail about the finding.
|
173
|
+
# @!attribute [rw] exfiltration
|
174
|
+
# @return [::Google::Cloud::SecurityCenter::V1::Exfiltration]
|
175
|
+
# Represents exfiltration associated with the Finding.
|
147
176
|
# @!attribute [rw] iam_bindings
|
148
177
|
# @return [::Array<::Google::Cloud::SecurityCenter::V1::IamBinding>]
|
149
178
|
# Represents IAM bindings associated with the Finding.
|
150
179
|
# @!attribute [rw] next_steps
|
151
180
|
# @return [::String]
|
152
181
|
# Next steps associate to the finding.
|
182
|
+
# @!attribute [rw] containers
|
183
|
+
# @return [::Array<::Google::Cloud::SecurityCenter::V1::Container>]
|
184
|
+
# Containers associated with the finding. containers provides information
|
185
|
+
# for both Kubernetes and non-Kubernetes containers.
|
186
|
+
# @!attribute [rw] kubernetes
|
187
|
+
# @return [::Google::Cloud::SecurityCenter::V1::Kubernetes]
|
188
|
+
# Kubernetes resources associated with the finding.
|
153
189
|
class Finding
|
154
190
|
include ::Google::Protobuf::MessageExts
|
155
191
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -172,6 +208,15 @@ module Google
|
|
172
208
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
173
209
|
end
|
174
210
|
|
211
|
+
# @!attribute [rw] key
|
212
|
+
# @return [::String]
|
213
|
+
# @!attribute [rw] value
|
214
|
+
# @return [::Google::Cloud::SecurityCenter::V1::ContactDetails]
|
215
|
+
class ContactsEntry
|
216
|
+
include ::Google::Protobuf::MessageExts
|
217
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
218
|
+
end
|
219
|
+
|
175
220
|
# The state of the finding.
|
176
221
|
module State
|
177
222
|
# Unspecified state.
|
@@ -31,9 +31,61 @@ module Google
|
|
31
31
|
# @!attribute [rw] domains
|
32
32
|
# @return [::Array<::String>]
|
33
33
|
# List of domains associated to the Finding.
|
34
|
+
# @!attribute [rw] signatures
|
35
|
+
# @return [::Array<::Google::Cloud::SecurityCenter::V1::Indicator::ProcessSignature>]
|
36
|
+
# The list of matched signatures indicating that the given
|
37
|
+
# process is present in the environment.
|
34
38
|
class Indicator
|
35
39
|
include ::Google::Protobuf::MessageExts
|
36
40
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
41
|
+
|
42
|
+
# Indicates what signature matched this process.
|
43
|
+
# @!attribute [rw] memory_hash_signature
|
44
|
+
# @return [::Google::Cloud::SecurityCenter::V1::Indicator::ProcessSignature::MemoryHashSignature]
|
45
|
+
# Signature indicating that a binary family was matched.
|
46
|
+
# @!attribute [rw] yara_rule_signature
|
47
|
+
# @return [::Google::Cloud::SecurityCenter::V1::Indicator::ProcessSignature::YaraRuleSignature]
|
48
|
+
# Signature indicating that a YARA rule was matched.
|
49
|
+
class ProcessSignature
|
50
|
+
include ::Google::Protobuf::MessageExts
|
51
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
52
|
+
|
53
|
+
# A signature corresponding to memory page hashes.
|
54
|
+
# @!attribute [rw] binary_family
|
55
|
+
# @return [::String]
|
56
|
+
# The binary family.
|
57
|
+
# @!attribute [rw] detections
|
58
|
+
# @return [::Array<::Google::Cloud::SecurityCenter::V1::Indicator::ProcessSignature::MemoryHashSignature::Detection>]
|
59
|
+
# The list of memory hash detections contributing to the binary family
|
60
|
+
# match.
|
61
|
+
class MemoryHashSignature
|
62
|
+
include ::Google::Protobuf::MessageExts
|
63
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
64
|
+
|
65
|
+
# Memory hash detection contributing to the binary family match.
|
66
|
+
# @!attribute [rw] binary
|
67
|
+
# @return [::String]
|
68
|
+
# The name of the binary associated with the memory hash
|
69
|
+
# signature detection.
|
70
|
+
# @!attribute [rw] percent_pages_matched
|
71
|
+
# @return [::Float]
|
72
|
+
# The percentage of memory page hashes in the signature
|
73
|
+
# that were matched.
|
74
|
+
class Detection
|
75
|
+
include ::Google::Protobuf::MessageExts
|
76
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
# A signature corresponding to a YARA rule.
|
81
|
+
# @!attribute [rw] yara_rule
|
82
|
+
# @return [::String]
|
83
|
+
# The name of the YARA rule.
|
84
|
+
class YaraRuleSignature
|
85
|
+
include ::Google::Protobuf::MessageExts
|
86
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
87
|
+
end
|
88
|
+
end
|
37
89
|
end
|
38
90
|
end
|
39
91
|
end
|
@@ -0,0 +1,203 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Copyright 2022 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 V1
|
24
|
+
# Kubernetes related attributes.
|
25
|
+
# @!attribute [rw] pods
|
26
|
+
# @return [::Array<::Google::Cloud::SecurityCenter::V1::Kubernetes::Pod>]
|
27
|
+
# Kubernetes Pods associated with the finding. This field will contain Pod
|
28
|
+
# records for each container that is owned by a Pod.
|
29
|
+
# @!attribute [rw] nodes
|
30
|
+
# @return [::Array<::Google::Cloud::SecurityCenter::V1::Kubernetes::Node>]
|
31
|
+
# Provides Kubernetes Node information.
|
32
|
+
# @!attribute [rw] node_pools
|
33
|
+
# @return [::Array<::Google::Cloud::SecurityCenter::V1::Kubernetes::NodePool>]
|
34
|
+
# GKE Node Pools associated with the finding. This field will
|
35
|
+
# contain NodePool information for each Node, when it is available.
|
36
|
+
# @!attribute [rw] roles
|
37
|
+
# @return [::Array<::Google::Cloud::SecurityCenter::V1::Kubernetes::Role>]
|
38
|
+
# Provides Kubernetes role information for findings that involve
|
39
|
+
# Roles or ClusterRoles.
|
40
|
+
# @!attribute [rw] bindings
|
41
|
+
# @return [::Array<::Google::Cloud::SecurityCenter::V1::Kubernetes::Binding>]
|
42
|
+
# Provides Kubernetes role binding information for findings that involve
|
43
|
+
# RoleBindings or ClusterRoleBindings.
|
44
|
+
# @!attribute [rw] access_reviews
|
45
|
+
# @return [::Array<::Google::Cloud::SecurityCenter::V1::Kubernetes::AccessReview>]
|
46
|
+
# Provides information on any Kubernetes access reviews (i.e. privilege
|
47
|
+
# checks) relevant to the finding.
|
48
|
+
class Kubernetes
|
49
|
+
include ::Google::Protobuf::MessageExts
|
50
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
51
|
+
|
52
|
+
# Kubernetes Pod.
|
53
|
+
# @!attribute [rw] ns
|
54
|
+
# @return [::String]
|
55
|
+
# Kubernetes Pod namespace.
|
56
|
+
# @!attribute [rw] name
|
57
|
+
# @return [::String]
|
58
|
+
# Kubernetes Pod name.
|
59
|
+
# @!attribute [rw] labels
|
60
|
+
# @return [::Array<::Google::Cloud::SecurityCenter::V1::Label>]
|
61
|
+
# Pod labels. For Kubernetes containers, these are applied to the
|
62
|
+
# container.
|
63
|
+
# @!attribute [rw] containers
|
64
|
+
# @return [::Array<::Google::Cloud::SecurityCenter::V1::Container>]
|
65
|
+
# Pod containers associated with this finding, if any.
|
66
|
+
class Pod
|
67
|
+
include ::Google::Protobuf::MessageExts
|
68
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
69
|
+
end
|
70
|
+
|
71
|
+
# Kubernetes Nodes associated with the finding.
|
72
|
+
# @!attribute [rw] name
|
73
|
+
# @return [::String]
|
74
|
+
# Full Resource name of the Compute Engine VM running the
|
75
|
+
# cluster node.
|
76
|
+
class Node
|
77
|
+
include ::Google::Protobuf::MessageExts
|
78
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
79
|
+
end
|
80
|
+
|
81
|
+
# Provides GKE Node Pool information.
|
82
|
+
# @!attribute [rw] name
|
83
|
+
# @return [::String]
|
84
|
+
# Kubernetes Node pool name.
|
85
|
+
# @!attribute [rw] nodes
|
86
|
+
# @return [::Array<::Google::Cloud::SecurityCenter::V1::Kubernetes::Node>]
|
87
|
+
# Nodes associated with the finding.
|
88
|
+
class NodePool
|
89
|
+
include ::Google::Protobuf::MessageExts
|
90
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
91
|
+
end
|
92
|
+
|
93
|
+
# Kubernetes Role or ClusterRole.
|
94
|
+
# @!attribute [rw] kind
|
95
|
+
# @return [::Google::Cloud::SecurityCenter::V1::Kubernetes::Role::Kind]
|
96
|
+
# Role type.
|
97
|
+
# @!attribute [rw] ns
|
98
|
+
# @return [::String]
|
99
|
+
# Role namespace.
|
100
|
+
# @!attribute [rw] name
|
101
|
+
# @return [::String]
|
102
|
+
# Role name.
|
103
|
+
class Role
|
104
|
+
include ::Google::Protobuf::MessageExts
|
105
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
106
|
+
|
107
|
+
# Types of Kubernetes roles.
|
108
|
+
module Kind
|
109
|
+
# Role type is not specified.
|
110
|
+
KIND_UNSPECIFIED = 0
|
111
|
+
|
112
|
+
# Kubernetes Role.
|
113
|
+
ROLE = 1
|
114
|
+
|
115
|
+
# Kubernetes ClusterRole.
|
116
|
+
CLUSTER_ROLE = 2
|
117
|
+
end
|
118
|
+
end
|
119
|
+
|
120
|
+
# Represents a Kubernetes RoleBinding or ClusterRoleBinding.
|
121
|
+
# @!attribute [rw] ns
|
122
|
+
# @return [::String]
|
123
|
+
# Namespace for binding.
|
124
|
+
# @!attribute [rw] name
|
125
|
+
# @return [::String]
|
126
|
+
# Name for binding.
|
127
|
+
# @!attribute [rw] role
|
128
|
+
# @return [::Google::Cloud::SecurityCenter::V1::Kubernetes::Role]
|
129
|
+
# The Role or ClusterRole referenced by the binding.
|
130
|
+
# @!attribute [rw] subjects
|
131
|
+
# @return [::Array<::Google::Cloud::SecurityCenter::V1::Kubernetes::Subject>]
|
132
|
+
# Represents the subjects(s) bound to the role. Not always available
|
133
|
+
# for PATCH requests.
|
134
|
+
class Binding
|
135
|
+
include ::Google::Protobuf::MessageExts
|
136
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
137
|
+
end
|
138
|
+
|
139
|
+
# Represents a Kubernetes Subject.
|
140
|
+
# @!attribute [rw] kind
|
141
|
+
# @return [::Google::Cloud::SecurityCenter::V1::Kubernetes::Subject::AuthType]
|
142
|
+
# Authentication type for subject.
|
143
|
+
# @!attribute [rw] ns
|
144
|
+
# @return [::String]
|
145
|
+
# Namespace for subject.
|
146
|
+
# @!attribute [rw] name
|
147
|
+
# @return [::String]
|
148
|
+
# Name for subject.
|
149
|
+
class Subject
|
150
|
+
include ::Google::Protobuf::MessageExts
|
151
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
152
|
+
|
153
|
+
# Auth types that can be used for Subject's kind field.
|
154
|
+
module AuthType
|
155
|
+
# Authentication is not specified.
|
156
|
+
AUTH_TYPE_UNSPECIFIED = 0
|
157
|
+
|
158
|
+
# User with valid certificate.
|
159
|
+
USER = 1
|
160
|
+
|
161
|
+
# Users managed by Kubernetes API with credentials stored as Secrets.
|
162
|
+
SERVICEACCOUNT = 2
|
163
|
+
|
164
|
+
# Collection of users.
|
165
|
+
GROUP = 3
|
166
|
+
end
|
167
|
+
end
|
168
|
+
|
169
|
+
# Conveys information about a Kubernetes access review (e.g. kubectl auth
|
170
|
+
# can-i ...) that was involved in a finding.
|
171
|
+
# @!attribute [rw] group
|
172
|
+
# @return [::String]
|
173
|
+
# Group is the API Group of the Resource. "*" means all.
|
174
|
+
# @!attribute [rw] ns
|
175
|
+
# @return [::String]
|
176
|
+
# Namespace of the action being requested. Currently, there is no
|
177
|
+
# distinction between no namespace and all namespaces. Both
|
178
|
+
# are represented by "" (empty).
|
179
|
+
# @!attribute [rw] name
|
180
|
+
# @return [::String]
|
181
|
+
# Name is the name of the resource being requested. Empty means all.
|
182
|
+
# @!attribute [rw] resource
|
183
|
+
# @return [::String]
|
184
|
+
# Resource is the optional resource type requested. "*" means all.
|
185
|
+
# @!attribute [rw] subresource
|
186
|
+
# @return [::String]
|
187
|
+
# Subresource is the optional subresource type.
|
188
|
+
# @!attribute [rw] verb
|
189
|
+
# @return [::String]
|
190
|
+
# Verb is a Kubernetes resource API verb, like: get, list, watch, create,
|
191
|
+
# update, delete, proxy. "*" means all.
|
192
|
+
# @!attribute [rw] version
|
193
|
+
# @return [::String]
|
194
|
+
# Version is the API Version of the Resource. "*" means all.
|
195
|
+
class AccessReview
|
196
|
+
include ::Google::Protobuf::MessageExts
|
197
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
198
|
+
end
|
199
|
+
end
|
200
|
+
end
|
201
|
+
end
|
202
|
+
end
|
203
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Copyright 2022 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 V1
|
24
|
+
# Label represents a generic name=value label. Label has separate name and
|
25
|
+
# value fields to support filtering with contains().
|
26
|
+
# @!attribute [rw] name
|
27
|
+
# @return [::String]
|
28
|
+
# Label name.
|
29
|
+
# @!attribute [rw] value
|
30
|
+
# @return [::String]
|
31
|
+
# Label value.
|
32
|
+
class Label
|
33
|
+
include ::Google::Protobuf::MessageExts
|
34
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -99,7 +99,6 @@ module Google
|
|
99
99
|
|
100
100
|
# MITRE ATT&CK techniques that can be referenced by SCC findings.
|
101
101
|
# See: https://attack.mitre.org/techniques/enterprise/
|
102
|
-
# Next ID: 31
|
103
102
|
module Technique
|
104
103
|
# Unspecified value.
|
105
104
|
TECHNIQUE_UNSPECIFIED = 0
|
@@ -193,6 +192,12 @@ module Google
|
|
193
192
|
|
194
193
|
# T1484
|
195
194
|
DOMAIN_POLICY_MODIFICATION = 30
|
195
|
+
|
196
|
+
# T1562
|
197
|
+
IMPAIR_DEFENSES = 31
|
198
|
+
|
199
|
+
# T1046
|
200
|
+
NETWORK_SERVICE_DISCOVERY = 32
|
196
201
|
end
|
197
202
|
end
|
198
203
|
end
|
@@ -0,0 +1,79 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Copyright 2022 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 V1
|
24
|
+
# Represents an operating system process.
|
25
|
+
# @!attribute [rw] name
|
26
|
+
# @return [::String]
|
27
|
+
# The process name visible in utilities like `top` and `ps`; it can
|
28
|
+
# be accessed via `/proc/[pid]/comm` and changed with `prctl(PR_SET_NAME)`.
|
29
|
+
# @!attribute [rw] binary
|
30
|
+
# @return [::Google::Cloud::SecurityCenter::V1::File]
|
31
|
+
# File information for the process executable.
|
32
|
+
# @!attribute [rw] libraries
|
33
|
+
# @return [::Array<::Google::Cloud::SecurityCenter::V1::File>]
|
34
|
+
# File information for libraries loaded by the process.
|
35
|
+
# @!attribute [rw] script
|
36
|
+
# @return [::Google::Cloud::SecurityCenter::V1::File]
|
37
|
+
# When the process represents the invocation of a script,
|
38
|
+
# `binary` provides information about the interpreter while `script`
|
39
|
+
# provides information about the script file provided to the
|
40
|
+
# interpreter.
|
41
|
+
# @!attribute [rw] args
|
42
|
+
# @return [::Array<::String>]
|
43
|
+
# Process arguments as JSON encoded strings.
|
44
|
+
# @!attribute [rw] arguments_truncated
|
45
|
+
# @return [::Boolean]
|
46
|
+
# True if `args` is incomplete.
|
47
|
+
# @!attribute [rw] env_variables
|
48
|
+
# @return [::Array<::Google::Cloud::SecurityCenter::V1::EnvironmentVariable>]
|
49
|
+
# Process environment variables.
|
50
|
+
# @!attribute [rw] env_variables_truncated
|
51
|
+
# @return [::Boolean]
|
52
|
+
# True if `env_variables` is incomplete.
|
53
|
+
# @!attribute [rw] pid
|
54
|
+
# @return [::Integer]
|
55
|
+
# The process id.
|
56
|
+
# @!attribute [rw] parent_pid
|
57
|
+
# @return [::Integer]
|
58
|
+
# The parent process id.
|
59
|
+
class Process
|
60
|
+
include ::Google::Protobuf::MessageExts
|
61
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
62
|
+
end
|
63
|
+
|
64
|
+
# EnvironmentVariable is a name-value pair to store environment variables for
|
65
|
+
# Process.
|
66
|
+
# @!attribute [rw] name
|
67
|
+
# @return [::String]
|
68
|
+
# Environment variable name as a JSON encoded string.
|
69
|
+
# @!attribute [rw] val
|
70
|
+
# @return [::String]
|
71
|
+
# Environment variable value as a JSON encoded string.
|
72
|
+
class EnvironmentVariable
|
73
|
+
include ::Google::Protobuf::MessageExts
|
74
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|