google-cloud-security_center-v1 0.35.0 → 0.37.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (28) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/lib/google/cloud/security_center/v1/security_center/paths.rb +52 -0
  4. data/lib/google/cloud/security_center/v1/version.rb +1 -1
  5. data/lib/google/cloud/securitycenter/v1/backup_disaster_recovery_pb.rb +45 -0
  6. data/lib/google/cloud/securitycenter/v1/database_pb.rb +1 -1
  7. data/lib/google/cloud/securitycenter/v1/exfiltration_pb.rb +1 -1
  8. data/lib/google/cloud/securitycenter/v1/file_pb.rb +2 -1
  9. data/lib/google/cloud/securitycenter/v1/finding_pb.rb +9 -1
  10. data/lib/google/cloud/securitycenter/v1/indicator_pb.rb +2 -1
  11. data/lib/google/cloud/securitycenter/v1/kubernetes_pb.rb +2 -1
  12. data/lib/google/cloud/securitycenter/v1/load_balancer_pb.rb +42 -0
  13. data/lib/google/cloud/securitycenter/v1/log_entry_pb.rb +46 -0
  14. data/lib/google/cloud/securitycenter/v1/mitre_attack_pb.rb +1 -1
  15. data/lib/google/cloud/securitycenter/v1/org_policy_pb.rb +44 -0
  16. data/proto_docs/google/cloud/securitycenter/v1/backup_disaster_recovery.rb +90 -0
  17. data/proto_docs/google/cloud/securitycenter/v1/database.rb +10 -5
  18. data/proto_docs/google/cloud/securitycenter/v1/exfiltration.rb +3 -0
  19. data/proto_docs/google/cloud/securitycenter/v1/file.rb +17 -0
  20. data/proto_docs/google/cloud/securitycenter/v1/finding.rb +12 -0
  21. data/proto_docs/google/cloud/securitycenter/v1/indicator.rb +15 -0
  22. data/proto_docs/google/cloud/securitycenter/v1/kubernetes.rb +29 -0
  23. data/proto_docs/google/cloud/securitycenter/v1/load_balancer.rb +36 -0
  24. data/proto_docs/google/cloud/securitycenter/v1/log_entry.rb +58 -0
  25. data/proto_docs/google/cloud/securitycenter/v1/mitre_attack.rb +123 -53
  26. data/proto_docs/google/cloud/securitycenter/v1/org_policy.rb +37 -0
  27. data/proto_docs/google/cloud/securitycenter/v1/source.rb +2 -2
  28. metadata +12 -116
@@ -45,9 +45,26 @@ module Google
45
45
  # @!attribute [rw] contents
46
46
  # @return [::String]
47
47
  # Prefix of the file contents as a JSON-encoded string.
48
+ # @!attribute [rw] disk_path
49
+ # @return [::Google::Cloud::SecurityCenter::V1::File::DiskPath]
50
+ # Path of the file in terms of underlying disk/partition identifiers.
48
51
  class File
49
52
  include ::Google::Protobuf::MessageExts
50
53
  extend ::Google::Protobuf::MessageExts::ClassMethods
54
+
55
+ # Path of the file in terms of underlying disk/partition identifiers.
56
+ # @!attribute [rw] partition_uuid
57
+ # @return [::String]
58
+ # UUID of the partition (format
59
+ # https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid)
60
+ # @!attribute [rw] relative_path
61
+ # @return [::String]
62
+ # Relative path of the file in the partition as a JSON encoded string.
63
+ # Example: /home/user1/executable_file.sh
64
+ class DiskPath
65
+ include ::Google::Protobuf::MessageExts
66
+ extend ::Google::Protobuf::MessageExts::ClassMethods
67
+ end
51
68
  end
52
69
  end
53
70
  end
@@ -212,9 +212,21 @@ module Google
212
212
  # @!attribute [rw] kernel_rootkit
