google-cloud-security_center-v1 0.8.1 → 0.11.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 (29) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/lib/google/cloud/security_center/v1/security_center/client.rb +1361 -105
  4. data/lib/google/cloud/security_center/v1/security_center/operations.rb +115 -12
  5. data/lib/google/cloud/security_center/v1/security_center/paths.rb +116 -0
  6. data/lib/google/cloud/security_center/v1/version.rb +1 -1
  7. data/lib/google/cloud/securitycenter/v1/asset_pb.rb +2 -2
  8. data/lib/google/cloud/securitycenter/v1/external_system_pb.rb +29 -0
  9. data/lib/google/cloud/securitycenter/v1/finding_pb.rb +16 -2
  10. data/lib/google/cloud/securitycenter/v1/folder_pb.rb +1 -1
  11. data/lib/google/cloud/securitycenter/v1/indicator_pb.rb +1 -1
  12. data/lib/google/cloud/securitycenter/v1/mute_config_pb.rb +32 -0
  13. data/lib/google/cloud/securitycenter/v1/notification_config_pb.rb +2 -2
  14. data/lib/google/cloud/securitycenter/v1/notification_message_pb.rb +2 -2
  15. data/lib/google/cloud/securitycenter/v1/organization_settings_pb.rb +2 -2
  16. data/lib/google/cloud/securitycenter/v1/resource_pb.rb +4 -2
  17. data/lib/google/cloud/securitycenter/v1/run_asset_discovery_response_pb.rb +2 -2
  18. data/lib/google/cloud/securitycenter/v1/security_marks_pb.rb +2 -2
  19. data/lib/google/cloud/securitycenter/v1/securitycenter_service_pb.rb +55 -2
  20. data/lib/google/cloud/securitycenter/v1/securitycenter_service_services_pb.rb +19 -1
  21. data/lib/google/cloud/securitycenter/v1/source_pb.rb +2 -2
  22. data/lib/google/cloud/securitycenter/v1/vulnerability_pb.rb +86 -0
  23. data/proto_docs/google/cloud/securitycenter/v1/external_system.rb +52 -0
  24. data/proto_docs/google/cloud/securitycenter/v1/finding.rb +45 -0
  25. data/proto_docs/google/cloud/securitycenter/v1/mute_config.rb +82 -0
  26. data/proto_docs/google/cloud/securitycenter/v1/resource.rb +6 -0
  27. data/proto_docs/google/cloud/securitycenter/v1/securitycenter_service.rb +181 -0
  28. data/proto_docs/google/cloud/securitycenter/v1/vulnerability.rb +226 -0
  29. metadata +8 -2
@@ -1,16 +1,16 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
2
  # source: google/cloud/securitycenter/v1/securitycenter_service.proto
3
3
 
4
- require 'google/protobuf'
5
-
6
4
  require 'google/cloud/securitycenter/v1/run_asset_discovery_response_pb'
7
5
  require 'google/api/annotations_pb'
8
6
  require 'google/api/client_pb'
9
7
  require 'google/api/field_behavior_pb'
10
8
  require 'google/api/resource_pb'
11
9
  require 'google/cloud/securitycenter/v1/asset_pb'
10
+ require 'google/cloud/securitycenter/v1/external_system_pb'
12
11
  require 'google/cloud/securitycenter/v1/finding_pb'
13
12
  require 'google/cloud/securitycenter/v1/folder_pb'
13
+ require 'google/cloud/securitycenter/v1/mute_config_pb'
14
14
  require 'google/cloud/securitycenter/v1/notification_config_pb'
15
15
  require 'google/cloud/securitycenter/v1/organization_settings_pb'
16
16
  require 'google/cloud/securitycenter/v1/security_marks_pb'
@@ -23,13 +23,27 @@ require 'google/protobuf/empty_pb'
23
23
  require 'google/protobuf/field_mask_pb'
24
24
  require 'google/protobuf/struct_pb'
25
25
  require 'google/protobuf/timestamp_pb'
26
+ require 'google/protobuf'
27
+
26
28
  Google::Protobuf::DescriptorPool.generated_pool.build do
