google-cloud-web_security_scanner-v1 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) 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 +75 -0
  6. data/lib/google-cloud-web_security_scanner-v1.rb +21 -0
  7. data/lib/google/cloud/web_security_scanner/v1.rb +35 -0
  8. data/lib/google/cloud/web_security_scanner/v1/version.rb +28 -0
  9. data/lib/google/cloud/web_security_scanner/v1/web_security_scanner.rb +50 -0
  10. data/lib/google/cloud/web_security_scanner/v1/web_security_scanner/client.rb +1393 -0
  11. data/lib/google/cloud/web_security_scanner/v1/web_security_scanner/credentials.rb +51 -0
  12. data/lib/google/cloud/websecurityscanner/v1/crawled_url_pb.rb +24 -0
  13. data/lib/google/cloud/websecurityscanner/v1/finding_addon_pb.rb +74 -0
  14. data/lib/google/cloud/websecurityscanner/v1/finding_pb.rb +49 -0
  15. data/lib/google/cloud/websecurityscanner/v1/finding_type_stats_pb.rb +23 -0
  16. data/lib/google/cloud/websecurityscanner/v1/scan_config_error_pb.rb +68 -0
  17. data/lib/google/cloud/websecurityscanner/v1/scan_config_pb.rb +88 -0
  18. data/lib/google/cloud/websecurityscanner/v1/scan_run_error_trace_pb.rb +35 -0
  19. data/lib/google/cloud/websecurityscanner/v1/scan_run_pb.rb +49 -0
  20. data/lib/google/cloud/websecurityscanner/v1/scan_run_warning_trace_pb.rb +30 -0
  21. data/lib/google/cloud/websecurityscanner/v1/web_security_scanner_pb.rb +114 -0
  22. data/lib/google/cloud/websecurityscanner/v1/web_security_scanner_services_pb.rb +72 -0
  23. data/proto_docs/README.md +4 -0
  24. data/proto_docs/google/api/field_behavior.rb +59 -0
  25. data/proto_docs/google/api/resource.rb +283 -0
  26. data/proto_docs/google/cloud/websecurityscanner/v1/crawled_url.rb +44 -0
  27. data/proto_docs/google/cloud/websecurityscanner/v1/finding.rb +114 -0
  28. data/proto_docs/google/cloud/websecurityscanner/v1/finding_addon.rb +169 -0
  29. data/proto_docs/google/cloud/websecurityscanner/v1/finding_type_stats.rb +39 -0
  30. data/proto_docs/google/cloud/websecurityscanner/v1/scan_config.rb +200 -0
  31. data/proto_docs/google/cloud/websecurityscanner/v1/scan_config_error.rb +191 -0
  32. data/proto_docs/google/cloud/websecurityscanner/v1/scan_run.rb +110 -0
  33. data/proto_docs/google/cloud/websecurityscanner/v1/scan_run_error_trace.rb +77 -0
  34. data/proto_docs/google/cloud/websecurityscanner/v1/scan_run_warning_trace.rb +62 -0
  35. data/proto_docs/google/cloud/websecurityscanner/v1/web_security_scanner.rb +278 -0
  36. data/proto_docs/google/protobuf/empty.rb +36 -0
  37. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  38. data/proto_docs/google/protobuf/timestamp.rb +120 -0
  39. metadata +220 -0