213
213
  # @return [::Google::Cloud::SecurityCenter::V1::KernelRootkit]
214
214
  # Signature of the kernel rootkit.
215
+ # @!attribute [rw] org_policies
216
+ # @return [::Array<::Google::Cloud::SecurityCenter::V1::OrgPolicy>]
217
+ # Contains information about the org policies associated with the finding.
215
218
  # @!attribute [rw] application
216
219
  # @return [::Google::Cloud::SecurityCenter::V1::Application]
217
220
  # Represents an application associated with the finding.
221
+ # @!attribute [rw] backup_disaster_recovery
222
+ # @return [::Google::Cloud::SecurityCenter::V1::BackupDisasterRecovery]
223
+ # Fields related to Backup and DR findings.
224
+ # @!attribute [rw] log_entries
225
+ # @return [::Array<::Google::Cloud::SecurityCenter::V1::LogEntry>]
226
+ # Log entries that are relevant to the finding.
227
+ # @!attribute [rw] load_balancers
228
+ # @return [::Array<::Google::Cloud::SecurityCenter::V1::LoadBalancer>]
229
+ # The load balancers associated with the finding.
218
230
  class Finding
219
231
  include ::Google::Protobuf::MessageExts
220
232
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -50,6 +50,9 @@ module Google
50
50
  # @!attribute [rw] yara_rule_signature
51
51
  # @return [::Google::Cloud::SecurityCenter::V1::Indicator::ProcessSignature::YaraRuleSignature]
52
52
  # Signature indicating that a YARA rule was matched.
53
+ # @!attribute [rw] signature_type
54
+ # @return [::Google::Cloud::SecurityCenter::V1::Indicator::ProcessSignature::SignatureType]
55
+ # Describes the type of resource associated with the signature.
53
56
  class ProcessSignature
54
57
  include ::Google::Protobuf::MessageExts
55
58
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -89,6 +92,18 @@ module Google
89
92
  include ::Google::Protobuf::MessageExts
90
93
  extend ::Google::Protobuf::MessageExts::ClassMethods
91
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
92
107
  end
93
108
  end
94
109
  end
@@ -52,6 +52,9 @@ module Google
52
52
  # @return [::Array<::Google::Cloud::SecurityCenter::V1::Kubernetes::AccessReview>]
53
53
  # Provides information on any Kubernetes access reviews (privilege checks)
54
54
  # relevant to the finding.
55
+ # @!attribute [rw] objects
56
+ # @return [::Array<::Google::Cloud::SecurityCenter::V1::Kubernetes::Object>]
57
+ # Kubernetes objects related to the finding.
55
58
  class Kubernetes
56
59
  include ::Google::Protobuf::MessageExts
57
60
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -205,6 +208,32 @@ module Google
205
208
  include ::Google::Protobuf::MessageExts
206
209
  extend ::Google::Protobuf::MessageExts::ClassMethods
207
210
  end
211
+
212
+ # Kubernetes object related to the finding, uniquely identified by GKNN.
213
+ # Used if the object Kind is not one of Pod, Node, NodePool, Binding, or
214
+ # AccessReview.
215
+ # @!attribute [rw] group
216
+ # @return [::String]
217
+ # Kubernetes object group, such as "policy.k8s.io/v1".
218
+ # @!attribute [rw] kind
219
+ # @return [::String]
220
+ # Kubernetes object kind, such as "Namespace".
221
+ # @!attribute [rw] ns
222
+ # @return [::String]
223
+ # Kubernetes object namespace. Must be a valid DNS label. Named
224
+ # "ns" to avoid collision with C++ namespace keyword. For details see
225
+ # https://kubernetes.io/docs/tasks/administer-cluster/namespaces/.
226
+ # @!attribute [rw] name
227
+ # @return [::String]
228
+ # Kubernetes object name. For details see
229
+ # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/.
230
+ # @!attribute [rw] containers
231
+ # @return [::Array<::Google::Cloud::SecurityCenter::V1::Container>]
232
+ # Pod containers associated with this finding, if any.
233
+ class Object
234
+ include ::Google::Protobuf::MessageExts
235
+ extend ::Google::Protobuf::MessageExts::ClassMethods
236
+ end
208
237
  end