27
29
  add_file("google/cloud/securitycenter/v1/securitycenter_service.proto", :syntax => :proto3) do
30
+ add_message "google.cloud.securitycenter.v1.BulkMuteFindingsRequest" do
31
+ optional :parent, :string, 1
32
+ optional :filter, :string, 2
33
+ optional :mute_annotation, :string, 3
34
+ end
35
+ add_message "google.cloud.securitycenter.v1.BulkMuteFindingsResponse" do
36
+ end
28
37
  add_message "google.cloud.securitycenter.v1.CreateFindingRequest" do
29
38
  optional :parent, :string, 1
30
39
  optional :finding_id, :string, 2
31
40
  optional :finding, :message, 3, "google.cloud.securitycenter.v1.Finding"
32
41
  end
42
+ add_message "google.cloud.securitycenter.v1.CreateMuteConfigRequest" do
43
+ optional :parent, :string, 1
44
+ optional :mute_config, :message, 2, "google.cloud.securitycenter.v1.MuteConfig"
45
+ optional :mute_config_id, :string, 3
46
+ end
33
47
  add_message "google.cloud.securitycenter.v1.CreateNotificationConfigRequest" do
34
48
  optional :parent, :string, 1
35
49
  optional :config_id, :string, 2
@@ -39,9 +53,15 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
39
53
  optional :parent, :string, 1
40
54
  optional :source, :message, 2, "google.cloud.securitycenter.v1.Source"
41
55
  end
56
+ add_message "google.cloud.securitycenter.v1.DeleteMuteConfigRequest" do
57
+ optional :name, :string, 1
58
+ end
42
59
  add_message "google.cloud.securitycenter.v1.DeleteNotificationConfigRequest" do
43
60
  optional :name, :string, 1
44
61
  end
62
+ add_message "google.cloud.securitycenter.v1.GetMuteConfigRequest" do
63
+ optional :name, :string, 1
64
+ end
45
65
  add_message "google.cloud.securitycenter.v1.GetNotificationConfigRequest" do
46
66
  optional :name, :string, 1
47
67
  end
@@ -85,6 +105,15 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
85
105
  map :properties, :string, :message, 1, "google.protobuf.Value"
86
106
  optional :count, :int64, 2
87
107
  end
108
+ add_message "google.cloud.securitycenter.v1.ListMuteConfigsRequest" do
109
+ optional :parent, :string, 1
110
+ optional :page_size, :int32, 2
111
+ optional :page_token, :string, 3
112
+ end
113
+ add_message "google.cloud.securitycenter.v1.ListMuteConfigsResponse" do
114
+ repeated :mute_configs, :message, 1, "google.cloud.securitycenter.v1.MuteConfig"
115
+ optional :next_page_token, :string, 2
116
+ end
88
117
  add_message "google.cloud.securitycenter.v1.ListNotificationConfigsRequest" do
89
118
  optional :parent, :string, 1
90
119
  optional :page_token, :string, 2
@@ -156,7 +185,9 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
156
185
  optional :project_display_name, :string, 3
157
186
  optional :parent_name, :string, 4
158
187
  optional :parent_display_name, :string, 5
188
+ optional :type, :string, 6
159
189
  repeated :folders, :message, 7, "google.cloud.securitycenter.v1.Folder"
190
+ optional :display_name, :string, 8
160
191
  end
161
192
  add_enum "google.cloud.securitycenter.v1.ListFindingsResponse.ListFindingsResult.StateChange" do
162
193
  value :UNUSED, 0
@@ -170,13 +201,25 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
170
201
  optional :state, :enum, 2, "google.cloud.securitycenter.v1.Finding.State"
171
202
  optional :start_time, :message, 3, "google.protobuf.Timestamp"
172
203
  end
204
+ add_message "google.cloud.securitycenter.v1.SetMuteRequest" do
205
+ optional :name, :string, 1
206
+ optional :mute, :enum, 2, "google.cloud.securitycenter.v1.Finding.Mute"
207
+ end
173
208
  add_message "google.cloud.securitycenter.v1.RunAssetDiscoveryRequest" do
