google-cloud-security_center-v1p1beta1 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +169 -0
  4. data/LICENSE.md +203 -0
  5. data/README.md +71 -0
  6. data/lib/google-cloud-security_center-v1p1beta1.rb +21 -0
  7. data/lib/google/cloud/common_resources_pb.rb +15 -0
  8. data/lib/google/cloud/security_center/v1p1beta1.rb +35 -0
  9. data/lib/google/cloud/security_center/v1p1beta1/security_center.rb +50 -0
  10. data/lib/google/cloud/security_center/v1p1beta1/security_center/client.rb +2680 -0
  11. data/lib/google/cloud/security_center/v1p1beta1/security_center/credentials.rb +51 -0
  12. data/lib/google/cloud/security_center/v1p1beta1/security_center/operations.rb +564 -0
  13. data/lib/google/cloud/security_center/v1p1beta1/security_center/paths.rb +172 -0
  14. data/lib/google/cloud/security_center/v1p1beta1/version.rb +28 -0
  15. data/lib/google/cloud/securitycenter/v1p1beta1/asset_pb.rb +48 -0
  16. data/lib/google/cloud/securitycenter/v1p1beta1/finding_pb.rb +43 -0
  17. data/lib/google/cloud/securitycenter/v1p1beta1/notification_config_pb.rb +41 -0
  18. data/lib/google/cloud/securitycenter/v1p1beta1/notification_message_pb.rb +28 -0
  19. data/lib/google/cloud/securitycenter/v1p1beta1/organization_settings_pb.rb +37 -0
  20. data/lib/google/cloud/securitycenter/v1p1beta1/run_asset_discovery_response_pb.rb +32 -0
  21. data/lib/google/cloud/securitycenter/v1p1beta1/security_marks_pb.rb +25 -0
  22. data/lib/google/cloud/securitycenter/v1p1beta1/securitycenter_service_pb.rb +241 -0
  23. data/lib/google/cloud/securitycenter/v1p1beta1/securitycenter_service_services_pb.rb +108 -0
  24. data/lib/google/cloud/securitycenter/v1p1beta1/source_pb.rb +26 -0
  25. data/proto_docs/README.md +4 -0
  26. data/proto_docs/google/api/field_behavior.rb +59 -0
  27. data/proto_docs/google/api/resource.rb +247 -0
  28. data/proto_docs/google/cloud/securitycenter/v1p1beta1/asset.rb +127 -0
  29. data/proto_docs/google/cloud/securitycenter/v1p1beta1/finding.rb +112 -0
  30. data/proto_docs/google/cloud/securitycenter/v1p1beta1/notification_config.rb +97 -0
  31. data/proto_docs/google/cloud/securitycenter/v1p1beta1/notification_message.rb +39 -0
  32. data/proto_docs/google/cloud/securitycenter/v1p1beta1/organization_settings.rb +82 -0
  33. data/proto_docs/google/cloud/securitycenter/v1p1beta1/run_asset_discovery_response.rb +54 -0
  34. data/proto_docs/google/cloud/securitycenter/v1p1beta1/security_marks.rb +61 -0
  35. data/proto_docs/google/cloud/securitycenter/v1p1beta1/securitycenter_service.rb +1026 -0
  36. data/proto_docs/google/cloud/securitycenter/v1p1beta1/source.rb +56 -0
  37. data/proto_docs/google/iam/v1/iam_policy.rb +80 -0
  38. data/proto_docs/google/iam/v1/options.rb +40 -0
  39. data/proto_docs/google/iam/v1/policy.rb +248 -0
  40. data/proto_docs/google/longrunning/operations.rb +150 -0
  41. data/proto_docs/google/protobuf/any.rb +138 -0
  42. data/proto_docs/google/protobuf/duration.rb +98 -0
  43. data/proto_docs/google/protobuf/empty.rb +36 -0
  44. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  45. data/proto_docs/google/protobuf/struct.rb +96 -0
  46. data/proto_docs/google/protobuf/timestamp.rb +120 -0
  47. data/proto_docs/google/rpc/status.rb +46 -0
  48. data/proto_docs/google/type/expr.rb +52 -0
  49. metadata +222 -0
