tls.proto 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. // Copyright 2022 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. syntax = "proto3";
  15. package google.cloud.networksecurity.v1;
  16. import "google/api/field_behavior.proto";
  17. option csharp_namespace = "Google.Cloud.NetworkSecurity.V1";
  18. option go_package = "google.golang.org/genproto/googleapis/cloud/networksecurity/v1;networksecurity";
  19. option java_multiple_files = true;
  20. option java_outer_classname = "TlsProto";
  21. option java_package = "com.google.cloud.networksecurity.v1";
  22. option php_namespace = "Google\\Cloud\\NetworkSecurity\\V1";
  23. option ruby_package = "Google::Cloud::NetworkSecurity::V1";
  24. // Specification of the GRPC Endpoint.
  25. message GrpcEndpoint {
  26. // Required. The target URI of the gRPC endpoint. Only UDS path is supported, and
  27. // should start with "unix:".
  28. string target_uri = 1 [(google.api.field_behavior) = REQUIRED];
  29. }
  30. // Specification of ValidationCA. Defines the mechanism to obtain the
  31. // Certificate Authority certificate to validate the peer certificate.
  32. message ValidationCA {
  33. // The type of certificate provider which provides the CA certificate.
  34. oneof type {
  35. // gRPC specific configuration to access the gRPC server to
  36. // obtain the CA certificate.
  37. GrpcEndpoint grpc_endpoint = 2;
  38. // The certificate provider instance specification that will be passed to
  39. // the data plane, which will be used to load necessary credential
  40. // information.
  41. CertificateProviderInstance certificate_provider_instance = 3;
  42. }
  43. }
  44. // Specification of a TLS certificate provider instance. Workloads may have one
  45. // or more CertificateProvider instances (plugins) and one of them is enabled
  46. // and configured by specifying this message. Workloads use the values from this
  47. // message to locate and load the CertificateProvider instance configuration.
  48. message CertificateProviderInstance {
  49. // Required. Plugin instance name, used to locate and load CertificateProvider instance
  50. // configuration. Set to "google_cloud_private_spiffe" to use Certificate
  51. // Authority Service certificate provider instance.
  52. string plugin_instance = 1 [(google.api.field_behavior) = REQUIRED];
  53. }
  54. // Specification of certificate provider. Defines the mechanism to obtain the
  55. // certificate and private key for peer to peer authentication.
  56. message CertificateProvider {
  57. // The type of certificate provider which provides the certificates and
  58. // private keys.
  59. oneof type {
  60. // gRPC specific configuration to access the gRPC server to
  61. // obtain the cert and private key.
  62. GrpcEndpoint grpc_endpoint = 2;
  63. // The certificate provider instance specification that will be passed to
  64. // the data plane, which will be used to load necessary credential
  65. // information.
  66. CertificateProviderInstance certificate_provider_instance = 3;
  67. }
  68. }