209
238
  end
210
239
  end
@@ -0,0 +1,36 @@
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 V1
24
+ # Contains information related to the load balancer associated with the
25
+ # finding.
26
+ # @!attribute [rw] name
27
+ # @return [::String]
28
+ # The name of the load balancer associated with the finding.
29
+ class LoadBalancer
30
+ include ::Google::Protobuf::MessageExts
31
+ extend ::Google::Protobuf::MessageExts::ClassMethods
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,58 @@
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 V1
24
+ # An individual entry in a log.
25
+ # @!attribute [rw] cloud_logging_entry
26
+ # @return [::Google::Cloud::SecurityCenter::V1::CloudLoggingEntry]
27
+ # An individual entry in a log stored in Cloud Logging.
28
+ class LogEntry
29
+ include ::Google::Protobuf::MessageExts
30
+ extend ::Google::Protobuf::MessageExts::ClassMethods
31
+ end
32
+
33
+ # Metadata taken from a [Cloud Logging
34
+ # LogEntry](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry)
35
+ # @!attribute [rw] insert_id
36
+ # @return [::String]
37
+ # A unique identifier for the log entry.
38
+ # @!attribute [rw] log_id
39
+ # @return [::String]
40
+ # The type of the log (part of `log_name`. `log_name` is the resource name of
41
+ # the log to which this log entry belongs). For example:
42
+ # `cloudresourcemanager.googleapis.com/activity`. Note that this field is not
43
+ # URL-encoded, unlike the `LOG_ID` field in `LogEntry`.
44
+ # @!attribute [rw] resource_container
45
+ # @return [::String]
46
+ # The organization, folder, or project of the monitored resource that
47
+ # produced this log entry.
48
+ # @!attribute [rw] timestamp
49
+ # @return [::Google::Protobuf::Timestamp]
50
+ # The time the event described by the log entry occurred.
51
+ class CloudLoggingEntry
52
+ include ::Google::Protobuf::MessageExts
53
+ extend ::Google::Protobuf::MessageExts::ClassMethods
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end
@@ -99,24 +99,28 @@ 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: 59
102
103
  module Technique
103
104
  # Unspecified value.
104
105
  TECHNIQUE_UNSPECIFIED = 0
105
106
 
106
- # T1595
107
- ACTIVE_SCANNING = 1
107
+ # T1036
108
+ MASQUERADING = 49
108
109
 
109
- # T1595.001
110
- SCANNING_IP_BLOCKS = 2
110
+ # T1036.005
111
+ MATCH_LEGITIMATE_NAME_OR_LOCATION = 50
111
112
 
112
- # T1105
113
- INGRESS_TOOL_TRANSFER = 3
113
+ # T1037
114
+ BOOT_OR_LOGON_INITIALIZATION_SCRIPTS = 37
114
115
 
115
- # T1106
116
- NATIVE_API = 4
116
+ # T1037.005
117
+ STARTUP_ITEMS = 38
117
118
 
118
- # T1129
119
- SHARED_MODULES = 5
119
+ # T1046
120
+ NETWORK_SERVICE_DISCOVERY = 32
121
+
122
+ # T1057
123
+ PROCESS_DISCOVERY = 56
120
124
 
121
125
  # T1059
122
126
  COMMAND_AND_SCRIPTING_INTERPRETER = 6
@@ -124,89 +128,155 @@ module Google
124
128
  # T1059.004
125
129
  UNIX_SHELL = 7
126
130
 
127
- # T1496
128
- RESOURCE_HIJACKING = 8
129
-
130
- # T1090
131
- PROXY = 9
131
+ # T1069
132
+ PERMISSION_GROUPS_DISCOVERY = 18
132
133
 