174
209
  optional :parent, :string, 1
175
210
  end
211
+ add_message "google.cloud.securitycenter.v1.UpdateExternalSystemRequest" do
212
+ optional :external_system, :message, 1, "google.cloud.securitycenter.v1.ExternalSystem"
213
+ optional :update_mask, :message, 2, "google.protobuf.FieldMask"
214
+ end
176
215
  add_message "google.cloud.securitycenter.v1.UpdateFindingRequest" do
177
216
  optional :finding, :message, 1, "google.cloud.securitycenter.v1.Finding"
178
217
  optional :update_mask, :message, 2, "google.protobuf.FieldMask"
179
218
  end
219
+ add_message "google.cloud.securitycenter.v1.UpdateMuteConfigRequest" do
220
+ optional :mute_config, :message, 1, "google.cloud.securitycenter.v1.MuteConfig"
221
+ optional :update_mask, :message, 2, "google.protobuf.FieldMask"
222
+ end
180
223
  add_message "google.cloud.securitycenter.v1.UpdateNotificationConfigRequest" do
181
224
  optional :notification_config, :message, 1, "google.cloud.securitycenter.v1.NotificationConfig"
182
225
  optional :update_mask, :message, 2, "google.protobuf.FieldMask"
@@ -201,10 +244,15 @@ module Google
201
244
  module Cloud
202
245
  module SecurityCenter
203
246
  module V1
247
+ BulkMuteFindingsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.BulkMuteFindingsRequest").msgclass
248
+ BulkMuteFindingsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.BulkMuteFindingsResponse").msgclass
204
249
  CreateFindingRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.CreateFindingRequest").msgclass
250
+ CreateMuteConfigRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.CreateMuteConfigRequest").msgclass
205
251
  CreateNotificationConfigRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.CreateNotificationConfigRequest").msgclass
206
252
  CreateSourceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.CreateSourceRequest").msgclass
253
+ DeleteMuteConfigRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.DeleteMuteConfigRequest").msgclass
207
254
  DeleteNotificationConfigRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.DeleteNotificationConfigRequest").msgclass
255
+ GetMuteConfigRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.GetMuteConfigRequest").msgclass
208
256
  GetNotificationConfigRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.GetNotificationConfigRequest").msgclass
209
257
  GetOrganizationSettingsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.GetOrganizationSettingsRequest").msgclass
210
258
  GetSourceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.GetSourceRequest").msgclass
@@ -213,6 +261,8 @@ module Google
213
261
  GroupFindingsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.GroupFindingsRequest").msgclass
214
262
  GroupFindingsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.GroupFindingsResponse").msgclass
215
263
  GroupResult = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.GroupResult").msgclass
264
+ ListMuteConfigsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.ListMuteConfigsRequest").msgclass
265
+ ListMuteConfigsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.ListMuteConfigsResponse").msgclass
216
266
  ListNotificationConfigsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.ListNotificationConfigsRequest").msgclass
217
267
  ListNotificationConfigsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.ListNotificationConfigsResponse").msgclass
218
268
  ListSourcesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.ListSourcesRequest").msgclass
@@ -227,8 +277,11 @@ module Google
227
277
  ListFindingsResponse::ListFindingsResult::Resource = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.ListFindingsResponse.ListFindingsResult.Resource").msgclass
228
278
  ListFindingsResponse::ListFindingsResult::StateChange = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.ListFindingsResponse.ListFindingsResult.StateChange").enummodule
229
279
  SetFindingStateRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.SetFindingStateRequest").msgclass
280
+ SetMuteRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.SetMuteRequest").msgclass
230
281
  RunAssetDiscoveryRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.RunAssetDiscoveryRequest").msgclass
282
+ UpdateExternalSystemRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.UpdateExternalSystemRequest").msgclass
231
283
  UpdateFindingRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.UpdateFindingRequest").msgclass
284
+ UpdateMuteConfigRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.UpdateMuteConfigRequest").msgclass
232
285
  UpdateNotificationConfigRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.UpdateNotificationConfigRequest").msgclass
233
286
  UpdateOrganizationSettingsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.UpdateOrganizationSettingsRequest").msgclass
