google-cloud-security_center-v2 0.a → 0.2.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.
Files changed (119) 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 +4771 -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 +809 -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 +4390 -0
  11. data/lib/google/cloud/security_center/v2/security_center/rest/operations.rb +901 -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 +109 -0
  34. data/lib/google/cloud/securitycenter/v2/group_membership_pb.rb +43 -0
  35. data/lib/google/cloud/securitycenter/v2/iam_binding_pb.rb +43 -0
  36. data/lib/google/cloud/securitycenter/v2/indicator_pb.rb +47 -0
  37. data/lib/google/cloud/securitycenter/v2/kernel_rootkit_pb.rb +42 -0
  38. data/lib/google/cloud/securitycenter/v2/kubernetes_pb.rb +57 -0
  39. data/lib/google/cloud/securitycenter/v2/label_pb.rb +42 -0
  40. data/lib/google/cloud/securitycenter/v2/load_balancer_pb.rb +42 -0
  41. data/lib/google/cloud/securitycenter/v2/log_entry_pb.rb +46 -0
  42. data/lib/google/cloud/securitycenter/v2/mitre_attack_pb.rb +44 -0
  43. data/lib/google/cloud/securitycenter/v2/mute_config_pb.rb +48 -0
  44. data/lib/google/cloud/securitycenter/v2/notification_config_pb.rb +46 -0
  45. data/lib/google/cloud/securitycenter/v2/notification_message_pb.rb +47 -0
  46. data/lib/google/cloud/securitycenter/v2/org_policy_pb.rb +44 -0
  47. data/lib/google/cloud/securitycenter/v2/process_pb.rb +46 -0
  48. data/lib/google/cloud/securitycenter/v2/resource_pb.rb +44 -0
  49. data/lib/google/cloud/securitycenter/v2/resource_value_config_pb.rb +49 -0
  50. data/lib/google/cloud/securitycenter/v2/security_marks_pb.rb +44 -0
  51. data/lib/google/cloud/securitycenter/v2/security_posture_pb.rb +43 -0
  52. data/lib/google/cloud/securitycenter/v2/securitycenter_service_pb.rb +128 -0
  53. data/lib/google/cloud/securitycenter/v2/securitycenter_service_services_pb.rb +167 -0
  54. data/lib/google/cloud/securitycenter/v2/simulation_pb.rb +49 -0
  55. data/lib/google/cloud/securitycenter/v2/source_pb.rb +44 -0
  56. data/lib/google/cloud/securitycenter/v2/toxic_combination_pb.rb +42 -0
  57. data/lib/google/cloud/securitycenter/v2/valued_resource_pb.rb +46 -0
  58. data/lib/google/cloud/securitycenter/v2/vulnerability_pb.rb +58 -0
  59. data/lib/google-cloud-security_center-v2.rb +21 -0
  60. data/proto_docs/README.md +4 -0
  61. data/proto_docs/google/api/client.rb +399 -0
  62. data/proto_docs/google/api/field_behavior.rb +85 -0
  63. data/proto_docs/google/api/launch_stage.rb +71 -0
  64. data/proto_docs/google/api/resource.rb +222 -0
  65. data/proto_docs/google/api/routing.rb +459 -0
  66. data/proto_docs/google/cloud/securitycenter/v2/access.rb +120 -0
  67. data/proto_docs/google/cloud/securitycenter/v2/application.rb +40 -0
  68. data/proto_docs/google/cloud/securitycenter/v2/attack_exposure.rb +73 -0
  69. data/proto_docs/google/cloud/securitycenter/v2/attack_path.rb +147 -0
  70. data/proto_docs/google/cloud/securitycenter/v2/backup_disaster_recovery.rb +90 -0
  71. data/proto_docs/google/cloud/securitycenter/v2/bigquery_export.rb +96 -0
  72. data/proto_docs/google/cloud/securitycenter/v2/cloud_dlp_data_profile.rb +52 -0
  73. data/proto_docs/google/cloud/securitycenter/v2/cloud_dlp_inspection.rb +50 -0
  74. data/proto_docs/google/cloud/securitycenter/v2/compliance.rb +43 -0
  75. data/proto_docs/google/cloud/securitycenter/v2/connection.rb +70 -0
  76. data/proto_docs/google/cloud/securitycenter/v2/contact_details.rb +44 -0
  77. data/proto_docs/google/cloud/securitycenter/v2/container.rb +49 -0
  78. data/proto_docs/google/cloud/securitycenter/v2/database.rb +67 -0
  79. data/proto_docs/google/cloud/securitycenter/v2/exfiltration.rb +64 -0
  80. data/proto_docs/google/cloud/securitycenter/v2/external_system.rb +106 -0
  81. data/proto_docs/google/cloud/securitycenter/v2/file.rb +72 -0
  82. data/proto_docs/google/cloud/securitycenter/v2/finding.rb +427 -0
  83. data/proto_docs/google/cloud/securitycenter/v2/group_membership.rb +48 -0
  84. data/proto_docs/google/cloud/securitycenter/v2/iam_binding.rb +56 -0
  85. data/proto_docs/google/cloud/securitycenter/v2/indicator.rb +112 -0
  86. data/proto_docs/google/cloud/securitycenter/v2/kernel_rootkit.rb +66 -0
  87. data/proto_docs/google/cloud/securitycenter/v2/kubernetes.rb +241 -0
  88. data/proto_docs/google/cloud/securitycenter/v2/label.rb +41 -0
  89. data/proto_docs/google/cloud/securitycenter/v2/load_balancer.rb +36 -0
  90. data/proto_docs/google/cloud/securitycenter/v2/log_entry.rb +58 -0
  91. data/proto_docs/google/cloud/securitycenter/v2/mitre_attack.rb +285 -0
  92. data/proto_docs/google/cloud/securitycenter/v2/mute_config.rb +100 -0
  93. data/proto_docs/google/cloud/securitycenter/v2/notification_config.rb +90 -0
  94. data/proto_docs/google/cloud/securitycenter/v2/notification_message.rb +42 -0
  95. data/proto_docs/google/cloud/securitycenter/v2/org_policy.rb +37 -0
  96. data/proto_docs/google/cloud/securitycenter/v2/process.rb +79 -0
  97. data/proto_docs/google/cloud/securitycenter/v2/resource.rb +42 -0
  98. data/proto_docs/google/cloud/securitycenter/v2/resource_value_config.rb +122 -0
  99. data/proto_docs/google/cloud/securitycenter/v2/security_marks.rb +84 -0
  100. data/proto_docs/google/cloud/securitycenter/v2/security_posture.rb +83 -0
  101. data/proto_docs/google/cloud/securitycenter/v2/securitycenter_service.rb +1136 -0
  102. data/proto_docs/google/cloud/securitycenter/v2/simulation.rb +43 -0
  103. data/proto_docs/google/cloud/securitycenter/v2/source.rb +65 -0
  104. data/proto_docs/google/cloud/securitycenter/v2/toxic_combination.rb +46 -0
  105. data/proto_docs/google/cloud/securitycenter/v2/valued_resource.rb +86 -0
  106. data/proto_docs/google/cloud/securitycenter/v2/vulnerability.rb +333 -0
  107. data/proto_docs/google/iam/v1/iam_policy.rb +87 -0
  108. data/proto_docs/google/iam/v1/options.rb +50 -0
  109. data/proto_docs/google/iam/v1/policy.rb +426 -0
  110. data/proto_docs/google/longrunning/operations.rb +164 -0
  111. data/proto_docs/google/protobuf/any.rb +145 -0
  112. data/proto_docs/google/protobuf/duration.rb +98 -0
  113. data/proto_docs/google/protobuf/empty.rb +34 -0
  114. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  115. data/proto_docs/google/protobuf/struct.rb +96 -0
  116. data/proto_docs/google/protobuf/timestamp.rb +127 -0
  117. data/proto_docs/google/rpc/status.rb +48 -0
  118. data/proto_docs/google/type/expr.rb +75 -0
  119. metadata +173 -10
