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.
Files changed (115) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +122 -0
  4. data/README.md +144 -8
  5. data/lib/google/cloud/security_center/v2/rest.rb +37 -0
  6. data/lib/google/cloud/security_center/v2/security_center/client.rb +4728 -0
  7. data/lib/google/cloud/security_center/v2/security_center/credentials.rb +51 -0
  8. data/lib/google/cloud/security_center/v2/security_center/operations.rb +801 -0
  9. data/lib/google/cloud/security_center/v2/security_center/paths.rb +973 -0
  10. data/lib/google/cloud/security_center/v2/security_center/rest/client.rb +4347 -0
  11. data/lib/google/cloud/security_center/v2/security_center/rest/operations.rb +894 -0
  12. data/lib/google/cloud/security_center/v2/security_center/rest/service_stub.rb +3165 -0
  13. data/lib/google/cloud/security_center/v2/security_center/rest.rb +53 -0
  14. data/lib/google/cloud/security_center/v2/security_center.rb +56 -0
  15. data/lib/google/cloud/security_center/v2/version.rb +7 -2
  16. data/lib/google/cloud/security_center/v2.rb +45 -0
  17. data/lib/google/cloud/securitycenter/v2/access_pb.rb +44 -0
  18. data/lib/google/cloud/securitycenter/v2/application_pb.rb +42 -0
  19. data/lib/google/cloud/securitycenter/v2/attack_exposure_pb.rb +47 -0
  20. data/lib/google/cloud/securitycenter/v2/attack_path_pb.rb +49 -0
  21. data/lib/google/cloud/securitycenter/v2/backup_disaster_recovery_pb.rb +45 -0
  22. data/lib/google/cloud/securitycenter/v2/bigquery_export_pb.rb +47 -0
  23. data/lib/google/cloud/securitycenter/v2/cloud_dlp_data_profile_pb.rb +45 -0
  24. data/lib/google/cloud/securitycenter/v2/cloud_dlp_inspection_pb.rb +44 -0
  25. data/lib/google/cloud/securitycenter/v2/compliance_pb.rb +42 -0
  26. data/lib/google/cloud/securitycenter/v2/connection_pb.rb +43 -0
  27. data/lib/google/cloud/securitycenter/v2/contact_details_pb.rb +43 -0
  28. data/lib/google/cloud/securitycenter/v2/container_pb.rb +47 -0
  29. data/lib/google/cloud/securitycenter/v2/database_pb.rb +42 -0
  30. data/lib/google/cloud/securitycenter/v2/exfiltration_pb.rb +43 -0
  31. data/lib/google/cloud/securitycenter/v2/external_system_pb.rb +47 -0
  32. data/lib/google/cloud/securitycenter/v2/file_pb.rb +43 -0
  33. data/lib/google/cloud/securitycenter/v2/finding_pb.rb +105 -0
  34. data/lib/google/cloud/securitycenter/v2/iam_binding_pb.rb +43 -0
  35. data/lib/google/cloud/securitycenter/v2/indicator_pb.rb +47 -0
  36. data/lib/google/cloud/securitycenter/v2/kernel_rootkit_pb.rb +42 -0
  37. data/lib/google/cloud/securitycenter/v2/kubernetes_pb.rb +57 -0
  38. data/lib/google/cloud/securitycenter/v2/label_pb.rb +42 -0
  39. data/lib/google/cloud/securitycenter/v2/load_balancer_pb.rb +42 -0
  40. data/lib/google/cloud/securitycenter/v2/log_entry_pb.rb +46 -0
  41. data/lib/google/cloud/securitycenter/v2/mitre_attack_pb.rb +44 -0
  42. data/lib/google/cloud/securitycenter/v2/mute_config_pb.rb +48 -0
  43. data/lib/google/cloud/securitycenter/v2/notification_config_pb.rb +46 -0
  44. data/lib/google/cloud/securitycenter/v2/notification_message_pb.rb +47 -0
  45. data/lib/google/cloud/securitycenter/v2/org_policy_pb.rb +44 -0
  46. data/lib/google/cloud/securitycenter/v2/process_pb.rb +46 -0
  47. data/lib/google/cloud/securitycenter/v2/resource_pb.rb +44 -0
  48. data/lib/google/cloud/securitycenter/v2/resource_value_config_pb.rb +49 -0
  49. data/lib/google/cloud/securitycenter/v2/security_marks_pb.rb +44 -0
  50. data/lib/google/cloud/securitycenter/v2/security_posture_pb.rb +43 -0
  51. data/lib/google/cloud/securitycenter/v2/securitycenter_service_pb.rb +128 -0
  52. data/lib/google/cloud/securitycenter/v2/securitycenter_service_services_pb.rb +167 -0
  53. data/lib/google/cloud/securitycenter/v2/simulation_pb.rb +49 -0
  54. data/lib/google/cloud/securitycenter/v2/source_pb.rb +44 -0
  55. data/lib/google/cloud/securitycenter/v2/valued_resource_pb.rb +46 -0
  56. data/lib/google/cloud/securitycenter/v2/vulnerability_pb.rb +58 -0
  57. data/lib/google-cloud-security_center-v2.rb +21 -0
  58. data/proto_docs/README.md +4 -0
  59. data/proto_docs/google/api/client.rb +399 -0
  60. data/proto_docs/google/api/field_behavior.rb +85 -0
  61. data/proto_docs/google/api/launch_stage.rb +71 -0
  62. data/proto_docs/google/api/resource.rb +222 -0
  63. data/proto_docs/google/api/routing.rb +459 -0
  64. data/proto_docs/google/cloud/securitycenter/v2/access.rb +120 -0
  65. data/proto_docs/google/cloud/securitycenter/v2/application.rb +40 -0
  66. data/proto_docs/google/cloud/securitycenter/v2/attack_exposure.rb +73 -0
  67. data/proto_docs/google/cloud/securitycenter/v2/attack_path.rb +147 -0
  68. data/proto_docs/google/cloud/securitycenter/v2/backup_disaster_recovery.rb +90 -0
  69. data/proto_docs/google/cloud/securitycenter/v2/bigquery_export.rb +96 -0
  70. data/proto_docs/google/cloud/securitycenter/v2/cloud_dlp_data_profile.rb +52 -0
  71. data/proto_docs/google/cloud/securitycenter/v2/cloud_dlp_inspection.rb +50 -0
  72. data/proto_docs/google/cloud/securitycenter/v2/compliance.rb +43 -0
  73. data/proto_docs/google/cloud/securitycenter/v2/connection.rb +70 -0
  74. data/proto_docs/google/cloud/securitycenter/v2/contact_details.rb +44 -0
  75. data/proto_docs/google/cloud/securitycenter/v2/container.rb +49 -0
  76. data/proto_docs/google/cloud/securitycenter/v2/database.rb +67 -0
  77. data/proto_docs/google/cloud/securitycenter/v2/exfiltration.rb +64 -0
  78. data/proto_docs/google/cloud/securitycenter/v2/external_system.rb +106 -0
  79. data/proto_docs/google/cloud/securitycenter/v2/file.rb +72 -0
  80. data/proto_docs/google/cloud/securitycenter/v2/finding.rb +411 -0
  81. data/proto_docs/google/cloud/securitycenter/v2/iam_binding.rb +56 -0
  82. data/proto_docs/google/cloud/securitycenter/v2/indicator.rb +112 -0
  83. data/proto_docs/google/cloud/securitycenter/v2/kernel_rootkit.rb +66 -0
  84. data/proto_docs/google/cloud/securitycenter/v2/kubernetes.rb +241 -0
  85. data/proto_docs/google/cloud/securitycenter/v2/label.rb +41 -0
  86. data/proto_docs/google/cloud/securitycenter/v2/load_balancer.rb +36 -0
  87. data/proto_docs/google/cloud/securitycenter/v2/log_entry.rb +58 -0
  88. data/proto_docs/google/cloud/securitycenter/v2/mitre_attack.rb +285 -0
  89. data/proto_docs/google/cloud/securitycenter/v2/mute_config.rb +100 -0
  90. data/proto_docs/google/cloud/securitycenter/v2/notification_config.rb +90 -0
  91. data/proto_docs/google/cloud/securitycenter/v2/notification_message.rb +42 -0
  92. data/proto_docs/google/cloud/securitycenter/v2/org_policy.rb +37 -0
  93. data/proto_docs/google/cloud/securitycenter/v2/process.rb +79 -0
  94. data/proto_docs/google/cloud/securitycenter/v2/resource.rb +42 -0
  95. data/proto_docs/google/cloud/securitycenter/v2/resource_value_config.rb +122 -0
  96. data/proto_docs/google/cloud/securitycenter/v2/security_marks.rb +84 -0
  97. data/proto_docs/google/cloud/securitycenter/v2/security_posture.rb +83 -0
  98. data/proto_docs/google/cloud/securitycenter/v2/securitycenter_service.rb +1136 -0
  99. data/proto_docs/google/cloud/securitycenter/v2/simulation.rb +43 -0
  100. data/proto_docs/google/cloud/securitycenter/v2/source.rb +65 -0
  101. data/proto_docs/google/cloud/securitycenter/v2/valued_resource.rb +86 -0
  102. data/proto_docs/google/cloud/securitycenter/v2/vulnerability.rb +333 -0
  103. data/proto_docs/google/iam/v1/iam_policy.rb +87 -0
  104. data/proto_docs/google/iam/v1/options.rb +50 -0
  105. data/proto_docs/google/iam/v1/policy.rb +426 -0
  106. data/proto_docs/google/longrunning/operations.rb +164 -0
  107. data/proto_docs/google/protobuf/any.rb +145 -0
  108. data/proto_docs/google/protobuf/duration.rb +98 -0
  109. data/proto_docs/google/protobuf/empty.rb +34 -0
  110. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  111. data/proto_docs/google/protobuf/struct.rb +96 -0
  112. data/proto_docs/google/protobuf/timestamp.rb +127 -0
  113. data/proto_docs/google/rpc/status.rb +48 -0
  114. data/proto_docs/google/type/expr.rb +75 -0
  115. 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