summaryrefslogtreecommitdiff
path: root/third_party/googleapis/google/cloud/websecurityscanner/v1/scan_config.proto
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/googleapis/google/cloud/websecurityscanner/v1/scan_config.proto')
-rw-r--r--third_party/googleapis/google/cloud/websecurityscanner/v1/scan_config.proto193
1 files changed, 193 insertions, 0 deletions
diff --git a/third_party/googleapis/google/cloud/websecurityscanner/v1/scan_config.proto b/third_party/googleapis/google/cloud/websecurityscanner/v1/scan_config.proto
new file mode 100644
index 0000000..85641af
--- /dev/null
+++ b/third_party/googleapis/google/cloud/websecurityscanner/v1/scan_config.proto
@@ -0,0 +1,193 @@
+// Copyright 2022 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.cloud.websecurityscanner.v1;
+
+import "google/api/field_behavior.proto";
+import "google/protobuf/timestamp.proto";
+
+option csharp_namespace = "Google.Cloud.WebSecurityScanner.V1";
+option go_package = "google.golang.org/genproto/googleapis/cloud/websecurityscanner/v1;websecurityscanner";
+option java_multiple_files = true;
+option java_outer_classname = "ScanConfigProto";
+option java_package = "com.google.cloud.websecurityscanner.v1";
+option php_namespace = "Google\\Cloud\\WebSecurityScanner\\V1";
+option ruby_package = "Google::Cloud::WebSecurityScanner::V1";
+
+// A ScanConfig resource contains the configurations to launch a scan.
+message ScanConfig {
+ // Scan authentication configuration.
+ message Authentication {
+ // Describes authentication configuration that uses a Google account.
+ message GoogleAccount {
+ option deprecated = true;
+
+ // Required. The user name of the Google account.
+ string username = 1;
+
+ // Required. Input only. The password of the Google account. The credential is stored encrypted
+ // and not returned in any response nor included in audit logs.
+ string password = 2;
+ }
+
+ // Describes authentication configuration that uses a custom account.
+ message CustomAccount {
+ // Required. The user name of the custom account.
+ string username = 1;
+
+ // Required. Input only. The password of the custom account. The credential is stored encrypted
+ // and not returned in any response nor included in audit logs.
+ string password = 2;
+
+ // Required. The login form URL of the website.
+ string login_url = 3;
+ }
+
+ // Describes authentication configuration for Identity-Aware-Proxy (IAP).
+ message IapCredential {
+ // Describes authentication configuration when Web-Security-Scanner
+ // service account is added in Identity-Aware-Proxy (IAP) access policies.
+ message IapTestServiceAccountInfo {
+ // Required. Describes OAuth2 client id of resources protected by
+ // Identity-Aware-Proxy (IAP).
+ string target_audience_client_id = 1 [(google.api.field_behavior) = REQUIRED];
+ }
+
+ // Identity-Aware-Proxy (IAP) Authentication Configuration
+ oneof iap_credentials {
+ // Authentication configuration when Web-Security-Scanner service
+ // account is added in Identity-Aware-Proxy (IAP) access policies.
+ IapTestServiceAccountInfo iap_test_service_account_info = 1;
+ }
+ }
+
+ // Required.
+ // Authentication configuration
+ oneof authentication {
+ // Authentication using a Google account.
+ GoogleAccount google_account = 1 [deprecated = true];
+
+ // Authentication using a custom account.
+ CustomAccount custom_account = 2;
+
+ // Authentication using Identity-Aware-Proxy (IAP).
+ IapCredential iap_credential = 4;
+ }
+ }
+
+ // Scan schedule configuration.
+ message Schedule {
+ // A timestamp indicates when the next run will be scheduled. The value is
+ // refreshed by the server after each run. If unspecified, it will default
+ // to current server time, which means the scan will be scheduled to start
+ // immediately.
+ google.protobuf.Timestamp schedule_time = 1;
+
+ // Required. The duration of time between executions in days.
+ int32 interval_duration_days = 2;
+ }
+
+ // Type of user agents used for scanning.
+ enum UserAgent {
+ // The user agent is unknown. Service will default to CHROME_LINUX.
+ USER_AGENT_UNSPECIFIED = 0;
+
+ // Chrome on Linux. This is the service default if unspecified.
+ CHROME_LINUX = 1;
+
+ // Chrome on Android.
+ CHROME_ANDROID = 2;
+
+ // Safari on IPhone.
+ SAFARI_IPHONE = 3;
+ }
+
+ // Scan risk levels supported by Web Security Scanner. LOW impact
+ // scanning will minimize requests with the potential to modify data. To
+ // achieve the maximum scan coverage, NORMAL risk level is recommended.
+ enum RiskLevel {
+ // Use default, which is NORMAL.
+ RISK_LEVEL_UNSPECIFIED = 0;
+
+ // Normal scanning (Recommended)
+ NORMAL = 1;
+
+ // Lower impact scanning
+ LOW = 2;
+ }
+
+ // Controls export of scan configurations and results to Security
+ // Command Center.
+ enum ExportToSecurityCommandCenter {
+ // Use default, which is ENABLED.
+ EXPORT_TO_SECURITY_COMMAND_CENTER_UNSPECIFIED = 0;
+
+ // Export results of this scan to Security Command Center.
+ ENABLED = 1;
+
+ // Do not export results of this scan to Security Command Center.
+ DISABLED = 2;
+ }
+
+ // The resource name of the ScanConfig. The name follows the format of
+ // 'projects/{projectId}/scanConfigs/{scanConfigId}'. The ScanConfig IDs are
+ // generated by the system.
+ string name = 1;
+
+ // Required. The user provided display name of the ScanConfig.
+ string display_name = 2;
+
+ // The maximum QPS during scanning. A valid value ranges from 5 to 20
+ // inclusively. If the field is unspecified or its value is set 0, server will
+ // default to 15. Other values outside of [5, 20] range will be rejected with
+ // INVALID_ARGUMENT error.
+ int32 max_qps = 3;
+
+ // Required. The starting URLs from which the scanner finds site pages.
+ repeated string starting_urls = 4;
+
+ // The authentication configuration. If specified, service will use the
+ // authentication configuration during scanning.
+ Authentication authentication = 5;
+
+ // The user agent used during scanning.
+ UserAgent user_agent = 6;
+
+ // The excluded URL patterns as described in
+ // https://cloud.google.com/security-command-center/docs/how-to-use-web-security-scanner#excluding_urls
+ repeated string blacklist_patterns = 7;
+
+ // The schedule of the ScanConfig.
+ Schedule schedule = 8;
+
+ // Controls export of scan configurations and results to Security
+ // Command Center.
+ ExportToSecurityCommandCenter export_to_security_command_center = 10;
+
+ // The risk level selected for the scan
+ RiskLevel risk_level = 12;
+
+ // Whether the scan config is managed by Web Security Scanner, output
+ // only.
+ bool managed_scan = 13;
+
+ // Whether the scan configuration has enabled static IP address scan feature.
+ // If enabled, the scanner will access applications from static IP addresses.
+ bool static_ip_scan = 14;
+
+ // Whether to keep scanning even if most requests return HTTP error codes.
+ bool ignore_http_status_errors = 15;
+}