@@ -0,0 +1,44 @@
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 WebSecurityScanner
23
+ module V1
24
+ # A CrawledUrl resource represents a URL that was crawled during a ScanRun. Web
25
+ # Security Scanner Service crawls the web applications, following all links
26
+ # within the scope of sites, to find the URLs to test against.
27
+ # @!attribute [rw] http_method
28
+ # @return [::String]
29
+ # Output only. The http method of the request that was used to visit the URL, in
30
+ # uppercase.
31
+ # @!attribute [rw] url
32
+ # @return [::String]
33
+ # Output only. The URL that was crawled.
34
+ # @!attribute [rw] body
35
+ # @return [::String]
36
+ # Output only. The body of the request that was used to visit the URL.
37
+ class CrawledUrl
38
+ include ::Google::Protobuf::MessageExts
39
+ extend ::Google::Protobuf::MessageExts::ClassMethods
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,114 @@
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 WebSecurityScanner
23
+ module V1
24
+ # A Finding resource represents a vulnerability instance identified during a
25
+ # ScanRun.
26
+ # @!attribute [rw] name
27
+ # @return [::String]
28
+ # Output only. The resource name of the Finding. The name follows the format of
29
+ # 'projects/\\{projectId}/scanConfigs/\\{scanConfigId}/scanruns/\\{scanRunId}/findings/\\{findingId}'.
30
+ # The finding IDs are generated by the system.
31
+ # @!attribute [rw] finding_type
32
+ # @return [::String]
33
+ # Output only. The type of the Finding.
34
+ # Detailed and up-to-date information on findings can be found here:
35
+ # https://cloud.google.com/security-command-center/docs/how-to-remediate-web-security-scanner-findings
36
+ # @!attribute [r] severity
37
+ # @return [::Google::Cloud::WebSecurityScanner::V1::Finding::Severity]
38
+ # Output only. The severity level of the reported vulnerability.
39
+ # @!attribute [rw] http_method
40
+ # @return [::String]
41
+ # Output only. The http method of the request that triggered the vulnerability, in
42
+ # uppercase.
43
+ # @!attribute [rw] fuzzed_url
44
+ # @return [::String]
45
+ # Output only. The URL produced by the server-side fuzzer and used in the request that
46
+ # triggered the vulnerability.
47
+ # @!attribute [rw] body
48
+ # @return [::String]
49
+ # Output only. The body of the request that triggered the vulnerability.
50
+ # @!attribute [rw] description
51
+ # @return [::String]
52
+ # Output only. The description of the vulnerability.
53
+ # @!attribute [rw] reproduction_url
54
+ # @return [::String]
55
+ # Output only. The URL containing human-readable payload that user can leverage to
56
+ # reproduce the vulnerability.
57
+ # @!attribute [rw] frame_url
58
+ # @return [::String]
59
+ # Output only. If the vulnerability was originated from nested IFrame, the immediate
60
+ # parent IFrame is reported.
61
+ # @!attribute [rw] final_url
62
+ # @return [::String]
63
+ # Output only. The URL where the browser lands when the vulnerability is detected.
64
+ # @!attribute [rw] tracking_id
65
+ # @return [::String]
66
+ # Output only. The tracking ID uniquely identifies a vulnerability instance across
67
+ # multiple ScanRuns.
68
+ # @!attribute [rw] form
69
+ # @return [::Google::Cloud::WebSecurityScanner::V1::Form]
70
+ # Output only. An addon containing information reported for a vulnerability with an HTML
71
+ # form, if any.
72
+ # @!attribute [rw] outdated_library
73
+ # @return [::Google::Cloud::WebSecurityScanner::V1::OutdatedLibrary]
74
+ # Output only. An addon containing information about outdated libraries.
75
+ # @!attribute [rw] violating_resource
76
+ # @return [::Google::Cloud::WebSecurityScanner::V1::ViolatingResource]
77
+ # Output only. An addon containing detailed information regarding any resource causing the
78
+ # vulnerability such as JavaScript sources, image, audio files, etc.
79
+ # @!attribute [rw] vulnerable_headers
80
+ # @return [::Google::Cloud::WebSecurityScanner::V1::VulnerableHeaders]
81
+ # Output only. An addon containing information about vulnerable or missing HTTP headers.
82
+ # @!attribute [rw] vulnerable_parameters
83
+ # @return [::Google::Cloud::WebSecurityScanner::V1::VulnerableParameters]
84
+ # Output only. An addon containing information about request parameters which were found
85
+ # to be vulnerable.
86
+ # @!attribute [rw] xss
87
+ # @return [::Google::Cloud::WebSecurityScanner::V1::Xss]
88
+ # Output only. An addon containing information reported for an XSS, if any.
89
+ class Finding
90
+ include ::Google::Protobuf::MessageExts
91
+ extend ::Google::Protobuf::MessageExts::ClassMethods
92
+
93
+ # The severity level of a vulnerability.
94
+ module Severity
95
+ # No severity specified. The default value.
96
+ SEVERITY_UNSPECIFIED = 0
97
+
98
+ # Critical severity.
99
+ CRITICAL = 1
100
+
101
+ # High severity.
102
+ HIGH = 2
103
+
104
+ # Medium severity.
105
+ MEDIUM = 3
106
+
107
+ # Low severity.
108
+ LOW = 4
109
+ end
110
+ end
111
+ end
112
+ end
113
+ end
114
+ end
@@ -0,0 +1,169 @@
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 WebSecurityScanner
23
+ module V1
24
+ # ! Information about a vulnerability with an HTML.
25
+ # @!attribute [rw] action_uri
26
+ # @return [::String]
27
+ # ! The URI where to send the form when it's submitted.
28
+ # @!attribute [rw] fields
29
+ # @return [::Array<::String>]
30
+ # ! The names of form fields related to the vulnerability.
31
+ class Form
32
+ include ::Google::Protobuf::MessageExts
33
+ extend ::Google::Protobuf::MessageExts::ClassMethods
34
+ end
35
+
36
+ # Information reported for an outdated library.
37
+ # @!attribute [rw] library_name
38
+ # @return [::String]
39
+ # The name of the outdated library.
40
+ # @!attribute [rw] version
41
+ # @return [::String]
42
+ # The version number.
43
+ # @!attribute [rw] learn_more_urls
44
+ # @return [::Array<::String>]
45
+ # URLs to learn more information about the vulnerabilities in the library.
46
+ class OutdatedLibrary
47
+ include ::Google::Protobuf::MessageExts
48
+ extend ::Google::Protobuf::MessageExts::ClassMethods
49
+ end
50
+
51
+ # Information regarding any resource causing the vulnerability such
52
+ # as JavaScript sources, image, audio files, etc.
53
+ # @!attribute [rw] content_type
54
+ # @return [::String]
55
+ # The MIME type of this resource.
56
+ # @!attribute [rw] resource_url
57
+ # @return [::String]
58
+ # URL of this violating resource.
59
+ class ViolatingResource
60
+ include ::Google::Protobuf::MessageExts
61
+ extend ::Google::Protobuf::MessageExts::ClassMethods
62
+ end
63
+
64
+ # Information about vulnerable request parameters.
65
+ # @!attribute [rw] parameter_names
66
+ # @return [::Array<::String>]
67
+ # The vulnerable parameter names.
68
+ class VulnerableParameters
69
+ include ::Google::Protobuf::MessageExts
70
+ extend ::Google::Protobuf::MessageExts::ClassMethods
71
+ end
72
+
73
+ # Information about vulnerable or missing HTTP Headers.
74
+ # @!attribute [rw] headers
75
+ # @return [::Array<::Google::Cloud::WebSecurityScanner::V1::VulnerableHeaders::Header>]
76
+ # List of vulnerable headers.
77
+ # @!attribute [rw] missing_headers
78
+ # @return [::Array<::Google::Cloud::WebSecurityScanner::V1::VulnerableHeaders::Header>]
79
+ # List of missing headers.
80
+ class VulnerableHeaders
81
+ include ::Google::Protobuf::MessageExts
82
+ extend ::Google::Protobuf::MessageExts::ClassMethods
83
+
84
+ # Describes a HTTP Header.
85
+ # @!attribute [rw] name
86
+ # @return [::String]
87
+ # Header name.
88
+ # @!attribute [rw] value
89
+ # @return [::String]
90
+ # Header value.
91
+ class Header
92
+ include ::Google::Protobuf::MessageExts
93
+ extend ::Google::Protobuf::MessageExts::ClassMethods
94
+ end
95
+ end
96
+
97
+ # Information reported for an XSS.
98
+ # @!attribute [rw] stack_traces
99
+ # @return [::Array<::String>]
100
+ # Stack traces leading to the point where the XSS occurred.
101
+ # @!attribute [rw] error_message
102
+ # @return [::String]
103
+ # An error message generated by a javascript breakage.
104
+ # @!attribute [rw] attack_vector
105
+ # @return [::Google::Cloud::WebSecurityScanner::V1::Xss::AttackVector]
106
+ # The attack vector of the payload triggering this XSS.
107
+ # @!attribute [rw] stored_xss_seeding_url
108
+ # @return [::String]
109
+ # The reproduction url for the seeding POST request of a Stored XSS.
110
+ class Xss
111
+ include ::Google::Protobuf::MessageExts
112
+ extend ::Google::Protobuf::MessageExts::ClassMethods
113
+
114
+ # Types of XSS attack vector.
115
+ module AttackVector
116
+ # Unknown attack vector.
117
+ ATTACK_VECTOR_UNSPECIFIED = 0
118
+
119
+ # The attack comes from fuzzing the browser's localStorage.
120
+ LOCAL_STORAGE = 1
121
+
122
+ # The attack comes from fuzzing the browser's sessionStorage.
123
+ SESSION_STORAGE = 2
124
+
125
+ # The attack comes from fuzzing the window's name property.
126
+ WINDOW_NAME = 3
127
+
128
+ # The attack comes from fuzzing the referrer property.
129
+ REFERRER = 4
130
+
131
+ # The attack comes from fuzzing an input element.
132
+ FORM_INPUT = 5
133
+
134
+ # The attack comes from fuzzing the browser's cookies.
135
+ COOKIE = 6
136
+
137
+ # The attack comes from hijacking the post messaging mechanism.
138
+ POST_MESSAGE = 7
139
+
140
+ # The attack comes from fuzzing parameters in the url.
141
+ GET_PARAMETERS = 8
142
+
143
+ # The attack comes from fuzzing the fragment in the url.
144
+ URL_FRAGMENT = 9
145
+
146
+ # The attack comes from fuzzing the HTML comments.
147
+ HTML_COMMENT = 10
148
+
149
+ # The attack comes from fuzzing the POST parameters.
150
+ POST_PARAMETERS = 11
151
+
152
+ # The attack comes from fuzzing the protocol.
153
+ PROTOCOL = 12
154
+
155
+ # The attack comes from the server side and is stored.
156
+ STORED_XSS = 13
157
+
158
+ # The attack is a Same-Origin Method Execution attack via a GET parameter.
159
+ SAME_ORIGIN = 14
160
+
161
+ # The attack payload is received from a third-party host via a URL that is
162
+ # user-controllable
163
+ USER_CONTROLLABLE_URL = 15
164
+ end
165
+ end
166
+ end
167
+ end
168
+ end
169
+ 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 WebSecurityScanner
23
+ module V1
24
+ # A FindingTypeStats resource represents stats regarding a specific FindingType
25
+ # of Findings under a given ScanRun.
26
+ # @!attribute [rw] finding_type
27
+ # @return [::String]
28
+ # Output only. The finding type associated with the stats.
29
+ # @!attribute [rw] finding_count
30
+ # @return [::Integer]
31
+ # Output only. The count of findings belonging to this finding type.
32
+ class FindingTypeStats
33
+ include ::Google::Protobuf::MessageExts
34
+ extend ::Google::Protobuf::MessageExts::ClassMethods
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,200 @@
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 WebSecurityScanner
23
+ module V1
24
+ # A ScanConfig resource contains the configurations to launch a scan.
25
+ # @!attribute [rw] name
26
+ # @return [::String]
27
+ # The resource name of the ScanConfig. The name follows the format of
28
+ # 'projects/\\{projectId}/scanConfigs/\\{scanConfigId}'. The ScanConfig IDs are
29
+ # generated by the system.
30
+ # @!attribute [rw] display_name
31
+ # @return [::String]
32
+ # Required. The user provided display name of the ScanConfig.
33
+ # @!attribute [rw] max_qps
34
+ # @return [::Integer]
35
+ # The maximum QPS during scanning. A valid value ranges from 5 to 20
36
+ # inclusively. If the field is unspecified or its value is set 0, server will
37
+ # default to 15. Other values outside of [5, 20] range will be rejected with
38
+ # INVALID_ARGUMENT error.
39
+ # @!attribute [rw] starting_urls
40
+ # @return [::Array<::String>]
41
+ # Required. The starting URLs from which the scanner finds site pages.
42
+ # @!attribute [rw] authentication
43
+ # @return [::Google::Cloud::WebSecurityScanner::V1::ScanConfig::Authentication]
44
+ # The authentication configuration. If specified, service will use the
45
+ # authentication configuration during scanning.
46
+ # @!attribute [rw] user_agent
47
+ # @return [::Google::Cloud::WebSecurityScanner::V1::ScanConfig::UserAgent]
48
+ # The user agent used during scanning.
49
+ # @!attribute [rw] blacklist_patterns
50
+ # @return [::Array<::String>]
51
+ # The excluded URL patterns as described in
52
+ # https://cloud.google.com/security-command-center/docs/how-to-use-web-security-scanner#excluding_urls
53
+ # @!attribute [rw] schedule
54
+ # @return [::Google::Cloud::WebSecurityScanner::V1::ScanConfig::Schedule]
55
+ # The schedule of the ScanConfig.
56
+ # @!attribute [rw] export_to_security_command_center
57
+ # @return [::Google::Cloud::WebSecurityScanner::V1::ScanConfig::ExportToSecurityCommandCenter]
58
+ # Controls export of scan configurations and results to Security
59
+ # Command Center.
60
+ # @!attribute [rw] risk_level
61
+ # @return [::Google::Cloud::WebSecurityScanner::V1::ScanConfig::RiskLevel]
62
+ # The risk level selected for the scan
63
+ # @!attribute [rw] managed_scan
64
+ # @return [::Boolean]
65
+ # Whether the scan config is managed by Web Security Scanner, output
66
+ # only.
67
+ # @!attribute [rw] static_ip_scan
68
+ # @return [::Boolean]
69
+ # Whether the scan configuration has enabled static IP address scan feature.
70
+ # If enabled, the scanner will access applications from static IP addresses.
71
+ class ScanConfig
72
+ include ::Google::Protobuf::MessageExts
73
+ extend ::Google::Protobuf::MessageExts::ClassMethods
74
+
75
+ # Scan authentication configuration.
76
+ # @!attribute [rw] google_account
77
+ # @return [::Google::Cloud::WebSecurityScanner::V1::ScanConfig::Authentication::GoogleAccount]
78
+ # Authentication using a Google account.
79
+ # @!attribute [rw] custom_account
80
+ # @return [::Google::Cloud::WebSecurityScanner::V1::ScanConfig::Authentication::CustomAccount]
81
+ # Authentication using a custom account.
82
+ # @!attribute [rw] iap_credential
83
+ # @return [::Google::Cloud::WebSecurityScanner::V1::ScanConfig::Authentication::IapCredential]
84
+ # Authentication using Identity-Aware-Proxy (IAP).
85
+ class Authentication
86
+ include ::Google::Protobuf::MessageExts
87
+ extend ::Google::Protobuf::MessageExts::ClassMethods
88
+
89
+ # Describes authentication configuration that uses a Google account.
90
+ # @!attribute [rw] username
91
+ # @return [::String]
92
+ # Required. The user name of the Google account.
93
+ # @!attribute [rw] password
94
+ # @return [::String]
95
+ # Required. Input only. The password of the Google account. The credential is stored encrypted
96
+ # and not returned in any response nor included in audit logs.
97
+ class GoogleAccount
98
+ include ::Google::Protobuf::MessageExts
99
+ extend ::Google::Protobuf::MessageExts::ClassMethods
100
+ end
101
+
102
+ # Describes authentication configuration that uses a custom account.
103
+ # @!attribute [rw] username
104
+ # @return [::String]
105
+ # Required. The user name of the custom account.
106
+ # @!attribute [rw] password
107
+ # @return [::String]
108
+ # Required. Input only. The password of the custom account. The credential is stored encrypted
109
+ # and not returned in any response nor included in audit logs.
110
+ # @!attribute [rw] login_url
111
+ # @return [::String]
112
+ # Required. The login form URL of the website.
113
+ class CustomAccount
114
+ include ::Google::Protobuf::MessageExts
115
+ extend ::Google::Protobuf::MessageExts::ClassMethods
116
+ end
117
+
118
+ # Describes authentication configuration for Identity-Aware-Proxy (IAP).
119
+ # @!attribute [rw] iap_test_service_account_info
120
+ # @return [::Google::Cloud::WebSecurityScanner::V1::ScanConfig::Authentication::IapCredential::IapTestServiceAccountInfo]
121
+ # Authentication configuration when Web-Security-Scanner service
122
+ # account is added in Identity-Aware-Proxy (IAP) access policies.
123
+ class IapCredential
124
+ include ::Google::Protobuf::MessageExts
125
+ extend ::Google::Protobuf::MessageExts::ClassMethods
126
+
127
+ # Describes authentication configuration when Web-Security-Scanner
128
+ # service account is added in Identity-Aware-Proxy (IAP) access policies.
129
+ # @!attribute [rw] target_audience_client_id
130
+ # @return [::String]
131
+ # Required. Describes OAuth2 client id of resources protected by
132
+ # Identity-Aware-Proxy (IAP).
133
+ class IapTestServiceAccountInfo
134
+ include ::Google::Protobuf::MessageExts
135
+ extend ::Google::Protobuf::MessageExts::ClassMethods
136
+ end
137
+ end
138
+ end
139
+
140
+ # Scan schedule configuration.
141
+ # @!attribute [rw] schedule_time
142
+ # @return [::Google::Protobuf::Timestamp]
143
+ # A timestamp indicates when the next run will be scheduled. The value is
144
+ # refreshed by the server after each run. If unspecified, it will default
145
+ # to current server time, which means the scan will be scheduled to start
146
+ # immediately.
147
+ # @!attribute [rw] interval_duration_days
148
+ # @return [::Integer]
149
+ # Required. The duration of time between executions in days.
150
+ class Schedule
151
+ include ::Google::Protobuf::MessageExts
152
+ extend ::Google::Protobuf::MessageExts::ClassMethods
153
+ end
154
+
155
+ # Type of user agents used for scanning.
156
+ module UserAgent
157
+ # The user agent is unknown. Service will default to CHROME_LINUX.
158
+ USER_AGENT_UNSPECIFIED = 0
159
+
160
+ # Chrome on Linux. This is the service default if unspecified.
161
+ CHROME_LINUX = 1
162
+
163
+ # Chrome on Android.
164
+ CHROME_ANDROID = 2
165
+
166
+ # Safari on IPhone.
167
+ SAFARI_IPHONE = 3
168
+ end
169
+
170
+ # Scan risk levels supported by Web Security Scanner. LOW impact
171
+ # scanning will minimize requests with the potential to modify data. To
172
+ # achieve the maximum scan coverage, NORMAL risk level is recommended.
173
+ module RiskLevel
174
+ # Use default, which is NORMAL.
175
+ RISK_LEVEL_UNSPECIFIED = 0
176
+
177
+ # Normal scanning (Recommended)
178
+ NORMAL = 1
179
+
180
+ # Lower impact scanning
181
+ LOW = 2
182
+ end
183
+
184
+ # Controls export of scan configurations and results to Security
185
+ # Command Center.
186
+ module ExportToSecurityCommandCenter
187
+ # Use default, which is ENABLED.
188
+ EXPORT_TO_SECURITY_COMMAND_CENTER_UNSPECIFIED = 0
189
+
190
+ # Export results of this scan to Security Command Center.
191
+ ENABLED = 1
192
+
193
+ # Do not export results of this scan to Security Command Center.
194
+ DISABLED = 2
195
+ end
196
+ end
197
+ end
198
+ end
199
+ end
200
+ end