234
287
  UpdateSourceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.UpdateSourceRequest").msgclass
@@ -27,23 +27,33 @@ module Google
27
27
  # V1 APIs for Security Center service.
28
28
  class Service
29
29
 
30
- include GRPC::GenericService
30
+ include ::GRPC::GenericService
31
31
 
32
32
  self.marshal_class_method = :encode
33
33
  self.unmarshal_class_method = :decode
34
34
  self.service_name = 'google.cloud.securitycenter.v1.SecurityCenter'
35
35
 
36
+ # Kicks off an LRO to bulk mute findings for a parent based on a filter. The
37
+ # parent can be either an organization, folder or project. The findings
38
+ # matched by the filter will be muted after the LRO is done.
39
+ rpc :BulkMuteFindings, ::Google::Cloud::SecurityCenter::V1::BulkMuteFindingsRequest, ::Google::Longrunning::Operation
36
40
  # Creates a source.
37
41
  rpc :CreateSource, ::Google::Cloud::SecurityCenter::V1::CreateSourceRequest, ::Google::Cloud::SecurityCenter::V1::Source
38
42
  # Creates a finding. The corresponding source must exist for finding creation
39
43
  # to succeed.
40
44
  rpc :CreateFinding, ::Google::Cloud::SecurityCenter::V1::CreateFindingRequest, ::Google::Cloud::SecurityCenter::V1::Finding
45
+ # Creates a mute config.
46
+ rpc :CreateMuteConfig, ::Google::Cloud::SecurityCenter::V1::CreateMuteConfigRequest, ::Google::Cloud::SecurityCenter::V1::MuteConfig
41
47
  # Creates a notification config.
42
48
  rpc :CreateNotificationConfig, ::Google::Cloud::SecurityCenter::V1::CreateNotificationConfigRequest, ::Google::Cloud::SecurityCenter::V1::NotificationConfig
49
+ # Deletes an existing mute config.
50
+ rpc :DeleteMuteConfig, ::Google::Cloud::SecurityCenter::V1::DeleteMuteConfigRequest, ::Google::Protobuf::Empty
43
51
  # Deletes a notification config.
44
52
  rpc :DeleteNotificationConfig, ::Google::Cloud::SecurityCenter::V1::DeleteNotificationConfigRequest, ::Google::Protobuf::Empty
45
53
  # Gets the access control policy on the specified Source.
46
54
  rpc :GetIamPolicy, ::Google::Iam::V1::GetIamPolicyRequest, ::Google::Iam::V1::Policy
55
+ # Gets a mute config.
56
+ rpc :GetMuteConfig, ::Google::Cloud::SecurityCenter::V1::GetMuteConfigRequest, ::Google::Cloud::SecurityCenter::V1::MuteConfig
47
57
  # Gets a notification config.
48
58
  rpc :GetNotificationConfig, ::Google::Cloud::SecurityCenter::V1::GetNotificationConfigRequest, ::Google::Cloud::SecurityCenter::V1::NotificationConfig
49
59
  # Gets the settings for an organization.
@@ -68,6 +78,8 @@ module Google
68
78
  # To list across all sources provide a `-` as the source id.
69
79
  # Example: /v1/organizations/{organization_id}/sources/-/findings
70
80
  rpc :ListFindings, ::Google::Cloud::SecurityCenter::V1::ListFindingsRequest, ::Google::Cloud::SecurityCenter::V1::ListFindingsResponse
81
+ # Lists mute configs.
82
+ rpc :ListMuteConfigs, ::Google::Cloud::SecurityCenter::V1::ListMuteConfigsRequest, ::Google::Cloud::SecurityCenter::V1::ListMuteConfigsResponse
71
83
  # Lists notification configs.
72
84
  rpc :ListNotificationConfigs, ::Google::Cloud::SecurityCenter::V1::ListNotificationConfigsRequest, ::Google::Cloud::SecurityCenter::V1::ListNotificationConfigsResponse
73
85
  # Lists all sources belonging to an organization.
