google-cloud-security_center-v1 0.15.0 → 0.18.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +10 -5
  3. data/lib/google/cloud/security_center/v1/security_center/operations.rb +3 -0
  4. data/lib/google/cloud/security_center/v1/version.rb +1 -1
  5. data/lib/google/cloud/securitycenter/v1/asset_pb.rb +2 -1
  6. data/lib/google/cloud/securitycenter/v1/bigquery_export_pb.rb +2 -1
  7. data/lib/google/cloud/securitycenter/v1/compliance_pb.rb +24 -0
  8. data/lib/google/cloud/securitycenter/v1/contact_details_pb.rb +26 -0
  9. data/lib/google/cloud/securitycenter/v1/container_pb.rb +27 -0
  10. data/lib/google/cloud/securitycenter/v1/exfiltration_pb.rb +28 -0
  11. data/lib/google/cloud/securitycenter/v1/external_system_pb.rb +2 -1
  12. data/lib/google/cloud/securitycenter/v1/file_pb.rb +27 -0
  13. data/lib/google/cloud/securitycenter/v1/finding_pb.rb +14 -1
  14. data/lib/google/cloud/securitycenter/v1/indicator_pb.rb +22 -0
  15. data/lib/google/cloud/securitycenter/v1/kubernetes_pb.rb +88 -0
  16. data/lib/google/cloud/securitycenter/v1/label_pb.rb +23 -0
  17. data/lib/google/cloud/securitycenter/v1/mitre_attack_pb.rb +2 -0
  18. data/lib/google/cloud/securitycenter/v1/mute_config_pb.rb +2 -1
  19. data/lib/google/cloud/securitycenter/v1/notification_config_pb.rb +2 -1
  20. data/lib/google/cloud/securitycenter/v1/notification_message_pb.rb +2 -1
  21. data/lib/google/cloud/securitycenter/v1/organization_settings_pb.rb +2 -1
  22. data/lib/google/cloud/securitycenter/v1/process_pb.rb +38 -0
  23. data/lib/google/cloud/securitycenter/v1/resource_pb.rb +2 -1
  24. data/lib/google/cloud/securitycenter/v1/run_asset_discovery_response_pb.rb +2 -1
  25. data/lib/google/cloud/securitycenter/v1/security_marks_pb.rb +2 -1
  26. data/lib/google/cloud/securitycenter/v1/securitycenter_service_pb.rb +2 -1
  27. data/lib/google/cloud/securitycenter/v1/source_pb.rb +2 -1
  28. data/proto_docs/google/cloud/securitycenter/v1/compliance.rb +43 -0
  29. data/proto_docs/google/cloud/securitycenter/v1/contact_details.rb +44 -0
  30. data/proto_docs/google/cloud/securitycenter/v1/container.rb +47 -0
  31. data/proto_docs/google/cloud/securitycenter/v1/exfiltration.rb +59 -0
  32. data/proto_docs/google/cloud/securitycenter/v1/file.rb +56 -0
  33. data/proto_docs/google/cloud/securitycenter/v1/finding.rb +45 -0
  34. data/proto_docs/google/cloud/securitycenter/v1/indicator.rb +52 -0
  35. data/proto_docs/google/cloud/securitycenter/v1/kubernetes.rb +203 -0
  36. data/proto_docs/google/cloud/securitycenter/v1/label.rb +39 -0
  37. data/proto_docs/google/cloud/securitycenter/v1/mitre_attack.rb +6 -1
  38. data/proto_docs/google/cloud/securitycenter/v1/process.rb +79 -0
  39. data/proto_docs/google/protobuf/any.rb +3 -3
  40. data/proto_docs/google/protobuf/struct.rb +2 -2
  41. 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