1// Copyright 2023 Google LLC 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15syntax = "proto3"; 16 17package google.cloud.securitycenter.v1; 18 19import "google/api/resource.proto"; 20 21option csharp_namespace = "Google.Cloud.SecurityCenter.V1"; 22option go_package = "cloud.google.com/go/securitycenter/apiv1/securitycenterpb;securitycenterpb"; 23option java_multiple_files = true; 24option java_package = "com.google.cloud.securitycenter.v1"; 25option php_namespace = "Google\\Cloud\\SecurityCenter\\V1"; 26option ruby_package = "Google::Cloud::SecurityCenter::V1"; 27 28// User specified security marks that are attached to the parent Security 29// Command Center resource. Security marks are scoped within a Security Command 30// Center organization -- they can be modified and viewed by all users who have 31// proper permissions on the organization. 32message SecurityMarks { 33 option (google.api.resource) = { 34 type: "securitycenter.googleapis.com/SecurityMarks" 35 pattern: "organizations/{organization}/assets/{asset}/securityMarks" 36 pattern: "organizations/{organization}/sources/{source}/findings/{finding}/securityMarks" 37 pattern: "folders/{folder}/assets/{asset}/securityMarks" 38 pattern: "projects/{project}/assets/{asset}/securityMarks" 39 pattern: "folders/{folder}/sources/{source}/findings/{finding}/securityMarks" 40 pattern: "projects/{project}/sources/{source}/findings/{finding}/securityMarks" 41 }; 42 43 // The relative resource name of the SecurityMarks. See: 44 // https://cloud.google.com/apis/design/resource_names#relative_resource_name 45 // Examples: 46 // "organizations/{organization_id}/assets/{asset_id}/securityMarks" 47 // "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks". 48 string name = 1; 49 50 // Mutable user specified security marks belonging to the parent resource. 51 // Constraints are as follows: 52 // 53 // * Keys and values are treated as case insensitive 54 // * Keys must be between 1 - 256 characters (inclusive) 55 // * Keys must be letters, numbers, underscores, or dashes 56 // * Values have leading and trailing whitespace trimmed, remaining 57 // characters must be between 1 - 4096 characters (inclusive) 58 map<string, string> marks = 2; 59 60 // The canonical name of the marks. 61 // Examples: 62 // "organizations/{organization_id}/assets/{asset_id}/securityMarks" 63 // "folders/{folder_id}/assets/{asset_id}/securityMarks" 64 // "projects/{project_number}/assets/{asset_id}/securityMarks" 65 // "organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks" 66 // "folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks" 67 // "projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks" 68 string canonical_name = 3; 69} 70