@@ -81,13 +93,19 @@ module Google
81
93
  rpc :RunAssetDiscovery, ::Google::Cloud::SecurityCenter::V1::RunAssetDiscoveryRequest, ::Google::Longrunning::Operation
82
94
  # Updates the state of a finding.
83
95
  rpc :SetFindingState, ::Google::Cloud::SecurityCenter::V1::SetFindingStateRequest, ::Google::Cloud::SecurityCenter::V1::Finding
96
+ # Updates the mute state of a finding.
97
+ rpc :SetMute, ::Google::Cloud::SecurityCenter::V1::SetMuteRequest, ::Google::Cloud::SecurityCenter::V1::Finding
84
98
  # Sets the access control policy on the specified Source.
85
99
  rpc :SetIamPolicy, ::Google::Iam::V1::SetIamPolicyRequest, ::Google::Iam::V1::Policy
86
100
  # Returns the permissions that a caller has on the specified source.
87
101
  rpc :TestIamPermissions, ::Google::Iam::V1::TestIamPermissionsRequest, ::Google::Iam::V1::TestIamPermissionsResponse
102
+ # Updates external system. This is for a given finding.
103
+ rpc :UpdateExternalSystem, ::Google::Cloud::SecurityCenter::V1::UpdateExternalSystemRequest, ::Google::Cloud::SecurityCenter::V1::ExternalSystem
88
104
  # Creates or updates a finding. The corresponding source must exist for a
89
105
  # finding creation to succeed.
90
106
  rpc :UpdateFinding, ::Google::Cloud::SecurityCenter::V1::UpdateFindingRequest, ::Google::Cloud::SecurityCenter::V1::Finding
107
+ # Updates a mute config.
108
+ rpc :UpdateMuteConfig, ::Google::Cloud::SecurityCenter::V1::UpdateMuteConfigRequest, ::Google::Cloud::SecurityCenter::V1::MuteConfig
91
109
  #
92
110
  # Updates a notification config. The following update
93
111
  # fields are allowed: description, pubsub_topic, streaming_config.filter
@@ -1,10 +1,10 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
2
  # source: google/cloud/securitycenter/v1/source.proto
3
3
 
4
- require 'google/protobuf'
5
-
6
4
  require 'google/api/resource_pb'
7
5
  require 'google/api/annotations_pb'
6
+ require 'google/protobuf'
7
+
8
8
  Google::Protobuf::DescriptorPool.generated_pool.build do
9
9
  add_file("google/cloud/securitycenter/v1/source.proto", :syntax => :proto3) do
10
10
  add_message "google.cloud.securitycenter.v1.Source" do