133
- # T1090.002
134
- EXTERNAL_PROXY = 10
134
+ # T1069.003
135
+ CLOUD_GROUPS = 19
135
136
 
136
- # T1090.003
137
- MULTI_HOP_PROXY = 11
137
+ # T1071
138
+ APPLICATION_LAYER_PROTOCOL = 45
138
139
 
139
- # T1568
140
- DYNAMIC_RESOLUTION = 12
140
+ # T1071.004
141
+ DNS = 46
141
142
 
142
- # T1552
143
- UNSECURED_CREDENTIALS = 13
143
+ # T1072
144
+ SOFTWARE_DEPLOYMENT_TOOLS = 47
144
145
 
145
146
  # T1078
146
147
  VALID_ACCOUNTS = 14
147
148
 
149
+ # T1078.001
150
+ DEFAULT_ACCOUNTS = 35
151
+
148
152
  # T1078.003
149
153
  LOCAL_ACCOUNTS = 15
150
154
 
151
155
  # T1078.004
152
156
  CLOUD_ACCOUNTS = 16
153
157
 
154
- # T1498
155
- NETWORK_DENIAL_OF_SERVICE = 17
156
-
157
- # T1069
158
- PERMISSION_GROUPS_DISCOVERY = 18
159
-
160
- # T1069.003
161
- CLOUD_GROUPS = 19
158
+ # T1090
159
+ PROXY = 9
162
160
 
163
- # T1567
164
- EXFILTRATION_OVER_WEB_SERVICE = 20
161
+ # T1090.002
162
+ EXTERNAL_PROXY = 10
165
163
 
166
- # T1567.002
167
- EXFILTRATION_TO_CLOUD_STORAGE = 21
164
+ # T1090.003
165
+ MULTI_HOP_PROXY = 11
168
166
 
169
167
  # T1098
170
168
  ACCOUNT_MANIPULATION = 22
171
169
 
170
+ # T1098.001
171
+ ADDITIONAL_CLOUD_CREDENTIALS = 40
172
+
172
173
  # T1098.004
173
174
  SSH_AUTHORIZED_KEYS = 23
174
175
 
175
- # T1543
176
- CREATE_OR_MODIFY_SYSTEM_PROCESS = 24
176
+ # T1098.006
177
+ ADDITIONAL_CONTAINER_CLUSTER_ROLES = 58
177
178
 
178
- # T1539
179
- STEAL_WEB_SESSION_COOKIE = 25
179
+ # T1105
180
+ INGRESS_TOOL_TRANSFER = 3
180
181
 
181
- # T1578
182
- MODIFY_CLOUD_COMPUTE_INFRASTRUCTURE = 26
182
+ # T1106
183
+ NATIVE_API = 4
184
+
185
+ # T1110
186
+ BRUTE_FORCE = 44
187
+
188
+ # T1129
189
+ SHARED_MODULES = 5
190
+
191
+ # T1134
192
+ ACCESS_TOKEN_MANIPULATION = 33
193
+
194
+ # T1134.001
195
+ TOKEN_IMPERSONATION_OR_THEFT = 39
183
196
 
184
197
  # T1190
185
198
  EXPLOIT_PUBLIC_FACING_APPLICATION = 27
186
199
 
187
- # T1556
188
- MODIFY_AUTHENTICATION_PROCESS = 28
200
+ # T1484
201
+ DOMAIN_POLICY_MODIFICATION = 30
189
202
 
190
203
  # T1485
191
204
  DATA_DESTRUCTION = 29
192
205
 
193
- # T1484
194
- DOMAIN_POLICY_MODIFICATION = 30
206
+ # T1489
207
+ SERVICE_STOP = 52
195
208
 
196
- # T1562
197
- IMPAIR_DEFENSES = 31
209
+ # T1490
210
+ INHIBIT_SYSTEM_RECOVERY = 36
198
211
 
