google-cloud-cloud_security_compliance-v1 0.a → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.yardopts +12 -0
- data/AUTHENTICATION.md +122 -0
- data/README.md +154 -8
- data/lib/google/cloud/cloud_security_compliance/v1/bindings_override.rb +75 -0
- data/lib/google/cloud/cloud_security_compliance/v1/config/client.rb +1467 -0
- data/lib/google/cloud/cloud_security_compliance/v1/config/credentials.rb +47 -0
- data/lib/google/cloud/cloud_security_compliance/v1/config/paths.rb +88 -0
- data/lib/google/cloud/cloud_security_compliance/v1/config/rest/client.rb +1379 -0
- data/lib/google/cloud/cloud_security_compliance/v1/config/rest/service_stub.rb +695 -0
- data/lib/google/cloud/cloud_security_compliance/v1/config/rest.rb +54 -0
- data/lib/google/cloud/cloud_security_compliance/v1/config.rb +56 -0
- data/lib/google/cloud/cloud_security_compliance/v1/deployment/client.rb +1047 -0
- data/lib/google/cloud/cloud_security_compliance/v1/deployment/credentials.rb +47 -0
- data/lib/google/cloud/cloud_security_compliance/v1/deployment/operations.rb +824 -0
- data/lib/google/cloud/cloud_security_compliance/v1/deployment/paths.rb +88 -0
- data/lib/google/cloud/cloud_security_compliance/v1/deployment/rest/client.rb +987 -0
- data/lib/google/cloud/cloud_security_compliance/v1/deployment/rest/operations.rb +925 -0
- data/lib/google/cloud/cloud_security_compliance/v1/deployment/rest/service_stub.rb +448 -0
- data/lib/google/cloud/cloud_security_compliance/v1/deployment/rest.rb +55 -0
- data/lib/google/cloud/cloud_security_compliance/v1/deployment.rb +57 -0
- data/lib/google/cloud/cloud_security_compliance/v1/rest.rb +39 -0
- data/lib/google/cloud/cloud_security_compliance/v1/version.rb +7 -2
- data/lib/google/cloud/cloud_security_compliance/v1.rb +46 -0
- data/lib/google/cloud/cloudsecuritycompliance/v1/common_pb.rb +73 -0
- data/lib/google/cloud/cloudsecuritycompliance/v1/config_pb.rb +63 -0
- data/lib/google/cloud/cloudsecuritycompliance/v1/config_services_pb.rb +117 -0
- data/lib/google/cloud/cloudsecuritycompliance/v1/deployment_pb.rb +70 -0
- data/lib/google/cloud/cloudsecuritycompliance/v1/deployment_services_pb.rb +56 -0
- data/lib/google-cloud-cloud_security_compliance-v1.rb +21 -0
- data/proto_docs/README.md +4 -0
- data/proto_docs/google/api/client.rb +473 -0
- data/proto_docs/google/api/field_behavior.rb +85 -0
- data/proto_docs/google/api/launch_stage.rb +71 -0
- data/proto_docs/google/api/resource.rb +227 -0
- data/proto_docs/google/cloud/cloudsecuritycompliance/v1/common.rb +638 -0
- data/proto_docs/google/cloud/cloudsecuritycompliance/v1/config.rb +223 -0
- data/proto_docs/google/cloud/cloudsecuritycompliance/v1/deployment.rb +429 -0
- data/proto_docs/google/longrunning/operations.rb +191 -0
- data/proto_docs/google/protobuf/any.rb +145 -0
- data/proto_docs/google/protobuf/duration.rb +98 -0
- data/proto_docs/google/protobuf/empty.rb +34 -0
- data/proto_docs/google/protobuf/field_mask.rb +229 -0
- data/proto_docs/google/protobuf/timestamp.rb +127 -0
- data/proto_docs/google/rpc/status.rb +48 -0
- metadata +93 -9
@@ -0,0 +1,638 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Copyright 2025 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 CloudSecurityCompliance
|
23
|
+
module V1
|
24
|
+
# A Framework is a collection of CloudControls to address security and
|
25
|
+
# compliance requirements. Frameworks can be used for prevention, detection,
|
26
|
+
# and auditing. They can be either built-in, industry-standard frameworks
|
27
|
+
# provided by GCP/AZURE/AWS (e.g., NIST, FedRAMP) or custom frameworks created
|
28
|
+
# by users.
|
29
|
+
# @!attribute [rw] name
|
30
|
+
# @return [::String]
|
31
|
+
# Required. Identifier. The name of the framework.
|
32
|
+
# Format:
|
33
|
+
# organizations/\\{organization}/locations/\\{location}/frameworks/\\{framework_id}
|
34
|
+
# @!attribute [r] major_revision_id
|
35
|
+
# @return [::Integer]
|
36
|
+
# Output only. Major revision of the framework incremented in ascending
|
37
|
+
# order.
|
38
|
+
# @!attribute [rw] display_name
|
39
|
+
# @return [::String]
|
40
|
+
# Optional. Display name of the framework. The maximum length is 200
|
41
|
+
# characters.
|
42
|
+
# @!attribute [rw] description
|
43
|
+
# @return [::String]
|
44
|
+
# Optional. The description of the framework. The maximum length is 2000
|
45
|
+
# characters.
|
46
|
+
# @!attribute [r] type
|
47
|
+
# @return [::Google::Cloud::CloudSecurityCompliance::V1::Framework::FrameworkType]
|
48
|
+
# Output only. The type of the framework. The default is TYPE_CUSTOM.
|
49
|
+
# @!attribute [rw] cloud_control_details
|
50
|
+
# @return [::Array<::Google::Cloud::CloudSecurityCompliance::V1::CloudControlDetails>]
|
51
|
+
# Optional. The details of the cloud controls directly added without any
|
52
|
+
# grouping in the framework.
|
53
|
+
# @!attribute [rw] category
|
54
|
+
# @return [::Array<::Google::Cloud::CloudSecurityCompliance::V1::FrameworkCategory>]
|
55
|
+
# Optional. The category of the framework.
|
56
|
+
# @!attribute [r] supported_cloud_providers
|
57
|
+
# @return [::Array<::Google::Cloud::CloudSecurityCompliance::V1::CloudProvider>]
|
58
|
+
# Output only. cloud providers supported
|
59
|
+
# @!attribute [r] supported_target_resource_types
|
60
|
+
# @return [::Array<::Google::Cloud::CloudSecurityCompliance::V1::TargetResourceType>]
|
61
|
+
# Output only. target resource types supported by the Framework.
|
62
|
+
# @!attribute [r] supported_enforcement_modes
|
63
|
+
# @return [::Array<::Google::Cloud::CloudSecurityCompliance::V1::EnforcementMode>]
|
64
|
+
# Output only. The supported enforcement modes of the framework.
|
65
|
+
class Framework
|
66
|
+
include ::Google::Protobuf::MessageExts
|
67
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
68
|
+
|
69
|
+
# The type of the framework.
|
70
|
+
module FrameworkType
|
71
|
+
# Default value. This value is unused.
|
72
|
+
FRAMEWORK_TYPE_UNSPECIFIED = 0
|
73
|
+
|
74
|
+
# The framework is a built-in framework if it is created and managed by
|
75
|
+
# GCP.
|
76
|
+
BUILT_IN = 1
|
77
|
+
|
78
|
+
# The framework is a custom framework if it is created and managed by the
|
79
|
+
# user.
|
80
|
+
CUSTOM = 2
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
# CloudControlDetails contains the details of a CloudControl.
|
85
|
+
# @!attribute [rw] name
|
86
|
+
# @return [::String]
|
87
|
+
# Required. The name of the CloudControl in the format:
|
88
|
+
# “organizations/\\{organization}/locations/\\{location}/
|
89
|
+
# cloudControls/\\{cloud-control}”
|
90
|
+
# @!attribute [rw] major_revision_id
|
91
|
+
# @return [::Integer]
|
92
|
+
# Required. Major revision of cloudcontrol
|
93
|
+
# @!attribute [rw] parameters
|
94
|
+
# @return [::Array<::Google::Cloud::CloudSecurityCompliance::V1::Parameter>]
|
95
|
+
# Optional. Parameters is a key-value pair that is required by the
|
96
|
+
# CloudControl. The specification of these parameters will be present in
|
97
|
+
# cloudcontrol.Eg: { "name": "location","value": "us-west-1"}.
|
98
|
+
class CloudControlDetails
|
99
|
+
include ::Google::Protobuf::MessageExts
|
100
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
101
|
+
end
|
102
|
+
|
103
|
+
# FrameworkReference contains the reference of a framework.
|
104
|
+
# @!attribute [rw] framework
|
105
|
+
# @return [::String]
|
106
|
+
# Required. In the format:
|
107
|
+
# organizations/\\{org}/locations/\\{location}/frameworks/\\{framework}
|
108
|
+
# @!attribute [rw] major_revision_id
|
109
|
+
# @return [::Integer]
|
110
|
+
# Optional. Major revision id of the framework. If not specified, corresponds
|
111
|
+
# to the latest revision of the framework.
|
112
|
+
class FrameworkReference
|
113
|
+
include ::Google::Protobuf::MessageExts
|
114
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
115
|
+
end
|
116
|
+
|
117
|
+
# Parameters is a key-value pair.
|
118
|
+
# @!attribute [rw] name
|
119
|
+
# @return [::String]
|
120
|
+
# Required. The name of the parameter.
|
121
|
+
# @!attribute [rw] parameter_value
|
122
|
+
# @return [::Google::Cloud::CloudSecurityCompliance::V1::ParamValue]
|
123
|
+
# Required. The value of the parameter
|
124
|
+
class Parameter
|
125
|
+
include ::Google::Protobuf::MessageExts
|
126
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
127
|
+
end
|
128
|
+
|
129
|
+
# A CloudControl is the fundamental unit encapsulating the rules
|
130
|
+
# to meet a specific security or compliance intent. It can contain
|
131
|
+
# various rule types (like Organization Policies, CEL expressions, etc.)
|
132
|
+
# enabling different enforcement modes (Preventive, Detective, Audit).
|
133
|
+
# CloudControls are often parameterized for reusability and can be either
|
134
|
+
# BUILT_IN (provided by Google) or CUSTOM (defined by the user).
|
135
|
+
# @!attribute [rw] name
|
136
|
+
# @return [::String]
|
137
|
+
# Required. Identifier. The resource name of the cloud control.
|
138
|
+
# Format:
|
139
|
+
# organizations/\\{organization}/locations/\\{location}/cloudControls/\\{cloud_control_id}
|
140
|
+
# @!attribute [r] major_revision_id
|
141
|
+
# @return [::Integer]
|
142
|
+
# Output only. Major revision of the cloud control incremented in ascending
|
143
|
+
# order.
|
144
|
+
# @!attribute [rw] description
|
145
|
+
# @return [::String]
|
146
|
+
# Optional. A description of the cloud control. The maximum length is 2000
|
147
|
+
# characters.
|
148
|
+
# @!attribute [rw] display_name
|
149
|
+
# @return [::String]
|
150
|
+
# Optional. The display name of the cloud control. The maximum length is 200
|
151
|
+
# characters.
|
152
|
+
# @!attribute [r] supported_enforcement_modes
|
153
|
+
# @return [::Array<::Google::Cloud::CloudSecurityCompliance::V1::EnforcementMode>]
|
154
|
+
# Output only. The supported enforcement mode of the cloud control. Default
|
155
|
+
# is DETECTIVE.
|
156
|
+
# @!attribute [rw] parameter_spec
|
157
|
+
# @return [::Array<::Google::Cloud::CloudSecurityCompliance::V1::ParameterSpec>]
|
158
|
+
# Optional. The parameter spec of the cloud control.
|
159
|
+
# @!attribute [rw] rules
|
160
|
+
# @return [::Array<::Google::Cloud::CloudSecurityCompliance::V1::Rule>]
|
161
|
+
# Optional. The Policy to be enforced to prevent/detect resource
|
162
|
+
# non-compliance.
|
163
|
+
# @!attribute [rw] severity
|
164
|
+
# @return [::Google::Cloud::CloudSecurityCompliance::V1::Severity]
|
165
|
+
# Optional. The severity of findings generated by the cloud control.
|
166
|
+
# @!attribute [rw] finding_category
|
167
|
+
# @return [::String]
|
168
|
+
# Optional. The finding_category of the cloud control. The maximum length is
|
169
|
+
# 255 characters.
|
170
|
+
# @!attribute [rw] supported_cloud_providers
|
171
|
+
# @return [::Array<::Google::Cloud::CloudSecurityCompliance::V1::CloudProvider>]
|
172
|
+
# Optional. cloud providers supported
|
173
|
+
# @!attribute [r] related_frameworks
|
174
|
+
# @return [::Array<::String>]
|
175
|
+
# Output only. The Frameworks that include this CloudControl
|
176
|
+
# @!attribute [rw] remediation_steps
|
177
|
+
# @return [::String]
|
178
|
+
# Optional. The remediation steps for the findings generated by the cloud
|
179
|
+
# control. The maximum length is 400 characters.
|
180
|
+
# @!attribute [rw] categories
|
181
|
+
# @return [::Array<::Google::Cloud::CloudSecurityCompliance::V1::CloudControlCategory>]
|
182
|
+
# Optional. The categories of the cloud control.
|
183
|
+
# @!attribute [r] create_time
|
184
|
+
# @return [::Google::Protobuf::Timestamp]
|
185
|
+
# Output only. The last updated time of the cloud control.
|
186
|
+
# The create_time is used because a new CC is created whenever we update an
|
187
|
+
# existing CC.
|
188
|
+
# @!attribute [rw] supported_target_resource_types
|
189
|
+
# @return [::Array<::Google::Cloud::CloudSecurityCompliance::V1::TargetResourceType>]
|
190
|
+
# Optional. target resource types supported by the CloudControl.
|
191
|
+
class CloudControl
|
192
|
+
include ::Google::Protobuf::MessageExts
|
193
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
194
|
+
end
|
195
|
+
|
196
|
+
# A parameter spec of the cloud control.
|
197
|
+
# @!attribute [rw] name
|
198
|
+
# @return [::String]
|
199
|
+
# Required. The name of the parameter.
|
200
|
+
# @!attribute [rw] display_name
|
201
|
+
# @return [::String]
|
202
|
+
# Optional. The display name of the parameter. The maximum length is 200
|
203
|
+
# characters.
|
204
|
+
# @!attribute [rw] description
|
205
|
+
# @return [::String]
|
206
|
+
# Optional. The description of the parameter. The maximum length is 2000
|
207
|
+
# characters.
|
208
|
+
# @!attribute [rw] is_required
|
209
|
+
# @return [::Boolean]
|
210
|
+
# Required. if the parameter is required
|
211
|
+
# @!attribute [rw] value_type
|
212
|
+
# @return [::Google::Cloud::CloudSecurityCompliance::V1::ParameterSpec::ValueType]
|
213
|
+
# Required. Parameter value type.
|
214
|
+
# @!attribute [rw] default_value
|
215
|
+
# @return [::Google::Cloud::CloudSecurityCompliance::V1::ParamValue]
|
216
|
+
# Optional. The default value of the parameter.
|
217
|
+
# @!attribute [rw] substitution_rules
|
218
|
+
# @return [::Array<::Google::Cloud::CloudSecurityCompliance::V1::ParameterSubstitutionRule>]
|
219
|
+
# Optional. List of parameter substitutions.
|
220
|
+
# @!attribute [rw] sub_parameters
|
221
|
+
# @return [::Array<::Google::Cloud::CloudSecurityCompliance::V1::ParameterSpec>]
|
222
|
+
# Optional. ParameterSpec for oneof attributes.
|
223
|
+
# @!attribute [rw] validation
|
224
|
+
# @return [::Google::Cloud::CloudSecurityCompliance::V1::Validation]
|
225
|
+
# Optional. The allowed set of values for the parameter.
|
226
|
+
class ParameterSpec
|
227
|
+
include ::Google::Protobuf::MessageExts
|
228
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
229
|
+
|
230
|
+
# The type of the parameter value.
|
231
|
+
module ValueType
|
232
|
+
# Default value. This value is unused.
|
233
|
+
VALUE_TYPE_UNSPECIFIED = 0
|
234
|
+
|
235
|
+
# String value.
|
236
|
+
STRING = 3
|
237
|
+
|
238
|
+
# Boolean value.
|
239
|
+
BOOLEAN = 4
|
240
|
+
|
241
|
+
# String list value.
|
242
|
+
STRINGLIST = 5
|
243
|
+
|
244
|
+
# Numeric value.
|
245
|
+
NUMBER = 6
|
246
|
+
|
247
|
+
# OneOf value.
|
248
|
+
ONEOF = 7
|
249
|
+
end
|
250
|
+
end
|
251
|
+
|
252
|
+
# Validation of the parameter.
|
253
|
+
# @!attribute [rw] allowed_values
|
254
|
+
# @return [::Google::Cloud::CloudSecurityCompliance::V1::AllowedValues]
|
255
|
+
# Allowed set of values for the parameter.
|
256
|
+
#
|
257
|
+
# Note: The following fields are mutually exclusive: `allowed_values`, `int_range`, `regexp_pattern`. If a field in that set is populated, all other fields in the set will automatically be cleared.
|
258
|
+
# @!attribute [rw] int_range
|
259
|
+
# @return [::Google::Cloud::CloudSecurityCompliance::V1::IntRange]
|
260
|
+
# Allowed range for numeric parameters.
|
261
|
+
#
|
262
|
+
# Note: The following fields are mutually exclusive: `int_range`, `allowed_values`, `regexp_pattern`. If a field in that set is populated, all other fields in the set will automatically be cleared.
|
263
|
+
# @!attribute [rw] regexp_pattern
|
264
|
+
# @return [::Google::Cloud::CloudSecurityCompliance::V1::RegexpPattern]
|
265
|
+
# Regular expression for string parameters.
|
266
|
+
#
|
267
|
+
# Note: The following fields are mutually exclusive: `regexp_pattern`, `allowed_values`, `int_range`. If a field in that set is populated, all other fields in the set will automatically be cleared.
|
268
|
+
class Validation
|
269
|
+
include ::Google::Protobuf::MessageExts
|
270
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
271
|
+
end
|
272
|
+
|
273
|
+
# Allowed set of values for the parameter.
|
274
|
+
# @!attribute [rw] values
|
275
|
+
# @return [::Array<::Google::Cloud::CloudSecurityCompliance::V1::ParamValue>]
|
276
|
+
# Required. List of allowed values for the parameter.
|
277
|
+
class AllowedValues
|
278
|
+
include ::Google::Protobuf::MessageExts
|
279
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
280
|
+
end
|
281
|
+
|
282
|
+
# Regular Expression Validator for parameter values.
|
283
|
+
# @!attribute [rw] pattern
|
284
|
+
# @return [::String]
|
285
|
+
# Required. Regex Pattern to match the value(s) of parameter.
|
286
|
+
class RegexpPattern
|
287
|
+
include ::Google::Protobuf::MessageExts
|
288
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
289
|
+
end
|
290
|
+
|
291
|
+
# Number range for number parameters.
|
292
|
+
# @!attribute [rw] min
|
293
|
+
# @return [::Integer]
|
294
|
+
# Required. Minimum allowed value for the numeric parameter (inclusive).
|
295
|
+
# @!attribute [rw] max
|
296
|
+
# @return [::Integer]
|
297
|
+
# Required. Maximum allowed value for the numeric parameter (inclusive).
|
298
|
+
class IntRange
|
299
|
+
include ::Google::Protobuf::MessageExts
|
300
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
301
|
+
end
|
302
|
+
|
303
|
+
# A list of strings.
|
304
|
+
# @!attribute [rw] values
|
305
|
+
# @return [::Array<::String>]
|
306
|
+
# Required. The strings in the list.
|
307
|
+
class StringList
|
308
|
+
include ::Google::Protobuf::MessageExts
|
309
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
310
|
+
end
|
311
|
+
|
312
|
+
# Possible parameter value types.
|
313
|
+
# @!attribute [rw] string_value
|
314
|
+
# @return [::String]
|
315
|
+
# Represents a string value.
|
316
|
+
#
|
317
|
+
# Note: The following fields are mutually exclusive: `string_value`, `bool_value`, `string_list_value`, `number_value`, `oneof_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
|
318
|
+
# @!attribute [rw] bool_value
|
319
|
+
# @return [::Boolean]
|
320
|
+
# Represents a boolean value.
|
321
|
+
#
|
322
|
+
# Note: The following fields are mutually exclusive: `bool_value`, `string_value`, `string_list_value`, `number_value`, `oneof_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
|
323
|
+
# @!attribute [rw] string_list_value
|
324
|
+
# @return [::Google::Cloud::CloudSecurityCompliance::V1::StringList]
|
325
|
+
# Represents a repeated string.
|
326
|
+
#
|
327
|
+
# Note: The following fields are mutually exclusive: `string_list_value`, `string_value`, `bool_value`, `number_value`, `oneof_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
|
328
|
+
# @!attribute [rw] number_value
|
329
|
+
# @return [::Float]
|
330
|
+
# Represents a double value.
|
331
|
+
#
|
332
|
+
# Note: The following fields are mutually exclusive: `number_value`, `string_value`, `bool_value`, `string_list_value`, `oneof_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
|
333
|
+
# @!attribute [rw] oneof_value
|
334
|
+
# @return [::Google::Cloud::CloudSecurityCompliance::V1::Parameter]
|
335
|
+
# Represents sub-parameter values.
|
336
|
+
#
|
337
|
+
# Note: The following fields are mutually exclusive: `oneof_value`, `string_value`, `bool_value`, `string_list_value`, `number_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
|
338
|
+
class ParamValue
|
339
|
+
include ::Google::Protobuf::MessageExts
|
340
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
341
|
+
end
|
342
|
+
|
343
|
+
# Parameter substitution rules.
|
344
|
+
# @!attribute [rw] placeholder_substitution_rule
|
345
|
+
# @return [::Google::Cloud::CloudSecurityCompliance::V1::PlaceholderSubstitutionRule]
|
346
|
+
# Placeholder substitution rule.
|
347
|
+
#
|
348
|
+
# Note: The following fields are mutually exclusive: `placeholder_substitution_rule`, `attribute_substitution_rule`. If a field in that set is populated, all other fields in the set will automatically be cleared.
|
349
|
+
# @!attribute [rw] attribute_substitution_rule
|
350
|
+
# @return [::Google::Cloud::CloudSecurityCompliance::V1::AttributeSubstitutionRule]
|
351
|
+
# Attribute substitution rule.
|
352
|
+
#
|
353
|
+
# Note: The following fields are mutually exclusive: `attribute_substitution_rule`, `placeholder_substitution_rule`. If a field in that set is populated, all other fields in the set will automatically be cleared.
|
354
|
+
class ParameterSubstitutionRule
|
355
|
+
include ::Google::Protobuf::MessageExts
|
356
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
357
|
+
end
|
358
|
+
|
359
|
+
# Attribute at the given path is substituted entirely.
|
360
|
+
# @!attribute [rw] attribute
|
361
|
+
# @return [::String]
|
362
|
+
# Fully qualified proto attribute path (in dot notation).
|
363
|
+
# Example: rules[0].cel_expression.resource_types_values
|
364
|
+
class AttributeSubstitutionRule
|
365
|
+
include ::Google::Protobuf::MessageExts
|
366
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
367
|
+
end
|
368
|
+
|
369
|
+
# Placeholder is substituted in the rendered string.
|
370
|
+
# @!attribute [rw] attribute
|
371
|
+
# @return [::String]
|
372
|
+
# Fully qualified proto attribute path (e.g., dot notation)
|
373
|
+
class PlaceholderSubstitutionRule
|
374
|
+
include ::Google::Protobuf::MessageExts
|
375
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
376
|
+
end
|
377
|
+
|
378
|
+
# A rule of the cloud control.
|
379
|
+
# @!attribute [rw] cel_expression
|
380
|
+
# @return [::Google::Cloud::CloudSecurityCompliance::V1::CELExpression]
|
381
|
+
# Logic expression in CEL language.
|
382
|
+
# @!attribute [rw] description
|
383
|
+
# @return [::String]
|
384
|
+
# Optional. Description of the Rule. The maximum length is 2000 characters.
|
385
|
+
# @!attribute [rw] rule_action_types
|
386
|
+
# @return [::Array<::Google::Cloud::CloudSecurityCompliance::V1::RuleActionType>]
|
387
|
+
# Required. The functionality enabled by the Rule.
|
388
|
+
class Rule
|
389
|
+
include ::Google::Protobuf::MessageExts
|
390
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
391
|
+
end
|
392
|
+
|
393
|
+
# A [CEL
|
394
|
+
# expression](https://cloud.google.com/certificate-authority-service/docs/using-cel).
|
395
|
+
# @!attribute [rw] resource_types_values
|
396
|
+
# @return [::Google::Cloud::CloudSecurityCompliance::V1::StringList]
|
397
|
+
# The resource instance types on which this expression is defined.
|
398
|
+
# Format will be of the form : `<canonical service name>/<type>`
|
399
|
+
# Example: `compute.googleapis.com/Instance`.
|
400
|
+
# @!attribute [rw] expression
|
401
|
+
# @return [::String]
|
402
|
+
# Required. Logic expression in CEL language.
|
403
|
+
# The max length of the condition is 1000 characters.
|
404
|
+
class CELExpression
|
405
|
+
include ::Google::Protobuf::MessageExts
|
406
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
407
|
+
end
|
408
|
+
|
409
|
+
# Represents the metadata of the long-running operation.
|
410
|
+
# @!attribute [r] create_time
|
411
|
+
# @return [::Google::Protobuf::Timestamp]
|
412
|
+
# Output only. The time the operation was created.
|
413
|
+
# @!attribute [r] end_time
|
414
|
+
# @return [::Google::Protobuf::Timestamp]
|
415
|
+
# Output only. The time the operation finished running.
|
416
|
+
# @!attribute [r] target
|
417
|
+
# @return [::String]
|
418
|
+
# Output only. Server-defined resource path for the target of the operation.
|
419
|
+
# @!attribute [r] verb
|
420
|
+
# @return [::String]
|
421
|
+
# Output only. Name of the verb executed by the operation.
|
422
|
+
# @!attribute [r] status_message
|
423
|
+
# @return [::String]
|
424
|
+
# Output only. Human-readable status of the operation, if any.
|
425
|
+
# @!attribute [r] requested_cancellation
|
426
|
+
# @return [::Boolean]
|
427
|
+
# Output only. Identifies whether the user has requested cancellation
|
428
|
+
# of the operation. Operations that have been cancelled successfully
|
429
|
+
# have [Operation.error][] value with a
|
430
|
+
# {::Google::Rpc::Status#code google.rpc.Status.code} of 1, corresponding to
|
431
|
+
# `Code.CANCELLED`.
|
432
|
+
# @!attribute [r] api_version
|
433
|
+
# @return [::String]
|
434
|
+
# Output only. API version used to start the operation.
|
435
|
+
class OperationMetadata
|
436
|
+
include ::Google::Protobuf::MessageExts
|
437
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
438
|
+
end
|
439
|
+
|
440
|
+
# The enforcement mode of the cloud control.
|
441
|
+
module EnforcementMode
|
442
|
+
# Default value. This value is unused.
|
443
|
+
ENFORCEMENT_MODE_UNSPECIFIED = 0
|
444
|
+
|
445
|
+
# The cloud control is enforced to prevent resource non-compliance.
|
446
|
+
PREVENTIVE = 1
|
447
|
+
|
448
|
+
# The cloud control is enforced to detect resource non-compliance.
|
449
|
+
DETECTIVE = 2
|
450
|
+
|
451
|
+
# The cloud control is enforced to audit resource non-compliance.
|
452
|
+
AUDIT = 3
|
453
|
+
end
|
454
|
+
|
455
|
+
# The category of the framework.
|
456
|
+
module FrameworkCategory
|
457
|
+
# Default value. This value is unused.
|
458
|
+
FRAMEWORK_CATEGORY_UNSPECIFIED = 0
|
459
|
+
|
460
|
+
# Standard framework
|
461
|
+
INDUSTRY_DEFINED_STANDARD = 1
|
462
|
+
|
463
|
+
# Assured Workloads framework
|
464
|
+
ASSURED_WORKLOADS = 2
|
465
|
+
|
466
|
+
# Data Security framework
|
467
|
+
DATA_SECURITY = 3
|
468
|
+
|
469
|
+
# Google Best Practices framework
|
470
|
+
GOOGLE_BEST_PRACTICES = 4
|
471
|
+
|
472
|
+
# User created framework.
|
473
|
+
CUSTOM_FRAMEWORK = 5
|
474
|
+
end
|
475
|
+
|
476
|
+
# The category of the cloud control.
|
477
|
+
module CloudControlCategory
|
478
|
+
# Default value. This value is unused.
|
479
|
+
CLOUD_CONTROL_CATEGORY_UNSPECIFIED = 0
|
480
|
+
|
481
|
+
# Infrastructure
|
482
|
+
CC_CATEGORY_INFRASTRUCTURE = 1
|
483
|
+
|
484
|
+
# Artificial Intelligence
|
485
|
+
CC_CATEGORY_ARTIFICIAL_INTELLIGENCE = 2
|
486
|
+
|
487
|
+
# Physical Security
|
488
|
+
CC_CATEGORY_PHYSICAL_SECURITY = 3
|
489
|
+
|
490
|
+
# Data Security
|
491
|
+
CC_CATEGORY_DATA_SECURITY = 4
|
492
|
+
|
493
|
+
# Network Security
|
494
|
+
CC_CATEGORY_NETWORK_SECURITY = 5
|
495
|
+
|
496
|
+
# Incident Management
|
497
|
+
CC_CATEGORY_INCIDENT_MANAGEMENT = 6
|
498
|
+
|
499
|
+
# Identity & Access Management
|
500
|
+
CC_CATEGORY_IDENTITY_AND_ACCESS_MANAGEMENT = 7
|
501
|
+
|
502
|
+
# Encryption
|
503
|
+
CC_CATEGORY_ENCRYPTION = 8
|
504
|
+
|
505
|
+
# Logs Management & Infrastructure
|
506
|
+
CC_CATEGORY_LOGS_MANAGEMENT_AND_INFRASTRUCTURE = 9
|
507
|
+
|
508
|
+
# HR, Admin & Processes
|
509
|
+
CC_CATEGORY_HR_ADMIN_AND_PROCESSES = 10
|
510
|
+
|
511
|
+
# Third Party & Sub-Processor Management
|
512
|
+
CC_CATEGORY_THIRD_PARTY_AND_SUB_PROCESSOR_MANAGEMENT = 11
|
513
|
+
|
514
|
+
# Legal & Disclosures
|
515
|
+
CC_CATEGORY_LEGAL_AND_DISCLOSURES = 12
|
516
|
+
|
517
|
+
# Vulnerability Management
|
518
|
+
CC_CATEGORY_VULNERABILITY_MANAGEMENT = 13
|
519
|
+
|
520
|
+
# Privacy
|
521
|
+
CC_CATEGORY_PRIVACY = 14
|
522
|
+
|
523
|
+
# BCDR (Business Continuity and Disaster Recovery)
|
524
|
+
CC_CATEGORY_BCDR = 15
|
525
|
+
end
|
526
|
+
|
527
|
+
# The cloud platform.
|
528
|
+
module CloudProvider
|
529
|
+
# Default value. This value is unused.
|
530
|
+
CLOUD_PROVIDER_UNSPECIFIED = 0
|
531
|
+
|
532
|
+
# Amazon Web Services (AWS).
|
533
|
+
AWS = 1
|
534
|
+
|
535
|
+
# Microsoft Azure.
|
536
|
+
AZURE = 2
|
537
|
+
|
538
|
+
# Google Cloud.
|
539
|
+
GCP = 3
|
540
|
+
end
|
541
|
+
|
542
|
+
# The severity of the finding.
|
543
|
+
module Severity
|
544
|
+
# This value is used for findings when a source doesn't write a severity
|
545
|
+
# value.
|
546
|
+
SEVERITY_UNSPECIFIED = 0
|
547
|
+
|
548
|
+
# Vulnerability:
|
549
|
+
# A critical vulnerability is easily discoverable by an external actor,
|
550
|
+
# exploitable, and results in the direct ability to execute arbitrary code,
|
551
|
+
# exfiltrate data, and otherwise gain additional access and privileges to
|
552
|
+
# cloud resources and workloads. Examples include publicly accessible
|
553
|
+
# unprotected user data and public SSH access with weak or no
|
554
|
+
# passwords.
|
555
|
+
#
|
556
|
+
# Threat:
|
557
|
+
# Indicates a threat that is able to access, modify, or delete data or
|
558
|
+
# execute unauthorized code within existing resources.
|
559
|
+
CRITICAL = 1
|
560
|
+
|
561
|
+
# Vulnerability:
|
562
|
+
# A high risk vulnerability can be easily discovered and exploited in
|
563
|
+
# combination with other vulnerabilities in order to gain direct access and
|
564
|
+
# the ability to execute arbitrary code, exfiltrate data, and otherwise
|
565
|
+
# gain additional access and privileges to cloud resources and workloads.
|
566
|
+
# An example is a database with weak or no passwords that is only
|
567
|
+
# accessible internally. This database could easily be compromised by an
|
568
|
+
# actor that had access to the internal network.
|
569
|
+
#
|
570
|
+
# Threat:
|
571
|
+
# Indicates a threat that is able to create new computational resources in
|
572
|
+
# an environment but not able to access data or execute code in existing
|
573
|
+
# resources.
|
574
|
+
HIGH = 2
|
575
|
+
|
576
|
+
# Vulnerability:
|
577
|
+
# A medium risk vulnerability could be used by an actor to gain access to
|
578
|
+
# resources or privileges that enable them to eventually (through multiple
|
579
|
+
# steps or a complex exploit) gain access and the ability to execute
|
580
|
+
# arbitrary code or exfiltrate data. An example is a service account with
|
581
|
+
# access to more projects than it should have. If an actor gains access to
|
582
|
+
# the service account, they could potentially use that access to manipulate
|
583
|
+
# a project the service account was not intended to.
|
584
|
+
#
|
585
|
+
# Threat:
|
586
|
+
# Indicates a threat that is able to cause operational impact but may not
|
587
|
+
# access data or execute unauthorized code.
|
588
|
+
MEDIUM = 3
|
589
|
+
|
590
|
+
# Vulnerability:
|
591
|
+
# A low risk vulnerability hampers a security organization's ability to
|
592
|
+
# detect vulnerabilities or active threats in their deployment, or prevents
|
593
|
+
# the root cause investigation of security issues. An example is monitoring
|
594
|
+
# and logs being disabled for resource configurations and access.
|
595
|
+
#
|
596
|
+
# Threat:
|
597
|
+
# Indicates a threat that has obtained minimal access to an environment but
|
598
|
+
# is not able to access data, execute code, or create resources.
|
599
|
+
LOW = 4
|
600
|
+
end
|
601
|
+
|
602
|
+
# The action type of the rule.
|
603
|
+
module RuleActionType
|
604
|
+
# Default value. This value is unused.
|
605
|
+
RULE_ACTION_TYPE_UNSPECIFIED = 0
|
606
|
+
|
607
|
+
# Preventative action type.
|
608
|
+
RULE_ACTION_TYPE_PREVENTIVE = 1
|
609
|
+
|
610
|
+
# Detective action type.
|
611
|
+
RULE_ACTION_TYPE_DETECTIVE = 2
|
612
|
+
|
613
|
+
# Audit action type.
|
614
|
+
RULE_ACTION_TYPE_AUDIT = 3
|
615
|
+
end
|
616
|
+
|
617
|
+
# TargetResourceType represents the type of resource that a control or
|
618
|
+
# framework can be applied to.
|
619
|
+
module TargetResourceType
|
620
|
+
# Default value. This value is unused.
|
621
|
+
TARGET_RESOURCE_TYPE_UNSPECIFIED = 0
|
622
|
+
|
623
|
+
# Target resource is an Organization.
|
624
|
+
TARGET_RESOURCE_CRM_TYPE_ORG = 1
|
625
|
+
|
626
|
+
# Target resource is a Folder.
|
627
|
+
TARGET_RESOURCE_CRM_TYPE_FOLDER = 2
|
628
|
+
|
629
|
+
# Target resource is a Project.
|
630
|
+
TARGET_RESOURCE_CRM_TYPE_PROJECT = 3
|
631
|
+
|
632
|
+
# Target resource is an Application.
|
633
|
+
TARGET_RESOURCE_TYPE_APPLICATION = 4
|
634
|
+
end
|
635
|
+
end
|
636
|
+
end
|
637
|
+
end
|
638
|
+
end
|