@@ -0,0 +1,427 @@
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
+ # @!attribute [rw] toxic_combination
263
+ # @return [::Google::Cloud::SecurityCenter::V2::ToxicCombination]
264
+ # Contains details about a group of security issues that, when the issues
265
+ # occur together, represent a greater risk than when the issues occur
266
+ # independently. A group of such issues is referred to as a toxic
267
+ # combination.
268
+ # This field cannot be updated. Its value is ignored in all update requests.
269
+ # @!attribute [rw] group_memberships
270
+ # @return [::Array<::Google::Cloud::SecurityCenter::V2::GroupMembership>]
271
+ # Contains details about groups of which this finding is a member. A group is
272
+ # a collection of findings that are related in some way.
273
+ # This field cannot be updated. Its value is ignored in all update requests.
274
+ class Finding
275
+ include ::Google::Protobuf::MessageExts
276
+ extend ::Google::Protobuf::MessageExts::ClassMethods
277
+
278
+ # @!attribute [rw] key
279
+ # @return [::String]
280
+ # @!attribute [rw] value
281
+ # @return [::Google::Protobuf::Value]
282
+ class SourcePropertiesEntry
283
+ include ::Google::Protobuf::MessageExts
284
+ extend ::Google::Protobuf::MessageExts::ClassMethods
285
+ end
286
+
287
+ # @!attribute [rw] key
288
+ # @return [::String]
289
+ # @!attribute [rw] value
290
+ # @return [::Google::Cloud::SecurityCenter::V2::ExternalSystem]
291
+ class ExternalSystemsEntry
292
+ include ::Google::Protobuf::MessageExts
293
+ extend ::Google::Protobuf::MessageExts::ClassMethods
294
+ end
295
+
296
+ # @!attribute [rw] key
297
+ # @return [::String]
298
+ # @!attribute [rw] value
299
+ # @return [::Google::Cloud::SecurityCenter::V2::ContactDetails]
300
+ class ContactsEntry
301
+ include ::Google::Protobuf::MessageExts
302
+ extend ::Google::Protobuf::MessageExts::ClassMethods
303
+ end
304
+
305
+ # The state of the finding.
306
+ module State
307
+ # Unspecified state.
308
+ STATE_UNSPECIFIED = 0
309
+
310
+ # The finding requires attention and has not been addressed yet.
311
+ ACTIVE = 1
312
+
313
+ # The finding has been fixed, triaged as a non-issue or otherwise addressed
314
+ # and is no longer active.
315
+ INACTIVE = 2
316
+ end
317
+
318
+ # The severity of the finding.
319
+ module Severity
320
+ # This value is used for findings when a source doesn't write a severity
321
+ # value.
322
+ SEVERITY_UNSPECIFIED = 0
323
+
324
+ # Vulnerability:
325
+ # A critical vulnerability is easily discoverable by an external actor,
326
+ # exploitable, and results in the direct ability to execute arbitrary code,
327
+ # exfiltrate data, and otherwise gain additional access and privileges to
328
+ # cloud resources and workloads. Examples include publicly accessible
329
+ # unprotected user data and public SSH access with weak or no
330
+ # passwords.
331
+ #
332
+ # Threat:
333
+ # Indicates a threat that is able to access, modify, or delete data or
334
+ # execute unauthorized code within existing resources.
335
+ CRITICAL = 1
336
+
337
+ # Vulnerability:
338
+ # A high risk vulnerability can be easily discovered and exploited in
339
+ # combination with other vulnerabilities in order to gain direct access and
340
+ # the ability to execute arbitrary code, exfiltrate data, and otherwise
341
+ # gain additional access and privileges to cloud resources and workloads.
342
+ # An example is a database with weak or no passwords that is only
343
+ # accessible internally. This database could easily be compromised by an
344
+ # actor that had access to the internal network.
345
+ #
346
+ # Threat:
347
+ # Indicates a threat that is able to create new computational resources in
348
+ # an environment but not able to access data or execute code in existing
349
+ # resources.
350
+ HIGH = 2
351
+
352
+ # Vulnerability:
353
+ # A medium risk vulnerability could be used by an actor to gain access to
354
+ # resources or privileges that enable them to eventually (through multiple
355
+ # steps or a complex exploit) gain access and the ability to execute
356
+ # arbitrary code or exfiltrate data. An example is a service account with
357
+ # access to more projects than it should have. If an actor gains access to
358
+ # the service account, they could potentially use that access to manipulate
359
+ # a project the service account was not intended to.
360
+ #
361
+ # Threat:
362
+ # Indicates a threat that is able to cause operational impact but may not
363
+ # access data or execute unauthorized code.
364
+ MEDIUM = 3
365
+
366
+ # Vulnerability:
367
+ # A low risk vulnerability hampers a security organization's ability to
368
+ # detect vulnerabilities or active threats in their deployment, or prevents
369
+ # the root cause investigation of security issues. An example is monitoring
370
+ # and logs being disabled for resource configurations and access.
371
+ #
372
+ # Threat:
373
+ # Indicates a threat that has obtained minimal access to an environment but
374
+ # is not able to access data, execute code, or create resources.
375
+ LOW = 4
376
+ end
377
+
378
+ # Mute state a finding can be in.
379
+ module Mute
380
+ # Unspecified.
381
+ MUTE_UNSPECIFIED = 0
382
+
383
+ # Finding has been muted.
384
+ MUTED = 1
385
+
386
+ # Finding has been unmuted.
387
+ UNMUTED = 2
388
+
389
+ # Finding has never been muted/unmuted.
390
+ UNDEFINED = 3
391
+ end
392
+
393
+ # Represents what kind of Finding it is.
394
+ module FindingClass
395
+ # Unspecified finding class.
396
+ FINDING_CLASS_UNSPECIFIED = 0
397
+
398
+ # Describes unwanted or malicious activity.
399
+ THREAT = 1
400
+
401
+ # Describes a potential weakness in software that increases risk to
402
+ # Confidentiality & Integrity & Availability.
403
+ VULNERABILITY = 2
404
+
405
+ # Describes a potential weakness in cloud resource/asset configuration that
406
+ # increases risk.
407
+ MISCONFIGURATION = 3
408
+
409
+ # Describes a security observation that is for informational purposes.
410
+ OBSERVATION = 4
411
+
412
+ # Describes an error that prevents some SCC functionality.
413
+ SCC_ERROR = 5
414
+
415
+ # Describes a potential security risk due to a change in the security
416
+ # posture.
417
+ POSTURE_VIOLATION = 6
418
+
419
+ # Describes a combination of security issues that represent a more severe
420
+ # security problem when taken together.
421
+ TOXIC_COMBINATION = 7
422
+ end
423
+ end
424
+ end
425
+ end
426
+ end
427
+ end
@@ -0,0 +1,48 @@
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
+ # Contains details about groups of which this finding is a member. A group is a
25
+ # collection of findings that are related in some way.
26
+ # @!attribute [rw] group_type
27
+ # @return [::Google::Cloud::SecurityCenter::V2::GroupMembership::GroupType]
28
+ # Type of group.
29
+ # @!attribute [rw] group_id
30
+ # @return [::String]
31
+ # ID of the group.
32
+ class GroupMembership
33
+ include ::Google::Protobuf::MessageExts
34
+ extend ::Google::Protobuf::MessageExts::ClassMethods
35
+
36
+ # Possible types of groups.
37
+ module GroupType
38
+ # Default value.
39
+ GROUP_TYPE_UNSPECIFIED = 0
40
+
41
+ # Group represents a toxic combination.
42
+ GROUP_TYPE_TOXIC_COMBINATION = 1
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
48
+ 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