199
- # T1046
200
- NETWORK_SERVICE_DISCOVERY = 32
212
+ # T1496
213
+ RESOURCE_HIJACKING = 8
201
214
 
202
- # T1134
203
- ACCESS_TOKEN_MANIPULATION = 33
215
+ # T1498
216
+ NETWORK_DENIAL_OF_SERVICE = 17
217
+
218
+ # T1526
219
+ CLOUD_SERVICE_DISCOVERY = 48
220
+
221
+ # T1528
222
+ STEAL_APPLICATION_ACCESS_TOKEN = 42
223
+
224
+ # T1531
225
+ ACCOUNT_ACCESS_REMOVAL = 51
226
+
227
+ # T1539
228
+ STEAL_WEB_SESSION_COOKIE = 25
229
+
230
+ # T1543
231
+ CREATE_OR_MODIFY_SYSTEM_PROCESS = 24
204
232
 
205
233
  # T1548
206
234
  ABUSE_ELEVATION_CONTROL_MECHANISM = 34
207
235
 
208
- # T1078.001
209
- DEFAULT_ACCOUNTS = 35
236
+ # T1552
237
+ UNSECURED_CREDENTIALS = 13
238
+
239
+ # T1556
240
+ MODIFY_AUTHENTICATION_PROCESS = 28
241
+
242
+ # T1562
243
+ IMPAIR_DEFENSES = 31
244
+
245
+ # T1562.001
246
+ DISABLE_OR_MODIFY_TOOLS = 55
247
+
248
+ # T1567
249
+ EXFILTRATION_OVER_WEB_SERVICE = 20
250
+
251
+ # T1567.002
252
+ EXFILTRATION_TO_CLOUD_STORAGE = 21
253
+
254
+ # T1568
255
+ DYNAMIC_RESOLUTION = 12
256
+
257
+ # T1570
258
+ LATERAL_TOOL_TRANSFER = 41
259
+
260
+ # T1578
261
+ MODIFY_CLOUD_COMPUTE_INFRASTRUCTURE = 26
262
+
263
+ # T1578.001
264
+ CREATE_SNAPSHOT = 54
265
+
266
+ # T1580
267
+ CLOUD_INFRASTRUCTURE_DISCOVERY = 53
268
+
269
+ # T1588
270
+ OBTAIN_CAPABILITIES = 43
271
+
272
+ # T1595
273
+ ACTIVE_SCANNING = 1
274
+
275
+ # T1595.001
276
+ SCANNING_IP_BLOCKS = 2
277
+
278
+ # T1613
279
+ CONTAINER_AND_RESOURCE_DISCOVERY = 57
210
280
  end
211
281
  end
212
282
  end
@@ -0,0 +1,37 @@
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 V1
24
+ # Contains information about the org policies associated with the finding.
25
+ # @!attribute [rw] name
26
+ # @return [::String]
27
+ # The resource name of the org policy.
28
+ # Example:
29
+ # "organizations/\\{organization_id}/policies/\\{constraint_name}"
30
+ class OrgPolicy
31
+ include ::Google::Protobuf::MessageExts
32
+ extend ::Google::Protobuf::MessageExts::ClassMethods
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -49,9 +49,9 @@ module Google
49
49
  # outdated or insecure libraries."
50
50
  # @!attribute [rw] canonical_name
51
51
  # @return [::String]
52
- # The canonical name of the finding. It's either
52
+ # The canonical name of the finding source. It's either
53
53
  # "organizations/\\{organization_id}/sources/\\{source_id}",
54
- # "folders/\\{folder_id}/sources/\\{source_id}" or
54
+ # "folders/\\{folder_id}/sources/\\{source_id}", or
55
55
  # "projects/\\{project_number}/sources/\\{source_id}",
56
56
  # depending on the closest CRM ancestor of the resource associated with the
57
57
  # finding.