@@ -0,0 +1,86 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # source: google/cloud/securitycenter/v1/vulnerability.proto
3
+
4
+ require 'google/api/annotations_pb'
5
+ require 'google/protobuf'
6
+
7
+ Google::Protobuf::DescriptorPool.generated_pool.build do
8
+ add_file("google/cloud/securitycenter/v1/vulnerability.proto", :syntax => :proto3) do
9
+ add_message "google.cloud.securitycenter.v1.Vulnerability" do
10
+ optional :cve, :message, 1, "google.cloud.securitycenter.v1.Cve"
11
+ end
12
+ add_message "google.cloud.securitycenter.v1.Cve" do
13
+ optional :id, :string, 1
14
+ repeated :references, :message, 2, "google.cloud.securitycenter.v1.Reference"
15
+ optional :cvssv3, :message, 3, "google.cloud.securitycenter.v1.Cvssv3"
16
+ end
17
+ add_message "google.cloud.securitycenter.v1.Reference" do
18
+ optional :source, :string, 1
19
+ optional :uri, :string, 2
20
+ end
21
+ add_message "google.cloud.securitycenter.v1.Cvssv3" do
22
+ optional :base_score, :double, 1
23
+ optional :attack_vector, :enum, 5, "google.cloud.securitycenter.v1.Cvssv3.AttackVector"
24
+ optional :attack_complexity, :enum, 6, "google.cloud.securitycenter.v1.Cvssv3.AttackComplexity"
25
+ optional :privileges_required, :enum, 7, "google.cloud.securitycenter.v1.Cvssv3.PrivilegesRequired"
26
+ optional :user_interaction, :enum, 8, "google.cloud.securitycenter.v1.Cvssv3.UserInteraction"
27
+ optional :scope, :enum, 9, "google.cloud.securitycenter.v1.Cvssv3.Scope"
28
+ optional :confidentiality_impact, :enum, 10, "google.cloud.securitycenter.v1.Cvssv3.Impact"
29
+ optional :integrity_impact, :enum, 11, "google.cloud.securitycenter.v1.Cvssv3.Impact"
30
+ optional :availability_impact, :enum, 12, "google.cloud.securitycenter.v1.Cvssv3.Impact"
31
+ end
32
+ add_enum "google.cloud.securitycenter.v1.Cvssv3.AttackVector" do
33
+ value :ATTACK_VECTOR_UNSPECIFIED, 0
34
+ value :ATTACK_VECTOR_NETWORK, 1
35
+ value :ATTACK_VECTOR_ADJACENT, 2
36
+ value :ATTACK_VECTOR_LOCAL, 3
37
+ value :ATTACK_VECTOR_PHYSICAL, 4
38
+ end
39
+ add_enum "google.cloud.securitycenter.v1.Cvssv3.AttackComplexity" do
40
+ value :ATTACK_COMPLEXITY_UNSPECIFIED, 0
41
+ value :ATTACK_COMPLEXITY_LOW, 1
42
+ value :ATTACK_COMPLEXITY_HIGH, 2
43
+ end
44
+ add_enum "google.cloud.securitycenter.v1.Cvssv3.PrivilegesRequired" do
45
+ value :PRIVILEGES_REQUIRED_UNSPECIFIED, 0
46
+ value :PRIVILEGES_REQUIRED_NONE, 1
47
+ value :PRIVILEGES_REQUIRED_LOW, 2
48
+ value :PRIVILEGES_REQUIRED_HIGH, 3
49
+ end
50
+ add_enum "google.cloud.securitycenter.v1.Cvssv3.UserInteraction" do
51
+ value :USER_INTERACTION_UNSPECIFIED, 0
52
+ value :USER_INTERACTION_NONE, 1
53
+ value :USER_INTERACTION_REQUIRED, 2
54
+ end
55
+ add_enum "google.cloud.securitycenter.v1.Cvssv3.Scope" do
56
+ value :SCOPE_UNSPECIFIED, 0
57
+ value :SCOPE_UNCHANGED, 1
58
+ value :SCOPE_CHANGED, 2
59
+ end
60
+ add_enum "google.cloud.securitycenter.v1.Cvssv3.Impact" do
61
+ value :IMPACT_UNSPECIFIED, 0
62
+ value :IMPACT_HIGH, 1
63
+ value :IMPACT_LOW, 2
64
+ value :IMPACT_NONE, 3
65
+ end
66
+ end
67
+ end
68
+
69
+ module Google
70
+ module Cloud
71
+ module SecurityCenter
72
+ module V1
73
+ Vulnerability = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.Vulnerability").msgclass
74
+ Cve = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.Cve").msgclass
75
+ Reference = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.Reference").msgclass
76
+ Cvssv3 = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.Cvssv3").msgclass
77
+ Cvssv3::AttackVector = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.Cvssv3.AttackVector").enummodule
78
+ Cvssv3::AttackComplexity = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.Cvssv3.AttackComplexity").enummodule
79
+ Cvssv3::PrivilegesRequired = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.Cvssv3.PrivilegesRequired").enummodule
80
+ Cvssv3::UserInteraction = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.Cvssv3.UserInteraction").enummodule
81
+ Cvssv3::Scope = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.Cvssv3.Scope").enummodule
82
+ Cvssv3::Impact = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.Cvssv3.Impact").enummodule
83
+ end
84
+ end
85
+ end
86
+ end
@@ -0,0 +1,52 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2021 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module SecurityCenter
23
+ module V1
24
+ # Representation of third party SIEM/SOAR fields within SCC.
25
+ # @!attribute [rw] name
26
+ # @return [::String]
27
+ # External System Name e.g. jira, demisto, etc.
28
+ # e.g.: `organizations/1234/sources/5678/findings/123456/externalSystems/jira`
29
+ # `folders/1234/sources/5678/findings/123456/externalSystems/jira`
30
+ # `projects/1234/sources/5678/findings/123456/externalSystems/jira`
31
+ # @!attribute [rw] assignees
32
+ # @return [::Array<::String>]
33
+ # References primary/secondary etc assignees in the external system.
34
+ # @!attribute [rw] external_uid
35
+ # @return [::String]
36
+ # Identifier that's used to track the given finding in the external system.
37
+ # @!attribute [rw] status
38
+ # @return [::String]
39
+ # Most recent status of the corresponding finding's ticket/tracker in the
40
+ # external system.
41
+ # @!attribute [rw] external_system_update_time
42
+ # @return [::Google::Protobuf::Timestamp]
43
+ # The most recent time when the corresponding finding's ticket/tracker was
44
+ # updated in the external system.
45
+ class ExternalSystem
46
+ include ::Google::Protobuf::MessageExts
47
+ extend ::Google::Protobuf::MessageExts::ClassMethods
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
@@ -96,6 +96,10 @@ module Google
96
96
  # "projects/\\{project_number}/sources/\\{source_id}/findings/\\{finding_id}",