@@ -0,0 +1,127 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 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 V1p1beta1
24
+ # Cloud Security Command Center's (Cloud SCC) representation of a Google Cloud
25
+ # Platform (GCP) resource.
26
+ #
27
+ # The Asset is a Cloud SCC resource that captures information about a single
28
+ # GCP resource. All modifications to an Asset are only within the context of
29
+ # Cloud SCC and don't affect the referenced GCP resource.
30
+ # @!attribute [rw] name
31
+ # @return [String]
32
+ # The relative resource name of this asset. See:
33
+ # https://cloud.google.com/apis/design/resource_names#relative_resource_name
34
+ # Example:
35
+ # "organizations/\\{organization_id}/assets/\\{asset_id}".
36
+ # @!attribute [rw] security_center_properties
37
+ # @return [Google::Cloud::SecurityCenter::V1p1beta1::Asset::SecurityCenterProperties]
38
+ # Cloud SCC managed properties. These properties are managed by
39
+ # Cloud SCC and cannot be modified by the user.
40
+ # @!attribute [rw] resource_properties
41
+ # @return [Google::Protobuf::Map{String => Google::Protobuf::Value}]
42
+ # Resource managed properties. These properties are managed and defined by
43
+ # the GCP resource and cannot be modified by the user.
44
+ # @!attribute [rw] security_marks
45
+ # @return [Google::Cloud::SecurityCenter::V1p1beta1::SecurityMarks]
46
+ # User specified security marks. These marks are entirely managed by the user
47
+ # and come from the SecurityMarks resource that belongs to the asset.
48
+ # @!attribute [rw] create_time
49
+ # @return [Google::Protobuf::Timestamp]
50
+ # The time at which the asset was created in Cloud SCC.
51
+ # @!attribute [rw] update_time
52
+ # @return [Google::Protobuf::Timestamp]
53
+ # The time at which the asset was last updated, added, or deleted in Cloud
54
+ # SCC.
55
+ # @!attribute [rw] iam_policy
56
+ # @return [Google::Cloud::SecurityCenter::V1p1beta1::Asset::IamPolicy]
57
+ # IAM Policy information associated with the GCP resource described by the
58
+ # Cloud SCC asset. This information is managed and defined by the GCP
59
+ # resource and cannot be modified by the user.
60
+ class Asset
61
+ include Google::Protobuf::MessageExts
62
+ extend Google::Protobuf::MessageExts::ClassMethods
63
+
64
+ # Cloud SCC managed properties. These properties are managed by Cloud SCC and
65
+ # cannot be modified by the user.
66
+ # @!attribute [rw] resource_name
67
+ # @return [String]
68
+ # The full resource name of the GCP resource this asset
69
+ # represents. This field is immutable after create time. See:
70
+ # https://cloud.google.com/apis/design/resource_names#full_resource_name
71
+ # @!attribute [rw] resource_type
72
+ # @return [String]
73
+ # The type of the GCP resource. Examples include: APPLICATION,
74
+ # PROJECT, and ORGANIZATION. This is a case insensitive field defined by
75
+ # Cloud SCC and/or the producer of the resource and is immutable
76
+ # after create time.
77
+ # @!attribute [rw] resource_parent
78
+ # @return [String]
79
+ # The full resource name of the immediate parent of the resource. See:
80
+ # https://cloud.google.com/apis/design/resource_names#full_resource_name
81
+ # @!attribute [rw] resource_project
82
+ # @return [String]
83
+ # The full resource name of the project the resource belongs to. See:
84
+ # https://cloud.google.com/apis/design/resource_names#full_resource_name
85
+ # @!attribute [rw] resource_owners
86
+ # @return [Array<String>]
87
+ # Owners of the Google Cloud resource.
88
+ # @!attribute [rw] resource_display_name
89
+ # @return [String]
90
+ # The user defined display name for this resource.
91
+ # @!attribute [rw] resource_parent_display_name
92
+ # @return [String]
93
+ # The user defined display name for the parent of this resource.
94
+ # @!attribute [rw] resource_project_display_name
95
+ # @return [String]
96
+ # The user defined display name for the project of this resource.
97
+ class SecurityCenterProperties
98
+ include Google::Protobuf::MessageExts
99
+ extend Google::Protobuf::MessageExts::ClassMethods
100
+ end
101
+
102
+ # IAM Policy information associated with the GCP resource described by the
103
+ # Cloud SCC asset. This information is managed and defined by the GCP
104
+ # resource and cannot be modified by the user.
105
+ # @!attribute [rw] policy_blob
106
+ # @return [String]
107
+ # The JSON representation of the Policy associated with the asset.
108
+ # See https://cloud.google.com/iam/reference/rest/v1/Policy for
109
+ # format details.
110
+ class IamPolicy
111
+ include Google::Protobuf::MessageExts
112
+ extend Google::Protobuf::MessageExts::ClassMethods
113
+ end
114
+
115
+ # @!attribute [rw] key
116
+ # @return [String]
117
+ # @!attribute [rw] value
118
+ # @return [Google::Protobuf::Value]
119
+ class ResourcePropertiesEntry
120
+ include Google::Protobuf::MessageExts
121
+ extend Google::Protobuf::MessageExts::ClassMethods
122
+ end
123
+ end
124
+ end
125
+ end
126
+ end
127
+ end
@@ -0,0 +1,112 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 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 V1p1beta1
24
+ # Cloud Security Command Center (Cloud SCC) finding.
25
+ #
26
+ # A finding is a record of assessment data (security, risk, health or privacy)
27
+ # ingested into Cloud SCC for presentation, notification, analysis,
28
+ # policy testing, and enforcement. For example, an XSS vulnerability in an
29
+ # App Engine application is a finding.
30
+ # @!attribute [rw] name
31
+ # @return [String]
32
+ # The relative resource name of this finding. See:
33
+ # https://cloud.google.com/apis/design/resource_names#relative_resource_name
34
+ # Example:
35
+ # "organizations/\\{organization_id}/sources/\\{source_id}/findings/\\{finding_id}"
36
+ # @!attribute [rw] parent
37
+ # @return [String]
38
+ # The relative resource name of the source the finding belongs to. See:
39
+ # https://cloud.google.com/apis/design/resource_names#relative_resource_name
40
+ # This field is immutable after creation time.
41
+ # For example:
42
+ # "organizations/\\{organization_id}/sources/\\{source_id}"
43
+ # @!attribute [rw] resource_name
44
+ # @return [String]
45
+ # For findings on Google Cloud Platform (GCP) resources, the full resource
46
+ # name of the GCP resource this finding is for. See:
47
+ # https://cloud.google.com/apis/design/resource_names#full_resource_name
48
+ # When the finding is for a non-GCP resource, the resourceName can be a
49
+ # customer or partner defined string.
50
+ # This field is immutable after creation time.
51
+ # @!attribute [rw] state
52
+ # @return [Google::Cloud::SecurityCenter::V1p1beta1::Finding::State]
53
+ # The state of the finding.
54
+ # @!attribute [rw] category
55
+ # @return [String]
56
+ # The additional taxonomy group within findings from a given source.
57
+ # This field is immutable after creation time.
58
+ # Example: "XSS_FLASH_INJECTION"
59
+ # @!attribute [rw] external_uri
60
+ # @return [String]
61
+ # The URI that, if available, points to a web page outside of Cloud SCC
62
+ # where additional information about the finding can be found. This field is
63
+ # guaranteed to be either empty or a well formed URL.
64
+ # @!attribute [rw] source_properties
65
+ # @return [Google::Protobuf::Map{String => Google::Protobuf::Value}]
66
+ # Source specific properties. These properties are managed by the source
67
+ # that writes the finding. The key names in the source_properties map must be
68
+ # between 1 and 255 characters, and must start with a letter and contain
69
+ # alphanumeric characters or underscores only.
70
+ # @!attribute [r] security_marks
71
+ # @return [Google::Cloud::SecurityCenter::V1p1beta1::SecurityMarks]
72
+ # Output only. User specified security marks. These marks are entirely
73
+ # managed by the user and come from the SecurityMarks resource that belongs
74
+ # to the finding.
75
+ # @!attribute [rw] event_time
76
+ # @return [Google::Protobuf::Timestamp]
77
+ # The time at which the event took place. For example, if the finding
78
+ # represents an open firewall it would capture the time the detector believes
79
+ # the firewall became open. The accuracy is determined by the detector.
80
+ # @!attribute [rw] create_time
81
+ # @return [Google::Protobuf::Timestamp]
82
+ # The time at which the finding was created in Cloud SCC.
83
+ class Finding
84
+ include Google::Protobuf::MessageExts
85
+ extend Google::Protobuf::MessageExts::ClassMethods
86
+
87
+ # @!attribute [rw] key
88
+ # @return [String]
89
+ # @!attribute [rw] value
90
+ # @return [Google::Protobuf::Value]
91
+ class SourcePropertiesEntry
92
+ include Google::Protobuf::MessageExts
93
+ extend Google::Protobuf::MessageExts::ClassMethods
94
+ end
95
+
96
+ # The state of the finding.
97
+ module State
98
+ # Unspecified state.
99
+ STATE_UNSPECIFIED = 0
100
+
101
+ # The finding requires attention and has not been addressed yet.
102
+ ACTIVE = 1
103
+
104
+ # The finding has been fixed, triaged as a non-issue or otherwise addressed
105
+ # and is no longer active.
106
+ INACTIVE = 2
107
+ end
108
+ end
109
+ end
110
+ end
111
+ end
112
+ end
@@ -0,0 +1,97 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 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 V1p1beta1
24
+ # Cloud Security Command Center (Cloud SCC) notification configs.
25
+ #
26
+ # A notification config is a Cloud SCC resource that contains the configuration
27
+ # to send notifications for create/update events of findings, assets and etc.
28
+ # @!attribute [rw] name
29
+ # @return [String]
30
+ # The relative resource name of this notification config. See:
31
+ # https://cloud.google.com/apis/design/resource_names#relative_resource_name
32
+ # Example:
33
+ # "organizations/\\{organization_id}/notificationConfigs/notify_public_bucket".
34
+ # @!attribute [rw] description
35
+ # @return [String]
36
+ # The description of the notification config (max of 1024 characters).
37
+ # @!attribute [rw] event_type
38
+ # @return [Google::Cloud::SecurityCenter::V1p1beta1::NotificationConfig::EventType]
39
+ # The type of events the config is for, e.g. FINDING.
40
+ # @!attribute [rw] pubsub_topic
41
+ # @return [String]
42
+ # The PubSub topic to send notifications to. Its format is
43
+ # "projects/[project_id]/topics/[topic]".
44
+ # @!attribute [r] service_account
45
+ # @return [String]
46
+ # Output only. The service account that needs "pubsub.topics.publish"
47
+ # permission to publish to the PubSub topic.
48
+ # @!attribute [rw] streaming_config
49
+ # @return [Google::Cloud::SecurityCenter::V1p1beta1::NotificationConfig::StreamingConfig]
50
+ # The config for triggering streaming-based notifications.
51
+ class NotificationConfig
52
+ include Google::Protobuf::MessageExts
53
+ extend Google::Protobuf::MessageExts::ClassMethods
54
+
55
+ # The config for streaming-based notifications, which send each event as soon
56
+ # as it is detected.
57
+ # @!attribute [rw] filter
58
+ # @return [String]
59
+ # Expression that defines the filter to apply across create/update events
60
+ # of assets or findings as specified by the event type. The expression is a
61
+ # list of zero or more restrictions combined via logical operators `AND`
62
+ # and `OR`. Parentheses are supported, and `OR` has higher precedence than
63
+ # `AND`.
64
+ #
65
+ # Restrictions have the form `<field> <operator> <value>` and may have a
66
+ # `-` character in front of them to indicate negation. The fields map to
67
+ # those defined in the corresponding resource.
68
+ #
69
+ # The supported operators are:
70
+ #
71
+ # * `=` for all value types.
72
+ # * `>`, `<`, `>=`, `<=` for integer values.
73
+ # * `:`, meaning substring matching, for strings.
74
+ #
75
+ # The supported value types are:
76
+ #
77
+ # * string literals in quotes.
78
+ # * integer literals without quotes.
79
+ # * boolean literals `true` and `false` without quotes.
80
+ class StreamingConfig
81
+ include Google::Protobuf::MessageExts
82
+ extend Google::Protobuf::MessageExts::ClassMethods
83
+ end
84
+
85
+ # The type of events.
86
+ module EventType
87
+ # Unspecified event type.
88
+ EVENT_TYPE_UNSPECIFIED = 0
89
+
90
+ # Events for findings.
91
+ FINDING = 1
92
+ end
93
+ end
94
+ end
95
+ end
96
+ end
97
+ end
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 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 V1p1beta1
24
+ # Cloud SCC's Notification
25
+ # @!attribute [rw] notification_config_name
26
+ # @return [String]
27
+ # Name of the notification config that generated current notification.
28
+ # @!attribute [rw] finding
29
+ # @return [Google::Cloud::SecurityCenter::V1p1beta1::Finding]
30
+ # If it's a Finding based notification config, this field will be
31
+ # populated.
32
+ class NotificationMessage
33
+ include Google::Protobuf::MessageExts
34
+ extend Google::Protobuf::MessageExts::ClassMethods
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,82 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 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 V1p1beta1
24
+ # User specified settings that are attached to the Cloud Security Command
25
+ # Center (Cloud SCC) organization.
26
+ # @!attribute [rw] name
27
+ # @return [String]
28
+ # The relative resource name of the settings. See:
29
+ # https://cloud.google.com/apis/design/resource_names#relative_resource_name
30
+ # Example:
31
+ # "organizations/\\{organization_id}/organizationSettings".
32
+ # @!attribute [rw] enable_asset_discovery
33
+ # @return [Boolean]
34
+ # A flag that indicates if Asset Discovery should be enabled. If the flag is
35
+ # set to `true`, then discovery of assets will occur. If it is set to `false,
36
+ # all historical assets will remain, but discovery of future assets will not
37
+ # occur.
38
+ # @!attribute [rw] asset_discovery_config
39
+ # @return [Google::Cloud::SecurityCenter::V1p1beta1::OrganizationSettings::AssetDiscoveryConfig]
40
+ # The configuration used for Asset Discovery runs.
41
+ class OrganizationSettings
42
+ include Google::Protobuf::MessageExts
43
+ extend Google::Protobuf::MessageExts::ClassMethods
44
+
45
+ # The configuration used for Asset Discovery runs.
46
+ # @!attribute [rw] project_ids
47
+ # @return [Array<String>]
48
+ # The project ids to use for filtering asset discovery.
49
+ # @!attribute [rw] inclusion_mode
50
+ # @return [Google::Cloud::SecurityCenter::V1p1beta1::OrganizationSettings::AssetDiscoveryConfig::InclusionMode]
51
+ # The mode to use for filtering asset discovery.
52
+ class AssetDiscoveryConfig
53
+ include Google::Protobuf::MessageExts
54
+ extend Google::Protobuf::MessageExts::ClassMethods
55
+
56
+ # The mode of inclusion when running Asset Discovery.
57
+ # Asset discovery can be limited by explicitly identifying projects to be
58
+ # included or excluded. If INCLUDE_ONLY is set, then only those projects
59
+ # within the organization and their children are discovered during asset
60
+ # discovery. If EXCLUDE is set, then projects that don't match those
61
+ # projects are discovered during asset discovery. If neither are set, then
62
+ # all projects within the organization are discovered during asset
63
+ # discovery.
64
+ module InclusionMode
65
+ # Unspecified. Setting the mode with this value will disable
66
+ # inclusion/exclusion filtering for Asset Discovery.
67
+ INCLUSION_MODE_UNSPECIFIED = 0
68
+
69
+ # Asset Discovery will capture only the resources within the projects
70
+ # specified. All other resources will be ignored.
71
+ INCLUDE_ONLY = 1
72
+
73
+ # Asset Discovery will ignore all resources under the projects specified.
74
+ # All other resources will be retrieved.
75
+ EXCLUDE = 2
76
+ end
77
+ end
78
+ end
79
+ end
80
+ end
81
+ end
82
+ end