google-cloud-web_security_scanner-v1 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.
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