97
97
  # depending on the closest CRM ancestor of the resource associated with the
98
98
  # finding.
99
+ # @!attribute [rw] mute
100
+ # @return [::Google::Cloud::SecurityCenter::V1::Finding::Mute]
101
+ # Indicates the mute state of a finding (either unspecified, muted, unmuted
102
+ # or undefined).
99
103
  # @!attribute [rw] finding_class
100
104
  # @return [::Google::Cloud::SecurityCenter::V1::Finding::FindingClass]
101
105
  # The class of the finding.
@@ -106,6 +110,23 @@ module Google
106
110
  # operating system that, with high confidence, indicates a computer
107
111
  # intrusion.
108
112
  # Reference: https://en.wikipedia.org/wiki/Indicator_of_compromise
113
+ # @!attribute [rw] vulnerability
114
+ # @return [::Google::Cloud::SecurityCenter::V1::Vulnerability]
115
+ # Represents vulnerability specific fields like cve, cvss scores etc.
116
+ # CVE stands for Common Vulnerabilities and Exposures
117
+ # (https://cve.mitre.org/about/)
118
+ # @!attribute [r] mute_update_time
119
+ # @return [::Google::Protobuf::Timestamp]
120
+ # Output only. The most recent time this finding was muted or unmuted.
121
+ # @!attribute [r] external_systems
122
+ # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::SecurityCenter::V1::ExternalSystem}]
123
+ # Output only. Third party SIEM/SOAR fields within SCC, contains external system
124
+ # information and external system finding fields.
125
+ # @!attribute [rw] mute_initiator
126
+ # @return [::String]
127
+ # First known as mute_annotation. Records additional information about the
128
+ # mute operation e.g. mute config that muted the finding, user who muted the
129
+ # finding, etc.
109
130
  class Finding
110
131
  include ::Google::Protobuf::MessageExts
111
132
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -119,6 +140,15 @@ module Google
119
140
  extend ::Google::Protobuf::MessageExts::ClassMethods
120
141
  end
121
142
 
143
+ # @!attribute [rw] key
144
+ # @return [::String]
145
+ # @!attribute [rw] value
146
+ # @return [::Google::Cloud::SecurityCenter::V1::ExternalSystem]
147
+ class ExternalSystemsEntry
148
+ include ::Google::Protobuf::MessageExts
149
+ extend ::Google::Protobuf::MessageExts::ClassMethods
150
+ end
151
+
122
152
  # The state of the finding.
123
153
  module State
124
154
  # Unspecified state.
@@ -191,6 +221,21 @@ module Google
191
221
  LOW = 4
192
222
  end
193
223
 
