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.v2; 18 19import "google/api/resource.proto"; 20import "google/protobuf/timestamp.proto"; 21 22option csharp_namespace = "Google.Cloud.SecurityCenter.V2"; 23option go_package = "cloud.google.com/go/securitycenter/apiv2/securitycenterpb;securitycenterpb"; 24option java_multiple_files = true; 25option java_outer_classname = "ExternalSystemProto"; 26option java_package = "com.google.cloud.securitycenter.v2"; 27option php_namespace = "Google\\Cloud\\SecurityCenter\\V2"; 28option ruby_package = "Google::Cloud::SecurityCenter::V2"; 29 30// Representation of third party SIEM/SOAR fields within SCC. 31message ExternalSystem { 32 option (google.api.resource) = { 33 type: "securitycenter.googleapis.com/ExternalSystem" 34 pattern: "organizations/{organization}/sources/{source}/findings/{finding}/externalSystems/{externalsystem}" 35 pattern: "organizations/{organization}/sources/{source}/locations/{location}/findings/{finding}/externalSystems/{externalsystem}" 36 pattern: "folders/{folder}/sources/{source}/findings/{finding}/externalSystems/{externalsystem}" 37 pattern: "folders/{folder}/sources/{source}/locations/{location}/findings/{finding}/externalSystems/{externalsystem}" 38 pattern: "projects/{project}/sources/{source}/findings/{finding}/externalSystems/{externalsystem}" 39 pattern: "projects/{project}/sources/{source}/locations/{location}/findings/{finding}/externalSystems/{externalsystem}" 40 }; 41 42 // Information about the ticket, if any, that is being used to track the 43 // resolution of the issue that is identified by this finding. 44 message TicketInfo { 45 // The identifier of the ticket in the ticket system. 46 string id = 1; 47 48 // The assignee of the ticket in the ticket system. 49 string assignee = 2; 50 51 // The description of the ticket in the ticket system. 52 string description = 3; 53 54 // The link to the ticket in the ticket system. 55 string uri = 4; 56 57 // The latest status of the ticket, as reported by the ticket system. 58 string status = 5; 59 60 // The time when the ticket was last updated, as reported by the ticket 61 // system. 62 google.protobuf.Timestamp update_time = 6; 63 } 64 65 // Full resource name of the external system. The following list 66 // shows some examples: 67 // 68 // + `organizations/1234/sources/5678/findings/123456/externalSystems/jira` 69 // + 70 // `organizations/1234/sources/5678/locations/us/findings/123456/externalSystems/jira` 71 // + `folders/1234/sources/5678/findings/123456/externalSystems/jira` 72 // + 73 // `folders/1234/sources/5678/locations/us/findings/123456/externalSystems/jira` 74 // + `projects/1234/sources/5678/findings/123456/externalSystems/jira` 75 // + 76 // `projects/1234/sources/5678/locations/us/findings/123456/externalSystems/jira` 77 string name = 1; 78 79 // References primary/secondary etc assignees in the external system. 80 repeated string assignees = 2; 81 82 // The identifier that's used to track the finding's corresponding case in the 83 // external system. 84 string external_uid = 3; 85 86 // The most recent status of the finding's corresponding case, as reported by 87 // the external system. 88 string status = 4; 89 90 // The time when the case was last updated, as reported by the external 91 // system. 92 google.protobuf.Timestamp external_system_update_time = 5; 93 94 // The link to the finding's corresponding case in the external system. 95 string case_uri = 6; 96 97 // The priority of the finding's corresponding case in the external system. 98 string case_priority = 7; 99 100 // The SLA of the finding's corresponding case in the external system. 101 google.protobuf.Timestamp case_sla = 9; 102 103 // The time when the case was created, as reported by the external system. 104 google.protobuf.Timestamp case_create_time = 10; 105 106 // The time when the case was closed, as reported by the external system. 107 google.protobuf.Timestamp case_close_time = 11; 108 109 // Information about the ticket, if any, that is being used to track the 110 // resolution of the issue that is identified by this finding. 111 TicketInfo ticket_info = 8; 112} 113