224
+ # Mute state a finding can be in.
225
+ module Mute
226
+ # Unspecified.
227
+ MUTE_UNSPECIFIED = 0
228
+
229
+ # Finding has been muted.
230
+ MUTED = 1
231
+
232
+ # Finding has been unmuted.
233
+ UNMUTED = 2
234
+
235
+ # Finding has never been muted/unmuted.
236
+ UNDEFINED = 4
237
+ end
238
+
194
239
  # Represents what kind of Finding it is.
195
240
  module FindingClass
196
241
  # Unspecified finding class.
@@ -0,0 +1,82 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2021 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module SecurityCenter
23
+ module V1
24
+ # A mute config is a Cloud SCC resource that contains the configuration
25
+ # to mute create/update events of findings.
26
+ # @!attribute [rw] name
27
+ # @return [::String]
28
+ # This field will be ignored if provided on config creation. Format
29
+ # "organizations/\\{organization}/muteConfigs/\\{mute_config}"
30
+ # "folders/\\{folder}/muteConfigs/\\{mute_config}"
31
+ # "projects/\\{project}/muteConfigs/\\{mute_config}"
32
+ # @!attribute [rw] display_name
33
+ # @return [::String]
34
+ # The human readable name to be displayed for the mute config.
35
+ # @!attribute [rw] description
36
+ # @return [::String]
37
+ # A description of the mute config.
38
+ # @!attribute [rw] filter
39
+ # @return [::String]
40
+ # Required. An expression that defines the filter to apply across create/update events
41
+ # of findings. While creating a filter string, be mindful of the
42
+ # scope in which the mute configuration is being created. E.g., If a filter
43
+ # contains project = X but is created under the project = Y scope, it might
44
+ # not match any findings.
45
+ #
46
+ # The following field and operator combinations are supported:
47
+ #
48
+ # * severity: `=`, `:`
49
+ # * category: `=`, `:`
50
+ # * resource.name: `=`, `:`
51
+ # * resource.project_name: `=`, `:`
52
+ # * resource.project_display_name: `=`, `:`
53
+ # * resource.folders.resource_folder: `=`, `:`
54
+ # * resource.parent_name: `=`, `:`
55
+ # * resource.parent_display_name: `=`, `:`
56
+ # * resource.type: `=`, `:`
57
+ # * finding_class: `=`, `:`
58
+ # * indicator.ip_addresses: `=`, `:`
59
+ # * indicator.domains: `=`, `:`
60
+ # @!attribute [r] create_time
61
+ # @return [::Google::Protobuf::Timestamp]
62
+ # Output only. The time at which the mute config was created.
63
+ # This field is set by the server and will be ignored if provided on config
64
+ # creation.
65
+ # @!attribute [r] update_time
66
+ # @return [::Google::Protobuf::Timestamp]
67
+ # Output only. The most recent time at which the mute config was updated.
68
+ # This field is set by the server and will be ignored if provided on config
69
+ # creation or update.
70
+ # @!attribute [r] most_recent_editor
71
+ # @return [::String]
72
+ # Output only. Email address of the user who last edited the mute config.
73
+ # This field is set by the server and will be ignored if provided on config
74
+ # creation or update.
75
+ class MuteConfig
76
+ include ::Google::Protobuf::MessageExts
77
+ extend ::Google::Protobuf::MessageExts::ClassMethods
78
+ end
79
+ end
80
+ end
81
+ end
82
+ end
@@ -38,11 +38,17 @@ module Google
38
38
  # @!attribute [rw] parent_display_name
39
39
  # @return [::String]
40
40
  # The human readable name of resource's parent.
41
+ # @!attribute [rw] type
42
+ # @return [::String]
43
+ # The full resource type of the resource.
41
44
  # @!attribute [r] folders
42
45
  # @return [::Array<::Google::Cloud::SecurityCenter::V1::Folder>]
43
46
  # Output only. Contains a Folder message for each folder in the assets ancestry.
44
47
  # The first folder is the deepest nested folder, and the last folder is the
45
48
  # folder directly under the Organization.
49
+ # @!attribute [rw] display_name
50
+ # @return [::String]
51
+ # The human readable name of the resource.
46
52
  class Resource
47
53
  include ::Google::Protobuf::MessageExts
48
54
  extend ::Google::Protobuf::MessageExts::ClassMethods