google-cloud-confidential_computing-v1 1.6.0 → 2.0.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.
- checksums.yaml +4 -4
- data/lib/google/cloud/confidential_computing/v1/bindings_override.rb +2 -29
- data/lib/google/cloud/confidential_computing/v1/confidential_computing/client.rb +228 -3
- data/lib/google/cloud/confidential_computing/v1/confidential_computing/rest/client.rb +214 -3
- data/lib/google/cloud/confidential_computing/v1/confidential_computing/rest/service_stub.rb +124 -0
- data/lib/google/cloud/confidential_computing/v1/version.rb +1 -1
- data/lib/google/cloud/confidentialcomputing/v1/service_pb.rb +12 -4
- data/lib/google/cloud/confidentialcomputing/v1/service_services_pb.rb +8 -1
- data/proto_docs/google/cloud/confidentialcomputing/v1/service.rb +179 -28
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7fd58f318c59500b031dd3ece5cda1ec95a0d9189c64eb2e8368f17d82a997c5
|
4
|
+
data.tar.gz: f79f32ae873e3b410d130a0bcc020ab8166e1f725ce0ffdc486a217735f5fad8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6adbeeab0d6be5cdd313e68e354cb64350ae7b4388c72d11926ca9d41a060264fb15721a1f1e589d703e55bed6becf9c2dc4426bdf5da4ac4fbc38411299438b
|
7
|
+
data.tar.gz: 9e7ee1d64bc2c25d5762691368c850ea4a4b38095dc74c911fcac6c2cbb7002cf751363b2e7ebddd42a2ef41bb87656c6a57b99f7594b2854f736b763c929c27
|
@@ -16,7 +16,7 @@
|
|
16
16
|
|
17
17
|
# Auto-generated by gapic-generator-ruby. DO NOT EDIT!
|
18
18
|
|
19
|
-
require "gapic/
|
19
|
+
require "gapic/rest"
|
20
20
|
|
21
21
|
module Google
|
22
22
|
module Cloud
|
@@ -42,7 +42,7 @@ module Google
|
|
42
42
|
namespace.pop
|
43
43
|
end
|
44
44
|
|
45
|
-
default_config =
|
45
|
+
default_config = ::Gapic::Rest::HttpBindingOverrideConfiguration.new parent_config
|
46
46
|
default_config.bindings_override["google.cloud.location.Locations.GetLocation"] = [
|
47
47
|
Gapic::Rest::GrpcTranscoder::HttpBinding.create_with_validation(
|
48
48
|
uri_method: :get,
|
@@ -69,33 +69,6 @@ module Google
|
|
69
69
|
yield @configure if block_given?
|
70
70
|
@configure
|
71
71
|
end
|
72
|
-
|
73
|
-
##
|
74
|
-
# @private
|
75
|
-
# Configuration class for the google.cloud.confidentialcomputing.v1 package.
|
76
|
-
#
|
77
|
-
# This class contains common configuration for all services
|
78
|
-
# of the google.cloud.confidentialcomputing.v1 package.
|
79
|
-
#
|
80
|
-
# This configuration is for internal use of the client library classes,
|
81
|
-
# and it is not intended that the end-users will read or change it.
|
82
|
-
#
|
83
|
-
class Configuration
|
84
|
-
extend ::Gapic::Config
|
85
|
-
|
86
|
-
# @private
|
87
|
-
# Overrides for http bindings for the RPC of the mixins for this package.
|
88
|
-
# Services in this package should use these when creating clients for the mixin services.
|
89
|
-
# @return [::Hash{::Symbol=>::Array<::Gapic::Rest::GrpcTranscoder::HttpBinding>}]
|
90
|
-
config_attr :bindings_override, {}, ::Hash, nil
|
91
|
-
|
92
|
-
# @private
|
93
|
-
def initialize parent_config = nil
|
94
|
-
@parent_config = parent_config unless parent_config.nil?
|
95
|
-
|
96
|
-
yield self if block_given?
|
97
|
-
end
|
98
|
-
end
|
99
72
|
end
|
100
73
|
end
|
101
74
|
end
|
@@ -83,6 +83,16 @@ module Google
|
|
83
83
|
initial_delay: 1.0, max_delay: 60.0, multiplier: 1.3, retry_codes: [14]
|
84
84
|
}
|
85
85
|
|
86
|
+
default_config.rpcs.verify_confidential_space.timeout = 60.0
|
87
|
+
default_config.rpcs.verify_confidential_space.retry_policy = {
|
88
|
+
initial_delay: 1.0, max_delay: 60.0, multiplier: 1.3, retry_codes: [14]
|
89
|
+
}
|
90
|
+
|
91
|
+
default_config.rpcs.verify_confidential_gke.timeout = 60.0
|
92
|
+
default_config.rpcs.verify_confidential_gke.retry_policy = {
|
93
|
+
initial_delay: 1.0, max_delay: 60.0, multiplier: 1.3, retry_codes: [14]
|
94
|
+
}
|
95
|
+
|
86
96
|
default_config
|
87
97
|
end
|
88
98
|
yield @configure if block_given?
|
@@ -301,7 +311,8 @@ module Google
|
|
301
311
|
end
|
302
312
|
|
303
313
|
##
|
304
|
-
# Verifies the provided attestation info, returning a signed
|
314
|
+
# Verifies the provided attestation info, returning a signed attestation
|
315
|
+
# token.
|
305
316
|
#
|
306
317
|
# @overload verify_attestation(request, options = nil)
|
307
318
|
# Pass arguments to `verify_attestation` via a request object, either of type
|
@@ -321,11 +332,11 @@ module Google
|
|
321
332
|
# @param td_ccel [::Google::Cloud::ConfidentialComputing::V1::TdxCcelAttestation, ::Hash]
|
322
333
|
# Optional. A TDX with CCEL and RTMR Attestation Quote.
|
323
334
|
#
|
324
|
-
# Note: The following
|
335
|
+
# Note: The following parameters are mutually exclusive: `td_ccel`, `sev_snp_attestation`. At most one of these parameters can be set. If more than one is set, only one will be used, and it is not defined which one.
|
325
336
|
# @param sev_snp_attestation [::Google::Cloud::ConfidentialComputing::V1::SevSnpAttestation, ::Hash]
|
326
337
|
# Optional. An SEV-SNP Attestation Report.
|
327
338
|
#
|
328
|
-
# Note: The following
|
339
|
+
# Note: The following parameters are mutually exclusive: `sev_snp_attestation`, `td_ccel`. At most one of these parameters can be set. If more than one is set, only one will be used, and it is not defined which one.
|
329
340
|
# @param challenge [::String]
|
330
341
|
# Required. The name of the Challenge whose nonce was used to generate the
|
331
342
|
# attestation, in the format `projects/*/locations/*/challenges/*`. The
|
@@ -409,6 +420,206 @@ module Google
|
|
409
420
|
raise ::Google::Cloud::Error.from_error(e)
|
410
421
|
end
|
411
422
|
|
423
|
+
##
|
424
|
+
# Verifies whether the provided attestation info is valid, returning a signed
|
425
|
+
# attestation token if so.
|
426
|
+
#
|
427
|
+
# @overload verify_confidential_space(request, options = nil)
|
428
|
+
# Pass arguments to `verify_confidential_space` via a request object, either of type
|
429
|
+
# {::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialSpaceRequest} or an equivalent Hash.
|
430
|
+
#
|
431
|
+
# @param request [::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialSpaceRequest, ::Hash]
|
432
|
+
# A request object representing the call parameters. Required. To specify no
|
433
|
+
# parameters, or to keep all the default parameter values, pass an empty Hash.
|
434
|
+
# @param options [::Gapic::CallOptions, ::Hash]
|
435
|
+
# Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
|
436
|
+
#
|
437
|
+
# @overload verify_confidential_space(td_ccel: nil, tpm_attestation: nil, challenge: nil, gcp_credentials: nil, signed_entities: nil, gce_shielded_identity: nil, options: nil)
|
438
|
+
# Pass arguments to `verify_confidential_space` via keyword arguments. Note that at
|
439
|
+
# least one keyword argument is required. To specify no parameters, or to keep all
|
440
|
+
# the default parameter values, pass an empty Hash as a request object (see above).
|
441
|
+
#
|
442
|
+
# @param td_ccel [::Google::Cloud::ConfidentialComputing::V1::TdxCcelAttestation, ::Hash]
|
443
|
+
# Input only. A TDX with CCEL and RTMR Attestation Quote.
|
444
|
+
#
|
445
|
+
# Note: The following parameters are mutually exclusive: `td_ccel`, `tpm_attestation`. At most one of these parameters can be set. If more than one is set, only one will be used, and it is not defined which one.
|
446
|
+
# @param tpm_attestation [::Google::Cloud::ConfidentialComputing::V1::TpmAttestation, ::Hash]
|
447
|
+
# Input only. The TPM-specific data provided by the attesting platform,
|
448
|
+
# used to populate any of the claims regarding platform state.
|
449
|
+
#
|
450
|
+
# Note: The following parameters are mutually exclusive: `tpm_attestation`, `td_ccel`. At most one of these parameters can be set. If more than one is set, only one will be used, and it is not defined which one.
|
451
|
+
# @param challenge [::String]
|
452
|
+
# Required. The name of the Challenge whose nonce was used to generate the
|
453
|
+
# attestation, in the format `projects/*/locations/*/challenges/*`. The
|
454
|
+
# provided Challenge will be consumed, and cannot be used again.
|
455
|
+
# @param gcp_credentials [::Google::Cloud::ConfidentialComputing::V1::GcpCredentials, ::Hash]
|
456
|
+
# Optional. Credentials used to populate the "emails" claim in the
|
457
|
+
# claims_token. If not present, token will not contain the "emails" claim.
|
458
|
+
# @param signed_entities [::Array<::Google::Cloud::ConfidentialComputing::V1::SignedEntity, ::Hash>]
|
459
|
+
# Optional. A list of signed entities containing container image signatures
|
460
|
+
# that can be used for server-side signature verification.
|
461
|
+
# @param gce_shielded_identity [::Google::Cloud::ConfidentialComputing::V1::GceShieldedIdentity, ::Hash]
|
462
|
+
# Optional. Information about the associated Compute Engine instance.
|
463
|
+
# Required for td_ccel requests only - tpm_attestation requests will provide
|
464
|
+
# this information in the attestation.
|
465
|
+
# @param options [::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialSpaceRequest::ConfidentialSpaceOptions, ::Hash]
|
466
|
+
# Optional. A collection of fields that modify the token output.
|
467
|
+
#
|
468
|
+
# @yield [response, operation] Access the result along with the RPC operation
|
469
|
+
# @yieldparam response [::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialSpaceResponse]
|
470
|
+
# @yieldparam operation [::GRPC::ActiveCall::Operation]
|
471
|
+
#
|
472
|
+
# @return [::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialSpaceResponse]
|
473
|
+
#
|
474
|
+
# @raise [::Google::Cloud::Error] if the RPC is aborted.
|
475
|
+
#
|
476
|
+
# @example Basic example
|
477
|
+
# require "google/cloud/confidential_computing/v1"
|
478
|
+
#
|
479
|
+
# # Create a client object. The client can be reused for multiple calls.
|
480
|
+
# client = Google::Cloud::ConfidentialComputing::V1::ConfidentialComputing::Client.new
|
481
|
+
#
|
482
|
+
# # Create a request. To set request fields, pass in keyword arguments.
|
483
|
+
# request = Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialSpaceRequest.new
|
484
|
+
#
|
485
|
+
# # Call the verify_confidential_space method.
|
486
|
+
# result = client.verify_confidential_space request
|
487
|
+
#
|
488
|
+
# # The returned object is of type Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialSpaceResponse.
|
489
|
+
# p result
|
490
|
+
#
|
491
|
+
def verify_confidential_space request, options = nil
|
492
|
+
raise ::ArgumentError, "request must be provided" if request.nil?
|
493
|
+
|
494
|
+
request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialSpaceRequest
|
495
|
+
|
496
|
+
# Converts hash and nil to an options object
|
497
|
+
options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
|
498
|
+
|
499
|
+
# Customize the options with defaults
|
500
|
+
metadata = @config.rpcs.verify_confidential_space.metadata.to_h
|
501
|
+
|
502
|
+
# Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
|
503
|
+
metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
|
504
|
+
lib_name: @config.lib_name, lib_version: @config.lib_version,
|
505
|
+
gapic_version: ::Google::Cloud::ConfidentialComputing::V1::VERSION
|
506
|
+
metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
|
507
|
+
metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
|
508
|
+
|
509
|
+
header_params = {}
|
510
|
+
if request.challenge
|
511
|
+
header_params["challenge"] = request.challenge
|
512
|
+
end
|
513
|
+
|
514
|
+
request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
|
515
|
+
metadata[:"x-goog-request-params"] ||= request_params_header
|
516
|
+
|
517
|
+
options.apply_defaults timeout: @config.rpcs.verify_confidential_space.timeout,
|
518
|
+
metadata: metadata,
|
519
|
+
retry_policy: @config.rpcs.verify_confidential_space.retry_policy
|
520
|
+
|
521
|
+
options.apply_defaults timeout: @config.timeout,
|
522
|
+
metadata: @config.metadata,
|
523
|
+
retry_policy: @config.retry_policy
|
524
|
+
|
525
|
+
@confidential_computing_stub.call_rpc :verify_confidential_space, request, options: options do |response, operation|
|
526
|
+
yield response, operation if block_given?
|
527
|
+
end
|
528
|
+
rescue ::GRPC::BadStatus => e
|
529
|
+
raise ::Google::Cloud::Error.from_error(e)
|
530
|
+
end
|
531
|
+
|
532
|
+
##
|
533
|
+
# Verifies the provided Confidential GKE attestation info, returning a signed
|
534
|
+
# OIDC token.
|
535
|
+
#
|
536
|
+
# @overload verify_confidential_gke(request, options = nil)
|
537
|
+
# Pass arguments to `verify_confidential_gke` via a request object, either of type
|
538
|
+
# {::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialGkeRequest} or an equivalent Hash.
|
539
|
+
#
|
540
|
+
# @param request [::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialGkeRequest, ::Hash]
|
541
|
+
# A request object representing the call parameters. Required. To specify no
|
542
|
+
# parameters, or to keep all the default parameter values, pass an empty Hash.
|
543
|
+
# @param options [::Gapic::CallOptions, ::Hash]
|
544
|
+
# Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
|
545
|
+
#
|
546
|
+
# @overload verify_confidential_gke(tpm_attestation: nil, challenge: nil)
|
547
|
+
# Pass arguments to `verify_confidential_gke` via keyword arguments. Note that at
|
548
|
+
# least one keyword argument is required. To specify no parameters, or to keep all
|
549
|
+
# the default parameter values, pass an empty Hash as a request object (see above).
|
550
|
+
#
|
551
|
+
# @param tpm_attestation [::Google::Cloud::ConfidentialComputing::V1::TpmAttestation, ::Hash]
|
552
|
+
# The TPM-specific data provided by the attesting platform, used to
|
553
|
+
# populate any of the claims regarding platform state.
|
554
|
+
# @param challenge [::String]
|
555
|
+
# Required. The name of the Challenge whose nonce was used to generate the
|
556
|
+
# attestation, in the format projects/*/locations/*/challenges/*. The
|
557
|
+
# provided Challenge will be consumed, and cannot be used again.
|
558
|
+
#
|
559
|
+
# @yield [response, operation] Access the result along with the RPC operation
|
560
|
+
# @yieldparam response [::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialGkeResponse]
|
561
|
+
# @yieldparam operation [::GRPC::ActiveCall::Operation]
|
562
|
+
#
|
563
|
+
# @return [::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialGkeResponse]
|
564
|
+
#
|
565
|
+
# @raise [::Google::Cloud::Error] if the RPC is aborted.
|
566
|
+
#
|
567
|
+
# @example Basic example
|
568
|
+
# require "google/cloud/confidential_computing/v1"
|
569
|
+
#
|
570
|
+
# # Create a client object. The client can be reused for multiple calls.
|
571
|
+
# client = Google::Cloud::ConfidentialComputing::V1::ConfidentialComputing::Client.new
|
572
|
+
#
|
573
|
+
# # Create a request. To set request fields, pass in keyword arguments.
|
574
|
+
# request = Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialGkeRequest.new
|
575
|
+
#
|
576
|
+
# # Call the verify_confidential_gke method.
|
577
|
+
# result = client.verify_confidential_gke request
|
578
|
+
#
|
579
|
+
# # The returned object is of type Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialGkeResponse.
|
580
|
+
# p result
|
581
|
+
#
|
582
|
+
def verify_confidential_gke request, options = nil
|
583
|
+
raise ::ArgumentError, "request must be provided" if request.nil?
|
584
|
+
|
585
|
+
request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialGkeRequest
|
586
|
+
|
587
|
+
# Converts hash and nil to an options object
|
588
|
+
options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
|
589
|
+
|
590
|
+
# Customize the options with defaults
|
591
|
+
metadata = @config.rpcs.verify_confidential_gke.metadata.to_h
|
592
|
+
|
593
|
+
# Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
|
594
|
+
metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
|
595
|
+
lib_name: @config.lib_name, lib_version: @config.lib_version,
|
596
|
+
gapic_version: ::Google::Cloud::ConfidentialComputing::V1::VERSION
|
597
|
+
metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
|
598
|
+
metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
|
599
|
+
|
600
|
+
header_params = {}
|
601
|
+
if request.challenge
|
602
|
+
header_params["challenge"] = request.challenge
|
603
|
+
end
|
604
|
+
|
605
|
+
request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
|
606
|
+
metadata[:"x-goog-request-params"] ||= request_params_header
|
607
|
+
|
608
|
+
options.apply_defaults timeout: @config.rpcs.verify_confidential_gke.timeout,
|
609
|
+
metadata: metadata,
|
610
|
+
retry_policy: @config.rpcs.verify_confidential_gke.retry_policy
|
611
|
+
|
612
|
+
options.apply_defaults timeout: @config.timeout,
|
613
|
+
metadata: @config.metadata,
|
614
|
+
retry_policy: @config.retry_policy
|
615
|
+
|
616
|
+
@confidential_computing_stub.call_rpc :verify_confidential_gke, request, options: options do |response, operation|
|
617
|
+
yield response, operation if block_given?
|
618
|
+
end
|
619
|
+
rescue ::GRPC::BadStatus => e
|
620
|
+
raise ::Google::Cloud::Error.from_error(e)
|
621
|
+
end
|
622
|
+
|
412
623
|
##
|
413
624
|
# Configuration class for the ConfidentialComputing API.
|
414
625
|
#
|
@@ -585,6 +796,16 @@ module Google
|
|
585
796
|
# @return [::Gapic::Config::Method]
|
586
797
|
#
|
587
798
|
attr_reader :verify_attestation
|
799
|
+
##
|
800
|
+
# RPC-specific configuration for `verify_confidential_space`
|
801
|
+
# @return [::Gapic::Config::Method]
|
802
|
+
#
|
803
|
+
attr_reader :verify_confidential_space
|
804
|
+
##
|
805
|
+
# RPC-specific configuration for `verify_confidential_gke`
|
806
|
+
# @return [::Gapic::Config::Method]
|
807
|
+
#
|
808
|
+
attr_reader :verify_confidential_gke
|
588
809
|
|
589
810
|
# @private
|
590
811
|
def initialize parent_rpcs = nil
|
@@ -592,6 +813,10 @@ module Google
|
|
592
813
|
@create_challenge = ::Gapic::Config::Method.new create_challenge_config
|
593
814
|
verify_attestation_config = parent_rpcs.verify_attestation if parent_rpcs.respond_to? :verify_attestation
|
594
815
|
@verify_attestation = ::Gapic::Config::Method.new verify_attestation_config
|
816
|
+
verify_confidential_space_config = parent_rpcs.verify_confidential_space if parent_rpcs.respond_to? :verify_confidential_space
|
817
|
+
@verify_confidential_space = ::Gapic::Config::Method.new verify_confidential_space_config
|
818
|
+
verify_confidential_gke_config = parent_rpcs.verify_confidential_gke if parent_rpcs.respond_to? :verify_confidential_gke
|
819
|
+
@verify_confidential_gke = ::Gapic::Config::Method.new verify_confidential_gke_config
|
595
820
|
|
596
821
|
yield self if block_given?
|
597
822
|
end
|
@@ -85,6 +85,16 @@ module Google
|
|
85
85
|
initial_delay: 1.0, max_delay: 60.0, multiplier: 1.3, retry_codes: [14]
|
86
86
|
}
|
87
87
|
|
88
|
+
default_config.rpcs.verify_confidential_space.timeout = 60.0
|
89
|
+
default_config.rpcs.verify_confidential_space.retry_policy = {
|
90
|
+
initial_delay: 1.0, max_delay: 60.0, multiplier: 1.3, retry_codes: [14]
|
91
|
+
}
|
92
|
+
|
93
|
+
default_config.rpcs.verify_confidential_gke.timeout = 60.0
|
94
|
+
default_config.rpcs.verify_confidential_gke.retry_policy = {
|
95
|
+
initial_delay: 1.0, max_delay: 60.0, multiplier: 1.3, retry_codes: [14]
|
96
|
+
}
|
97
|
+
|
88
98
|
default_config
|
89
99
|
end
|
90
100
|
yield @configure if block_given?
|
@@ -288,7 +298,8 @@ module Google
|
|
288
298
|
end
|
289
299
|
|
290
300
|
##
|
291
|
-
# Verifies the provided attestation info, returning a signed
|
301
|
+
# Verifies the provided attestation info, returning a signed attestation
|
302
|
+
# token.
|
292
303
|
#
|
293
304
|
# @overload verify_attestation(request, options = nil)
|
294
305
|
# Pass arguments to `verify_attestation` via a request object, either of type
|
@@ -308,11 +319,11 @@ module Google
|
|
308
319
|
# @param td_ccel [::Google::Cloud::ConfidentialComputing::V1::TdxCcelAttestation, ::Hash]
|
309
320
|
# Optional. A TDX with CCEL and RTMR Attestation Quote.
|
310
321
|
#
|
311
|
-
# Note: The following
|
322
|
+
# Note: The following parameters are mutually exclusive: `td_ccel`, `sev_snp_attestation`. At most one of these parameters can be set. If more than one is set, only one will be used, and it is not defined which one.
|
312
323
|
# @param sev_snp_attestation [::Google::Cloud::ConfidentialComputing::V1::SevSnpAttestation, ::Hash]
|
313
324
|
# Optional. An SEV-SNP Attestation Report.
|
314
325
|
#
|
315
|
-
# Note: The following
|
326
|
+
# Note: The following parameters are mutually exclusive: `sev_snp_attestation`, `td_ccel`. At most one of these parameters can be set. If more than one is set, only one will be used, and it is not defined which one.
|
316
327
|
# @param challenge [::String]
|
317
328
|
# Required. The name of the Challenge whose nonce was used to generate the
|
318
329
|
# attestation, in the format `projects/*/locations/*/challenges/*`. The
|
@@ -389,6 +400,192 @@ module Google
|
|
389
400
|
raise ::Google::Cloud::Error.from_error(e)
|
390
401
|
end
|
391
402
|
|
403
|
+
##
|
404
|
+
# Verifies whether the provided attestation info is valid, returning a signed
|
405
|
+
# attestation token if so.
|
406
|
+
#
|
407
|
+
# @overload verify_confidential_space(request, options = nil)
|
408
|
+
# Pass arguments to `verify_confidential_space` via a request object, either of type
|
409
|
+
# {::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialSpaceRequest} or an equivalent Hash.
|
410
|
+
#
|
411
|
+
# @param request [::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialSpaceRequest, ::Hash]
|
412
|
+
# A request object representing the call parameters. Required. To specify no
|
413
|
+
# parameters, or to keep all the default parameter values, pass an empty Hash.
|
414
|
+
# @param options [::Gapic::CallOptions, ::Hash]
|
415
|
+
# Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
|
416
|
+
#
|
417
|
+
# @overload verify_confidential_space(td_ccel: nil, tpm_attestation: nil, challenge: nil, gcp_credentials: nil, signed_entities: nil, gce_shielded_identity: nil, options: nil)
|
418
|
+
# Pass arguments to `verify_confidential_space` via keyword arguments. Note that at
|
419
|
+
# least one keyword argument is required. To specify no parameters, or to keep all
|
420
|
+
# the default parameter values, pass an empty Hash as a request object (see above).
|
421
|
+
#
|
422
|
+
# @param td_ccel [::Google::Cloud::ConfidentialComputing::V1::TdxCcelAttestation, ::Hash]
|
423
|
+
# Input only. A TDX with CCEL and RTMR Attestation Quote.
|
424
|
+
#
|
425
|
+
# Note: The following parameters are mutually exclusive: `td_ccel`, `tpm_attestation`. At most one of these parameters can be set. If more than one is set, only one will be used, and it is not defined which one.
|
426
|
+
# @param tpm_attestation [::Google::Cloud::ConfidentialComputing::V1::TpmAttestation, ::Hash]
|
427
|
+
# Input only. The TPM-specific data provided by the attesting platform,
|
428
|
+
# used to populate any of the claims regarding platform state.
|
429
|
+
#
|
430
|
+
# Note: The following parameters are mutually exclusive: `tpm_attestation`, `td_ccel`. At most one of these parameters can be set. If more than one is set, only one will be used, and it is not defined which one.
|
431
|
+
# @param challenge [::String]
|
432
|
+
# Required. The name of the Challenge whose nonce was used to generate the
|
433
|
+
# attestation, in the format `projects/*/locations/*/challenges/*`. The
|
434
|
+
# provided Challenge will be consumed, and cannot be used again.
|
435
|
+
# @param gcp_credentials [::Google::Cloud::ConfidentialComputing::V1::GcpCredentials, ::Hash]
|
436
|
+
# Optional. Credentials used to populate the "emails" claim in the
|
437
|
+
# claims_token. If not present, token will not contain the "emails" claim.
|
438
|
+
# @param signed_entities [::Array<::Google::Cloud::ConfidentialComputing::V1::SignedEntity, ::Hash>]
|
439
|
+
# Optional. A list of signed entities containing container image signatures
|
440
|
+
# that can be used for server-side signature verification.
|
441
|
+
# @param gce_shielded_identity [::Google::Cloud::ConfidentialComputing::V1::GceShieldedIdentity, ::Hash]
|
442
|
+
# Optional. Information about the associated Compute Engine instance.
|
443
|
+
# Required for td_ccel requests only - tpm_attestation requests will provide
|
444
|
+
# this information in the attestation.
|
445
|
+
# @param options [::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialSpaceRequest::ConfidentialSpaceOptions, ::Hash]
|
446
|
+
# Optional. A collection of fields that modify the token output.
|
447
|
+
# @yield [result, operation] Access the result along with the TransportOperation object
|
448
|
+
# @yieldparam result [::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialSpaceResponse]
|
449
|
+
# @yieldparam operation [::Gapic::Rest::TransportOperation]
|
450
|
+
#
|
451
|
+
# @return [::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialSpaceResponse]
|
452
|
+
#
|
453
|
+
# @raise [::Google::Cloud::Error] if the REST call is aborted.
|
454
|
+
#
|
455
|
+
# @example Basic example
|
456
|
+
# require "google/cloud/confidential_computing/v1"
|
457
|
+
#
|
458
|
+
# # Create a client object. The client can be reused for multiple calls.
|
459
|
+
# client = Google::Cloud::ConfidentialComputing::V1::ConfidentialComputing::Rest::Client.new
|
460
|
+
#
|
461
|
+
# # Create a request. To set request fields, pass in keyword arguments.
|
462
|
+
# request = Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialSpaceRequest.new
|
463
|
+
#
|
464
|
+
# # Call the verify_confidential_space method.
|
465
|
+
# result = client.verify_confidential_space request
|
466
|
+
#
|
467
|
+
# # The returned object is of type Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialSpaceResponse.
|
468
|
+
# p result
|
469
|
+
#
|
470
|
+
def verify_confidential_space request, options = nil
|
471
|
+
raise ::ArgumentError, "request must be provided" if request.nil?
|
472
|
+
|
473
|
+
request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialSpaceRequest
|
474
|
+
|
475
|
+
# Converts hash and nil to an options object
|
476
|
+
options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
|
477
|
+
|
478
|
+
# Customize the options with defaults
|
479
|
+
call_metadata = @config.rpcs.verify_confidential_space.metadata.to_h
|
480
|
+
|
481
|
+
# Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
|
482
|
+
call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
|
483
|
+
lib_name: @config.lib_name, lib_version: @config.lib_version,
|
484
|
+
gapic_version: ::Google::Cloud::ConfidentialComputing::V1::VERSION,
|
485
|
+
transports_version_send: [:rest]
|
486
|
+
|
487
|
+
call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
|
488
|
+
call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
|
489
|
+
|
490
|
+
options.apply_defaults timeout: @config.rpcs.verify_confidential_space.timeout,
|
491
|
+
metadata: call_metadata,
|
492
|
+
retry_policy: @config.rpcs.verify_confidential_space.retry_policy
|
493
|
+
|
494
|
+
options.apply_defaults timeout: @config.timeout,
|
495
|
+
metadata: @config.metadata,
|
496
|
+
retry_policy: @config.retry_policy
|
497
|
+
|
498
|
+
@confidential_computing_stub.verify_confidential_space request, options do |result, operation|
|
499
|
+
yield result, operation if block_given?
|
500
|
+
end
|
501
|
+
rescue ::Gapic::Rest::Error => e
|
502
|
+
raise ::Google::Cloud::Error.from_error(e)
|
503
|
+
end
|
504
|
+
|
505
|
+
##
|
506
|
+
# Verifies the provided Confidential GKE attestation info, returning a signed
|
507
|
+
# OIDC token.
|
508
|
+
#
|
509
|
+
# @overload verify_confidential_gke(request, options = nil)
|
510
|
+
# Pass arguments to `verify_confidential_gke` via a request object, either of type
|
511
|
+
# {::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialGkeRequest} or an equivalent Hash.
|
512
|
+
#
|
513
|
+
# @param request [::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialGkeRequest, ::Hash]
|
514
|
+
# A request object representing the call parameters. Required. To specify no
|
515
|
+
# parameters, or to keep all the default parameter values, pass an empty Hash.
|
516
|
+
# @param options [::Gapic::CallOptions, ::Hash]
|
517
|
+
# Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
|
518
|
+
#
|
519
|
+
# @overload verify_confidential_gke(tpm_attestation: nil, challenge: nil)
|
520
|
+
# Pass arguments to `verify_confidential_gke` via keyword arguments. Note that at
|
521
|
+
# least one keyword argument is required. To specify no parameters, or to keep all
|
522
|
+
# the default parameter values, pass an empty Hash as a request object (see above).
|
523
|
+
#
|
524
|
+
# @param tpm_attestation [::Google::Cloud::ConfidentialComputing::V1::TpmAttestation, ::Hash]
|
525
|
+
# The TPM-specific data provided by the attesting platform, used to
|
526
|
+
# populate any of the claims regarding platform state.
|
527
|
+
# @param challenge [::String]
|
528
|
+
# Required. The name of the Challenge whose nonce was used to generate the
|
529
|
+
# attestation, in the format projects/*/locations/*/challenges/*. The
|
530
|
+
# provided Challenge will be consumed, and cannot be used again.
|
531
|
+
# @yield [result, operation] Access the result along with the TransportOperation object
|
532
|
+
# @yieldparam result [::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialGkeResponse]
|
533
|
+
# @yieldparam operation [::Gapic::Rest::TransportOperation]
|
534
|
+
#
|
535
|
+
# @return [::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialGkeResponse]
|
536
|
+
#
|
537
|
+
# @raise [::Google::Cloud::Error] if the REST call is aborted.
|
538
|
+
#
|
539
|
+
# @example Basic example
|
540
|
+
# require "google/cloud/confidential_computing/v1"
|
541
|
+
#
|
542
|
+
# # Create a client object. The client can be reused for multiple calls.
|
543
|
+
# client = Google::Cloud::ConfidentialComputing::V1::ConfidentialComputing::Rest::Client.new
|
544
|
+
#
|
545
|
+
# # Create a request. To set request fields, pass in keyword arguments.
|
546
|
+
# request = Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialGkeRequest.new
|
547
|
+
#
|
548
|
+
# # Call the verify_confidential_gke method.
|
549
|
+
# result = client.verify_confidential_gke request
|
550
|
+
#
|
551
|
+
# # The returned object is of type Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialGkeResponse.
|
552
|
+
# p result
|
553
|
+
#
|
554
|
+
def verify_confidential_gke request, options = nil
|
555
|
+
raise ::ArgumentError, "request must be provided" if request.nil?
|
556
|
+
|
557
|
+
request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialGkeRequest
|
558
|
+
|
559
|
+
# Converts hash and nil to an options object
|
560
|
+
options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
|
561
|
+
|
562
|
+
# Customize the options with defaults
|
563
|
+
call_metadata = @config.rpcs.verify_confidential_gke.metadata.to_h
|
564
|
+
|
565
|
+
# Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
|
566
|
+
call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
|
567
|
+
lib_name: @config.lib_name, lib_version: @config.lib_version,
|
568
|
+
gapic_version: ::Google::Cloud::ConfidentialComputing::V1::VERSION,
|
569
|
+
transports_version_send: [:rest]
|
570
|
+
|
571
|
+
call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
|
572
|
+
call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
|
573
|
+
|
574
|
+
options.apply_defaults timeout: @config.rpcs.verify_confidential_gke.timeout,
|
575
|
+
metadata: call_metadata,
|
576
|
+
retry_policy: @config.rpcs.verify_confidential_gke.retry_policy
|
577
|
+
|
578
|
+
options.apply_defaults timeout: @config.timeout,
|
579
|
+
metadata: @config.metadata,
|
580
|
+
retry_policy: @config.retry_policy
|
581
|
+
|
582
|
+
@confidential_computing_stub.verify_confidential_gke request, options do |result, operation|
|
583
|
+
yield result, operation if block_given?
|
584
|
+
end
|
585
|
+
rescue ::Gapic::Rest::Error => e
|
586
|
+
raise ::Google::Cloud::Error.from_error(e)
|
587
|
+
end
|
588
|
+
|
392
589
|
##
|
393
590
|
# Configuration class for the ConfidentialComputing REST API.
|
394
591
|
#
|
@@ -552,6 +749,16 @@ module Google
|
|
552
749
|
# @return [::Gapic::Config::Method]
|
553
750
|
#
|
554
751
|
attr_reader :verify_attestation
|
752
|
+
##
|
753
|
+
# RPC-specific configuration for `verify_confidential_space`
|
754
|
+
# @return [::Gapic::Config::Method]
|
755
|
+
#
|
756
|
+
attr_reader :verify_confidential_space
|
757
|
+
##
|
758
|
+
# RPC-specific configuration for `verify_confidential_gke`
|
759
|
+
# @return [::Gapic::Config::Method]
|
760
|
+
#
|
761
|
+
attr_reader :verify_confidential_gke
|
555
762
|
|
556
763
|
# @private
|
557
764
|
def initialize parent_rpcs = nil
|
@@ -559,6 +766,10 @@ module Google
|
|
559
766
|
@create_challenge = ::Gapic::Config::Method.new create_challenge_config
|
560
767
|
verify_attestation_config = parent_rpcs.verify_attestation if parent_rpcs.respond_to? :verify_attestation
|
561
768
|
@verify_attestation = ::Gapic::Config::Method.new verify_attestation_config
|
769
|
+
verify_confidential_space_config = parent_rpcs.verify_confidential_space if parent_rpcs.respond_to? :verify_confidential_space
|
770
|
+
@verify_confidential_space = ::Gapic::Config::Method.new verify_confidential_space_config
|
771
|
+
verify_confidential_gke_config = parent_rpcs.verify_confidential_gke if parent_rpcs.respond_to? :verify_confidential_gke
|
772
|
+
@verify_confidential_gke = ::Gapic::Config::Method.new verify_confidential_gke_config
|
562
773
|
|
563
774
|
yield self if block_given?
|
564
775
|
end
|
@@ -153,6 +153,86 @@ module Google
|
|
153
153
|
end
|
154
154
|
end
|
155
155
|
|
156
|
+
##
|
157
|
+
# Baseline implementation for the verify_confidential_space REST call
|
158
|
+
#
|
159
|
+
# @param request_pb [::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialSpaceRequest]
|
160
|
+
# A request object representing the call parameters. Required.
|
161
|
+
# @param options [::Gapic::CallOptions]
|
162
|
+
# Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
|
163
|
+
#
|
164
|
+
# @yield [result, operation] Access the result along with the TransportOperation object
|
165
|
+
# @yieldparam result [::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialSpaceResponse]
|
166
|
+
# @yieldparam operation [::Gapic::Rest::TransportOperation]
|
167
|
+
#
|
168
|
+
# @return [::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialSpaceResponse]
|
169
|
+
# A result object deserialized from the server's reply
|
170
|
+
def verify_confidential_space request_pb, options = nil
|
171
|
+
raise ::ArgumentError, "request must be provided" if request_pb.nil?
|
172
|
+
|
173
|
+
verb, uri, query_string_params, body = ServiceStub.transcode_verify_confidential_space_request request_pb
|
174
|
+
query_string_params = if query_string_params.any?
|
175
|
+
query_string_params.to_h { |p| p.split "=", 2 }
|
176
|
+
else
|
177
|
+
{}
|
178
|
+
end
|
179
|
+
|
180
|
+
response = @client_stub.make_http_request(
|
181
|
+
verb,
|
182
|
+
uri: uri,
|
183
|
+
body: body || "",
|
184
|
+
params: query_string_params,
|
185
|
+
method_name: "verify_confidential_space",
|
186
|
+
options: options
|
187
|
+
)
|
188
|
+
operation = ::Gapic::Rest::TransportOperation.new response
|
189
|
+
result = ::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialSpaceResponse.decode_json response.body, ignore_unknown_fields: true
|
190
|
+
catch :response do
|
191
|
+
yield result, operation if block_given?
|
192
|
+
result
|
193
|
+
end
|
194
|
+
end
|
195
|
+
|
196
|
+
##
|
197
|
+
# Baseline implementation for the verify_confidential_gke REST call
|
198
|
+
#
|
199
|
+
# @param request_pb [::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialGkeRequest]
|
200
|
+
# A request object representing the call parameters. Required.
|
201
|
+
# @param options [::Gapic::CallOptions]
|
202
|
+
# Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
|
203
|
+
#
|
204
|
+
# @yield [result, operation] Access the result along with the TransportOperation object
|
205
|
+
# @yieldparam result [::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialGkeResponse]
|
206
|
+
# @yieldparam operation [::Gapic::Rest::TransportOperation]
|
207
|
+
#
|
208
|
+
# @return [::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialGkeResponse]
|
209
|
+
# A result object deserialized from the server's reply
|
210
|
+
def verify_confidential_gke request_pb, options = nil
|
211
|
+
raise ::ArgumentError, "request must be provided" if request_pb.nil?
|
212
|
+
|
213
|
+
verb, uri, query_string_params, body = ServiceStub.transcode_verify_confidential_gke_request request_pb
|
214
|
+
query_string_params = if query_string_params.any?
|
215
|
+
query_string_params.to_h { |p| p.split "=", 2 }
|
216
|
+
else
|
217
|
+
{}
|
218
|
+
end
|
219
|
+
|
220
|
+
response = @client_stub.make_http_request(
|
221
|
+
verb,
|
222
|
+
uri: uri,
|
223
|
+
body: body || "",
|
224
|
+
params: query_string_params,
|
225
|
+
method_name: "verify_confidential_gke",
|
226
|
+
options: options
|
227
|
+
)
|
228
|
+
operation = ::Gapic::Rest::TransportOperation.new response
|
229
|
+
result = ::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialGkeResponse.decode_json response.body, ignore_unknown_fields: true
|
230
|
+
catch :response do
|
231
|
+
yield result, operation if block_given?
|
232
|
+
result
|
233
|
+
end
|
234
|
+
end
|
235
|
+
|
156
236
|
##
|
157
237
|
# @private
|
158
238
|
#
|
@@ -196,6 +276,50 @@ module Google
|
|
196
276
|
)
|
197
277
|
transcoder.transcode request_pb
|
198
278
|
end
|
279
|
+
|
280
|
+
##
|
281
|
+
# @private
|
282
|
+
#
|
283
|
+
# GRPC transcoding helper method for the verify_confidential_space REST call
|
284
|
+
#
|
285
|
+
# @param request_pb [::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialSpaceRequest]
|
286
|
+
# A request object representing the call parameters. Required.
|
287
|
+
# @return [Array(String, [String, nil], Hash{String => String})]
|
288
|
+
# Uri, Body, Query string parameters
|
289
|
+
def self.transcode_verify_confidential_space_request request_pb
|
290
|
+
transcoder = Gapic::Rest::GrpcTranscoder.new
|
291
|
+
.with_bindings(
|
292
|
+
uri_method: :post,
|
293
|
+
uri_template: "/v1/{challenge}:verifyConfidentialSpace",
|
294
|
+
body: "*",
|
295
|
+
matches: [
|
296
|
+
["challenge", %r{^projects/[^/]+/locations/[^/]+/challenges/[^/]+/?$}, false]
|
297
|
+
]
|
298
|
+
)
|
299
|
+
transcoder.transcode request_pb
|
300
|
+
end
|
301
|
+
|
302
|
+
##
|
303
|
+
# @private
|
304
|
+
#
|
305
|
+
# GRPC transcoding helper method for the verify_confidential_gke REST call
|
306
|
+
#
|
307
|
+
# @param request_pb [::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialGkeRequest]
|
308
|
+
# A request object representing the call parameters. Required.
|
309
|
+
# @return [Array(String, [String, nil], Hash{String => String})]
|
310
|
+
# Uri, Body, Query string parameters
|
311
|
+
def self.transcode_verify_confidential_gke_request request_pb
|
312
|
+
transcoder = Gapic::Rest::GrpcTranscoder.new
|
313
|
+
.with_bindings(
|
314
|
+
uri_method: :post,
|
315
|
+
uri_template: "/v1/{challenge}:verifyConfidentialGke",
|
316
|
+
body: "*",
|
317
|
+
matches: [
|
318
|
+
["challenge", %r{^projects/[^/]+/locations/[^/]+/challenges/[^/]+/?$}, false]
|
319
|
+
]
|
320
|
+
)
|
321
|
+
transcoder.transcode request_pb
|
322
|
+
end
|
199
323
|
end
|
200
324
|
end
|
201
325
|
end
|
@@ -12,7 +12,7 @@ require 'google/protobuf/timestamp_pb'
|
|
12
12
|
require 'google/rpc/status_pb'
|
13
13
|
|
14
14
|
|
15
|
-
descriptor_data = "\n3google/cloud/confidentialcomputing/v1/service.proto\x12%google.cloud.confidentialcomputing.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17google/rpc/status.proto\"\xa5\x02\n\tChallenge\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0b\x65xpire_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x11\n\x04used\x18\x04 \x01(\x08\x42\x03\xe0\x41\x03\x12\x16\n\ttpm_nonce\x18\x06 \x01(\tB\x03\xe0\x41\x03:n\xea\x41k\n.confidentialcomputing.googleapis.com/Challenge\x12\x39projects/{project}/locations/{location}/challenges/{uuid}\"\x9d\x01\n\x16\x43reateChallengeRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!locations.googleapis.com/Location\x12H\n\tchallenge\x18\x02 \x01(\x0b\x32\x30.google.cloud.confidentialcomputing.v1.ChallengeB\x03\xe0\x41\x02\"\x9f\x05\n\x18VerifyAttestationRequest\x12Q\n\x07td_ccel\x18\x06 \x01(\x0b\x32\x39.google.cloud.confidentialcomputing.v1.TdxCcelAttestationB\x03\xe0\x41\x01H\x00\x12\\\n\x13sev_snp_attestation\x18\x07 \x01(\x0b\x32\x38.google.cloud.confidentialcomputing.v1.SevSnpAttestationB\x03\xe0\x41\x01H\x00\x12I\n\tchallenge\x18\x01 \x01(\tB6\xe0\x41\x02\xfa\x41\x30\n.confidentialcomputing.googleapis.com/Challenge\x12S\n\x0fgcp_credentials\x18\x02 \x01(\x0b\x32\x35.google.cloud.confidentialcomputing.v1.GcpCredentialsB\x03\xe0\x41\x01\x12S\n\x0ftpm_attestation\x18\x03 \x01(\x0b\x32\x35.google.cloud.confidentialcomputing.v1.TpmAttestationB\x03\xe0\x41\x02\x12\x62\n\x17\x63onfidential_space_info\x18\x04 \x01(\x0b\x32<.google.cloud.confidentialcomputing.v1.ConfidentialSpaceInfoB\x03\xe0\x41\x01\x12O\n\rtoken_options\x18\x05 \x01(\x0b\x32\x33.google.cloud.confidentialcomputing.v1.TokenOptionsB\x03\xe0\x41\x01\x12\x15\n\x08\x61ttester\x18\x08 \x01(\tB\x03\xe0\x41\x01\x42\x11\n\x0ftee_attestation\"\x83\x01\n\x12TdxCcelAttestation\x12\x1c\n\x0f\x63\x63\x65l_acpi_table\x18\x01 \x01(\x0c\x42\x03\xe0\x41\x01\x12\x16\n\tccel_data\x18\x02 \x01(\x0c\x42\x03\xe0\x41\x01\x12 \n\x13\x63\x61nonical_event_log\x18\x03 \x01(\x0c\x42\x03\xe0\x41\x01\x12\x15\n\x08td_quote\x18\x04 \x01(\x0c\x42\x03\xe0\x41\x01\"?\n\x11SevSnpAttestation\x12\x13\n\x06report\x18\x01 \x01(\x0c\x42\x03\xe0\x41\x01\x12\x15\n\x08\x61ux_blob\x18\x02 \x01(\x0c\x42\x03\xe0\x41\x01\"l\n\x19VerifyAttestationResponse\x12\x1e\n\x11oidc_claims_token\x18\x02 \x01(\tB\x03\xe0\x41\x03\x12/\n\x0epartial_errors\x18\x03 \x03(\x0b\x32\x12.google.rpc.StatusB\x03\xe0\x41\x03\"3\n\x0eGcpCredentials\x12!\n\x19service_account_id_tokens\x18\x02 \x03(\t\"\
|
15
|
+
descriptor_data = "\n3google/cloud/confidentialcomputing/v1/service.proto\x12%google.cloud.confidentialcomputing.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17google/rpc/status.proto\"\xa5\x02\n\tChallenge\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0b\x65xpire_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x11\n\x04used\x18\x04 \x01(\x08\x42\x03\xe0\x41\x03\x12\x16\n\ttpm_nonce\x18\x06 \x01(\tB\x03\xe0\x41\x03:n\xea\x41k\n.confidentialcomputing.googleapis.com/Challenge\x12\x39projects/{project}/locations/{location}/challenges/{uuid}\"\x9d\x01\n\x16\x43reateChallengeRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!locations.googleapis.com/Location\x12H\n\tchallenge\x18\x02 \x01(\x0b\x32\x30.google.cloud.confidentialcomputing.v1.ChallengeB\x03\xe0\x41\x02\"\x9f\x05\n\x18VerifyAttestationRequest\x12Q\n\x07td_ccel\x18\x06 \x01(\x0b\x32\x39.google.cloud.confidentialcomputing.v1.TdxCcelAttestationB\x03\xe0\x41\x01H\x00\x12\\\n\x13sev_snp_attestation\x18\x07 \x01(\x0b\x32\x38.google.cloud.confidentialcomputing.v1.SevSnpAttestationB\x03\xe0\x41\x01H\x00\x12I\n\tchallenge\x18\x01 \x01(\tB6\xe0\x41\x02\xfa\x41\x30\n.confidentialcomputing.googleapis.com/Challenge\x12S\n\x0fgcp_credentials\x18\x02 \x01(\x0b\x32\x35.google.cloud.confidentialcomputing.v1.GcpCredentialsB\x03\xe0\x41\x01\x12S\n\x0ftpm_attestation\x18\x03 \x01(\x0b\x32\x35.google.cloud.confidentialcomputing.v1.TpmAttestationB\x03\xe0\x41\x02\x12\x62\n\x17\x63onfidential_space_info\x18\x04 \x01(\x0b\x32<.google.cloud.confidentialcomputing.v1.ConfidentialSpaceInfoB\x03\xe0\x41\x01\x12O\n\rtoken_options\x18\x05 \x01(\x0b\x32\x33.google.cloud.confidentialcomputing.v1.TokenOptionsB\x03\xe0\x41\x01\x12\x15\n\x08\x61ttester\x18\x08 \x01(\tB\x03\xe0\x41\x01\x42\x11\n\x0ftee_attestation\"\x83\x01\n\x12TdxCcelAttestation\x12\x1c\n\x0f\x63\x63\x65l_acpi_table\x18\x01 \x01(\x0c\x42\x03\xe0\x41\x01\x12\x16\n\tccel_data\x18\x02 \x01(\x0c\x42\x03\xe0\x41\x01\x12 \n\x13\x63\x61nonical_event_log\x18\x03 \x01(\x0c\x42\x03\xe0\x41\x01\x12\x15\n\x08td_quote\x18\x04 \x01(\x0c\x42\x03\xe0\x41\x01\"?\n\x11SevSnpAttestation\x12\x13\n\x06report\x18\x01 \x01(\x0c\x42\x03\xe0\x41\x01\x12\x15\n\x08\x61ux_blob\x18\x02 \x01(\x0c\x42\x03\xe0\x41\x01\"l\n\x19VerifyAttestationResponse\x12\x1e\n\x11oidc_claims_token\x18\x02 \x01(\tB\x03\xe0\x41\x03\x12/\n\x0epartial_errors\x18\x03 \x03(\x0b\x32\x12.google.rpc.StatusB\x03\xe0\x41\x03\"3\n\x0eGcpCredentials\x12!\n\x19service_account_id_tokens\x18\x02 \x03(\t\"\x85\x02\n\x0cTokenOptions\x12i\n\x1a\x61ws_principal_tags_options\x18\x04 \x01(\x0b\x32>.google.cloud.confidentialcomputing.v1.AwsPrincipalTagsOptionsB\x03\xe0\x41\x01H\x00\x12\x15\n\x08\x61udience\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x12\n\x05nonce\x18\x02 \x03(\tB\x03\xe0\x41\x01\x12I\n\ntoken_type\x18\x03 \x01(\x0e\x32\x30.google.cloud.confidentialcomputing.v1.TokenTypeB\x03\xe0\x41\x01\x42\x14\n\x12token_type_options\"\xf6\x02\n\x17\x41wsPrincipalTagsOptions\x12x\n\x16\x61llowed_principal_tags\x18\x01 \x01(\x0b\x32S.google.cloud.confidentialcomputing.v1.AwsPrincipalTagsOptions.AllowedPrincipalTagsB\x03\xe0\x41\x01\x1a\xe0\x01\n\x14\x41llowedPrincipalTags\x12\x95\x01\n\x1a\x63ontainer_image_signatures\x18\x01 \x01(\x0b\x32l.google.cloud.confidentialcomputing.v1.AwsPrincipalTagsOptions.AllowedPrincipalTags.ContainerImageSignaturesB\x03\xe0\x41\x01\x1a\x30\n\x18\x43ontainerImageSignatures\x12\x14\n\x07key_ids\x18\x01 \x03(\tB\x03\xe0\x41\x01\"\x8f\x03\n\x0eTpmAttestation\x12K\n\x06quotes\x18\x01 \x03(\x0b\x32;.google.cloud.confidentialcomputing.v1.TpmAttestation.Quote\x12\x15\n\rtcg_event_log\x18\x02 \x01(\x0c\x12\x1b\n\x13\x63\x61nonical_event_log\x18\x03 \x01(\x0c\x12\x0f\n\x07\x61k_cert\x18\x04 \x01(\x0c\x12\x12\n\ncert_chain\x18\x05 \x03(\x0c\x1a\xd6\x01\n\x05Quote\x12\x11\n\thash_algo\x18\x01 \x01(\x05\x12^\n\npcr_values\x18\x02 \x03(\x0b\x32J.google.cloud.confidentialcomputing.v1.TpmAttestation.Quote.PcrValuesEntry\x12\x11\n\traw_quote\x18\x03 \x01(\x0c\x12\x15\n\rraw_signature\x18\x04 \x01(\x0c\x1a\x30\n\x0ePcrValuesEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\x0c:\x02\x38\x01\"j\n\x15\x43onfidentialSpaceInfo\x12Q\n\x0fsigned_entities\x18\x01 \x03(\x0b\x32\x33.google.cloud.confidentialcomputing.v1.SignedEntityB\x03\xe0\x41\x01\"w\n\x0cSignedEntity\x12g\n\x1a\x63ontainer_image_signatures\x18\x01 \x03(\x0b\x32>.google.cloud.confidentialcomputing.v1.ContainerImageSignatureB\x03\xe0\x41\x01\"\xaf\x01\n\x17\x43ontainerImageSignature\x12\x14\n\x07payload\x18\x01 \x01(\x0c\x42\x03\xe0\x41\x01\x12\x16\n\tsignature\x18\x02 \x01(\x0c\x42\x03\xe0\x41\x01\x12\x17\n\npublic_key\x18\x03 \x01(\x0c\x42\x03\xe0\x41\x01\x12M\n\x07sig_alg\x18\x04 \x01(\x0e\x32\x37.google.cloud.confidentialcomputing.v1.SigningAlgorithmB\x03\xe0\x41\x01\"\x96\x08\n\x1eVerifyConfidentialSpaceRequest\x12Q\n\x07td_ccel\x18\x03 \x01(\x0b\x32\x39.google.cloud.confidentialcomputing.v1.TdxCcelAttestationB\x03\xe0\x41\x04H\x00\x12U\n\x0ftpm_attestation\x18\x04 \x01(\x0b\x32\x35.google.cloud.confidentialcomputing.v1.TpmAttestationB\x03\xe0\x41\x04H\x00\x12I\n\tchallenge\x18\x01 \x01(\tB6\xe0\x41\x02\xfa\x41\x30\n.confidentialcomputing.googleapis.com/Challenge\x12S\n\x0fgcp_credentials\x18\x02 \x01(\x0b\x32\x35.google.cloud.confidentialcomputing.v1.GcpCredentialsB\x03\xe0\x41\x01\x12Q\n\x0fsigned_entities\x18\x05 \x03(\x0b\x32\x33.google.cloud.confidentialcomputing.v1.SignedEntityB\x03\xe0\x41\x01\x12^\n\x15gce_shielded_identity\x18\x06 \x01(\x0b\x32:.google.cloud.confidentialcomputing.v1.GceShieldedIdentityB\x03\xe0\x41\x01\x12t\n\x07options\x18\x07 \x01(\x0b\x32^.google.cloud.confidentialcomputing.v1.VerifyConfidentialSpaceRequest.ConfidentialSpaceOptionsB\x03\xe0\x41\x01\x1a\xed\x02\n\x18\x43onfidentialSpaceOptions\x12i\n\x1a\x61ws_principal_tags_options\x18\x05 \x01(\x0b\x32>.google.cloud.confidentialcomputing.v1.AwsPrincipalTagsOptionsB\x03\xe0\x41\x01H\x00\x12\x15\n\x08\x61udience\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12O\n\rtoken_profile\x18\x02 \x01(\x0e\x32\x33.google.cloud.confidentialcomputing.v1.TokenProfileB\x03\xe0\x41\x01\x12\x12\n\x05nonce\x18\x03 \x03(\tB\x03\xe0\x41\x01\x12Q\n\x0esignature_type\x18\x04 \x01(\x0e\x32\x34.google.cloud.confidentialcomputing.v1.SignatureTypeB\x03\xe0\x41\x01\x42\x17\n\x15token_profile_optionsB\x11\n\x0ftee_attestation\"G\n\x13GceShieldedIdentity\x12\x14\n\x07\x61k_cert\x18\x01 \x01(\x0c\x42\x03\xe0\x41\x01\x12\x1a\n\rak_cert_chain\x18\x02 \x03(\x0c\x42\x03\xe0\x41\x01\"r\n\x1fVerifyConfidentialSpaceResponse\x12\x1e\n\x11\x61ttestation_token\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12/\n\x0epartial_errors\x18\x02 \x03(\x0b\x32\x12.google.rpc.StatusB\x03\xe0\x41\x03\"\xce\x01\n\x1cVerifyConfidentialGkeRequest\x12P\n\x0ftpm_attestation\x18\x02 \x01(\x0b\x32\x35.google.cloud.confidentialcomputing.v1.TpmAttestationH\x00\x12I\n\tchallenge\x18\x01 \x01(\tB6\xe0\x41\x02\xfa\x41\x30\n.confidentialcomputing.googleapis.com/ChallengeB\x11\n\x0ftee_attestation\"?\n\x1dVerifyConfidentialGkeResponse\x12\x1e\n\x11\x61ttestation_token\x18\x01 \x01(\tB\x03\xe0\x41\x03*\x7f\n\x10SigningAlgorithm\x12!\n\x1dSIGNING_ALGORITHM_UNSPECIFIED\x10\x00\x12\x15\n\x11RSASSA_PSS_SHA256\x10\x01\x12\x1a\n\x16RSASSA_PKCS1V15_SHA256\x10\x02\x12\x15\n\x11\x45\x43\x44SA_P256_SHA256\x10\x03*\x8e\x01\n\tTokenType\x12\x1a\n\x16TOKEN_TYPE_UNSPECIFIED\x10\x00\x12\x13\n\x0fTOKEN_TYPE_OIDC\x10\x01\x12\x12\n\x0eTOKEN_TYPE_PKI\x10\x02\x12\x1a\n\x16TOKEN_TYPE_LIMITED_AWS\x10\x03\x12 \n\x1cTOKEN_TYPE_AWS_PRINCIPALTAGS\x10\x04*`\n\rSignatureType\x12\x1e\n\x1aSIGNATURE_TYPE_UNSPECIFIED\x10\x00\x12\x17\n\x13SIGNATURE_TYPE_OIDC\x10\x01\x12\x16\n\x12SIGNATURE_TYPE_PKI\x10\x02*c\n\x0cTokenProfile\x12\x1d\n\x19TOKEN_PROFILE_UNSPECIFIED\x10\x00\x12\x1d\n\x19TOKEN_PROFILE_DEFAULT_EAT\x10\x01\x12\x15\n\x11TOKEN_PROFILE_AWS\x10\x02\x32\xb5\x08\n\x15\x43onfidentialComputing\x12\xd8\x01\n\x0f\x43reateChallenge\x12=.google.cloud.confidentialcomputing.v1.CreateChallengeRequest\x1a\x30.google.cloud.confidentialcomputing.v1.Challenge\"T\xda\x41\x10parent,challenge\x82\xd3\xe4\x93\x02;\"./v1/{parent=projects/*/locations/*}/challenges:\tchallenge\x12\xe8\x01\n\x11VerifyAttestation\x12?.google.cloud.confidentialcomputing.v1.VerifyAttestationRequest\x1a@.google.cloud.confidentialcomputing.v1.VerifyAttestationResponse\"P\x82\xd3\xe4\x93\x02J\"E/v1/{challenge=projects/*/locations/*/challenges/*}:verifyAttestation:\x01*\x12\x80\x02\n\x17VerifyConfidentialSpace\x12\x45.google.cloud.confidentialcomputing.v1.VerifyConfidentialSpaceRequest\x1a\x46.google.cloud.confidentialcomputing.v1.VerifyConfidentialSpaceResponse\"V\x82\xd3\xe4\x93\x02P\"K/v1/{challenge=projects/*/locations/*/challenges/*}:verifyConfidentialSpace:\x01*\x12\xf8\x01\n\x15VerifyConfidentialGke\x12\x43.google.cloud.confidentialcomputing.v1.VerifyConfidentialGkeRequest\x1a\x44.google.cloud.confidentialcomputing.v1.VerifyConfidentialGkeResponse\"T\x82\xd3\xe4\x93\x02N\"I/v1/{challenge=projects/*/locations/*/challenges/*}:verifyConfidentialGke:\x01*\x1aX\xca\x41$confidentialcomputing.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformB\x97\x02\n)com.google.cloud.confidentialcomputing.v1B\x0cServiceProtoP\x01Z_cloud.google.com/go/confidentialcomputing/apiv1/confidentialcomputingpb;confidentialcomputingpb\xaa\x02%Google.Cloud.ConfidentialComputing.V1\xca\x02%Google\\Cloud\\ConfidentialComputing\\V1\xea\x02(Google::Cloud::ConfidentialComputing::V1b\x06proto3"
|
16
16
|
|
17
17
|
pool = Google::Protobuf::DescriptorPool.generated_pool
|
18
18
|
|
@@ -52,16 +52,24 @@ module Google
|
|
52
52
|
VerifyAttestationResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.VerifyAttestationResponse").msgclass
|
53
53
|
GcpCredentials = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.GcpCredentials").msgclass
|
54
54
|
TokenOptions = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.TokenOptions").msgclass
|
55
|
-
|
56
|
-
|
57
|
-
|
55
|
+
AwsPrincipalTagsOptions = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.AwsPrincipalTagsOptions").msgclass
|
56
|
+
AwsPrincipalTagsOptions::AllowedPrincipalTags = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.AwsPrincipalTagsOptions.AllowedPrincipalTags").msgclass
|
57
|
+
AwsPrincipalTagsOptions::AllowedPrincipalTags::ContainerImageSignatures = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.AwsPrincipalTagsOptions.AllowedPrincipalTags.ContainerImageSignatures").msgclass
|
58
58
|
TpmAttestation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.TpmAttestation").msgclass
|
59
59
|
TpmAttestation::Quote = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.TpmAttestation.Quote").msgclass
|
60
60
|
ConfidentialSpaceInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.ConfidentialSpaceInfo").msgclass
|
61
61
|
SignedEntity = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.SignedEntity").msgclass
|
62
62
|
ContainerImageSignature = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.ContainerImageSignature").msgclass
|
63
|
+
VerifyConfidentialSpaceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.VerifyConfidentialSpaceRequest").msgclass
|
64
|
+
VerifyConfidentialSpaceRequest::ConfidentialSpaceOptions = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.VerifyConfidentialSpaceRequest.ConfidentialSpaceOptions").msgclass
|
65
|
+
GceShieldedIdentity = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.GceShieldedIdentity").msgclass
|
66
|
+
VerifyConfidentialSpaceResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.VerifyConfidentialSpaceResponse").msgclass
|
67
|
+
VerifyConfidentialGkeRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.VerifyConfidentialGkeRequest").msgclass
|
68
|
+
VerifyConfidentialGkeResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.VerifyConfidentialGkeResponse").msgclass
|
63
69
|
SigningAlgorithm = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.SigningAlgorithm").enummodule
|
64
70
|
TokenType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.TokenType").enummodule
|
71
|
+
SignatureType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.SignatureType").enummodule
|
72
|
+
TokenProfile = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.TokenProfile").enummodule
|
65
73
|
end
|
66
74
|
end
|
67
75
|
end
|
@@ -35,8 +35,15 @@ module Google
|
|
35
35
|
|
36
36
|
# Creates a new Challenge in a given project and location.
|
37
37
|
rpc :CreateChallenge, ::Google::Cloud::ConfidentialComputing::V1::CreateChallengeRequest, ::Google::Cloud::ConfidentialComputing::V1::Challenge
|
38
|
-
# Verifies the provided attestation info, returning a signed
|
38
|
+
# Verifies the provided attestation info, returning a signed attestation
|
39
|
+
# token.
|
39
40
|
rpc :VerifyAttestation, ::Google::Cloud::ConfidentialComputing::V1::VerifyAttestationRequest, ::Google::Cloud::ConfidentialComputing::V1::VerifyAttestationResponse
|
41
|
+
# Verifies whether the provided attestation info is valid, returning a signed
|
42
|
+
# attestation token if so.
|
43
|
+
rpc :VerifyConfidentialSpace, ::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialSpaceRequest, ::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialSpaceResponse
|
44
|
+
# Verifies the provided Confidential GKE attestation info, returning a signed
|
45
|
+
# OIDC token.
|
46
|
+
rpc :VerifyConfidentialGke, ::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialGkeRequest, ::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialGkeResponse
|
40
47
|
end
|
41
48
|
|
42
49
|
Stub = Service.rpc_stub_class
|
@@ -58,8 +58,8 @@ module Google
|
|
58
58
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
59
59
|
end
|
60
60
|
|
61
|
-
# A request for an
|
62
|
-
# for this service to verify the platform state of the requestor.
|
61
|
+
# A request for an attestation token, providing all the necessary information
|
62
|
+
# needed for this service to verify the platform state of the requestor.
|
63
63
|
# @!attribute [rw] td_ccel
|
64
64
|
# @return [::Google::Cloud::ConfidentialComputing::V1::TdxCcelAttestation]
|
65
65
|
# Optional. A TDX with CCEL and RTMR Attestation Quote.
|
@@ -141,7 +141,7 @@ module Google
|
|
141
141
|
end
|
142
142
|
|
143
143
|
# A response once an attestation has been successfully verified, containing a
|
144
|
-
# signed
|
144
|
+
# signed attestation token.
|
145
145
|
# @!attribute [r] oidc_claims_token
|
146
146
|
# @return [::String]
|
147
147
|
# Output only. Same as claims_token, but as a string.
|
@@ -166,8 +166,8 @@ module Google
|
|
166
166
|
|
167
167
|
# Options to modify claims in the token to generate custom-purpose tokens.
|
168
168
|
# @!attribute [rw] aws_principal_tags_options
|
169
|
-
# @return [::Google::Cloud::ConfidentialComputing::V1::
|
170
|
-
# Optional. Options for
|
169
|
+
# @return [::Google::Cloud::ConfidentialComputing::V1::AwsPrincipalTagsOptions]
|
170
|
+
# Optional. Options for AWS token type.
|
171
171
|
# @!attribute [rw] audience
|
172
172
|
# @return [::String]
|
173
173
|
# Optional. Optional string to issue the token with a custom audience claim.
|
@@ -183,35 +183,35 @@ module Google
|
|
183
183
|
class TokenOptions
|
184
184
|
include ::Google::Protobuf::MessageExts
|
185
185
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
186
|
+
end
|
186
187
|
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
188
|
+
# Token options that only apply to the AWS Principal Tags token type.
|
189
|
+
# @!attribute [rw] allowed_principal_tags
|
190
|
+
# @return [::Google::Cloud::ConfidentialComputing::V1::AwsPrincipalTagsOptions::AllowedPrincipalTags]
|
191
|
+
# Optional. Principal tags to allow in the token.
|
192
|
+
class AwsPrincipalTagsOptions
|
193
|
+
include ::Google::Protobuf::MessageExts
|
194
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
195
|
+
|
196
|
+
# Allowed principal tags is used to define what principal tags will be
|
197
|
+
# placed in the token.
|
198
|
+
# @!attribute [rw] container_image_signatures
|
199
|
+
# @return [::Google::Cloud::ConfidentialComputing::V1::AwsPrincipalTagsOptions::AllowedPrincipalTags::ContainerImageSignatures]
|
200
|
+
# Optional. Container image signatures allowed in the token.
|
201
|
+
class AllowedPrincipalTags
|
192
202
|
include ::Google::Protobuf::MessageExts
|
193
203
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
194
204
|
|
195
|
-
# Allowed
|
196
|
-
#
|
197
|
-
# @!attribute [rw]
|
198
|
-
# @return [::
|
199
|
-
# Optional.
|
200
|
-
|
205
|
+
# Allowed Container Image Signatures. Key IDs are required to allow
|
206
|
+
# this claim to fit within the narrow AWS IAM restrictions.
|
207
|
+
# @!attribute [rw] key_ids
|
208
|
+
# @return [::Array<::String>]
|
209
|
+
# Optional. List of key ids to filter into the Principal tags. Only keys
|
210
|
+
# that have been validated and added to the token will be filtered into
|
211
|
+
# principal tags. Unrecognized key ids will be ignored.
|
212
|
+
class ContainerImageSignatures
|
201
213
|
include ::Google::Protobuf::MessageExts
|
202
214
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
203
|
-
|
204
|
-
# Allowed Container Image Signatures. Key IDs are required to allow this
|
205
|
-
# claim to fit within the narrow AWS IAM restrictions.
|
206
|
-
# @!attribute [rw] key_ids
|
207
|
-
# @return [::Array<::String>]
|
208
|
-
# Optional. List of key ids to filter into the Principal tags. Only
|
209
|
-
# keys that have been validated and added to the token will be filtered
|
210
|
-
# into principal tags. Unrecognized key ids will be ignored.
|
211
|
-
class ContainerImageSignatures
|
212
|
-
include ::Google::Protobuf::MessageExts
|
213
|
-
extend ::Google::Protobuf::MessageExts::ClassMethods
|
214
|
-
end
|
215
215
|
end
|
216
216
|
end
|
217
217
|
end
|
@@ -321,6 +321,133 @@ module Google
|
|
321
321
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
322
322
|
end
|
323
323
|
|
324
|
+
# A request for an attestation token, providing all the necessary information
|
325
|
+
# needed for this service to verify the platform state of the requestor.
|
326
|
+
# @!attribute [rw] td_ccel
|
327
|
+
# @return [::Google::Cloud::ConfidentialComputing::V1::TdxCcelAttestation]
|
328
|
+
# Input only. A TDX with CCEL and RTMR Attestation Quote.
|
329
|
+
#
|
330
|
+
# Note: The following fields are mutually exclusive: `td_ccel`, `tpm_attestation`. If a field in that set is populated, all other fields in the set will automatically be cleared.
|
331
|
+
# @!attribute [rw] tpm_attestation
|
332
|
+
# @return [::Google::Cloud::ConfidentialComputing::V1::TpmAttestation]
|
333
|
+
# Input only. The TPM-specific data provided by the attesting platform,
|
334
|
+
# used to populate any of the claims regarding platform state.
|
335
|
+
#
|
336
|
+
# Note: The following fields are mutually exclusive: `tpm_attestation`, `td_ccel`. If a field in that set is populated, all other fields in the set will automatically be cleared.
|
337
|
+
# @!attribute [rw] challenge
|
338
|
+
# @return [::String]
|
339
|
+
# Required. The name of the Challenge whose nonce was used to generate the
|
340
|
+
# attestation, in the format `projects/*/locations/*/challenges/*`. The
|
341
|
+
# provided Challenge will be consumed, and cannot be used again.
|
342
|
+
# @!attribute [rw] gcp_credentials
|
343
|
+
# @return [::Google::Cloud::ConfidentialComputing::V1::GcpCredentials]
|
344
|
+
# Optional. Credentials used to populate the "emails" claim in the
|
345
|
+
# claims_token. If not present, token will not contain the "emails" claim.
|
346
|
+
# @!attribute [rw] signed_entities
|
347
|
+
# @return [::Array<::Google::Cloud::ConfidentialComputing::V1::SignedEntity>]
|
348
|
+
# Optional. A list of signed entities containing container image signatures
|
349
|
+
# that can be used for server-side signature verification.
|
350
|
+
# @!attribute [rw] gce_shielded_identity
|
351
|
+
# @return [::Google::Cloud::ConfidentialComputing::V1::GceShieldedIdentity]
|
352
|
+
# Optional. Information about the associated Compute Engine instance.
|
353
|
+
# Required for td_ccel requests only - tpm_attestation requests will provide
|
354
|
+
# this information in the attestation.
|
355
|
+
# @!attribute [rw] options
|
356
|
+
# @return [::Google::Cloud::ConfidentialComputing::V1::VerifyConfidentialSpaceRequest::ConfidentialSpaceOptions]
|
357
|
+
# Optional. A collection of fields that modify the token output.
|
358
|
+
class VerifyConfidentialSpaceRequest
|
359
|
+
include ::Google::Protobuf::MessageExts
|
360
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
361
|
+
|
362
|
+
# Token options for Confidential Space attestation.
|
363
|
+
# @!attribute [rw] aws_principal_tags_options
|
364
|
+
# @return [::Google::Cloud::ConfidentialComputing::V1::AwsPrincipalTagsOptions]
|
365
|
+
# Optional. Options for the AWS token type.
|
366
|
+
# @!attribute [rw] audience
|
367
|
+
# @return [::String]
|
368
|
+
# Optional. Optional string to issue the token with a custom audience
|
369
|
+
# claim. Required if custom nonces are specified.
|
370
|
+
# @!attribute [rw] token_profile
|
371
|
+
# @return [::Google::Cloud::ConfidentialComputing::V1::TokenProfile]
|
372
|
+
# Optional. Optional specification for token claims profile.
|
373
|
+
# @!attribute [rw] nonce
|
374
|
+
# @return [::Array<::String>]
|
375
|
+
# Optional. Optional parameter to place one or more nonces in the eat_nonce
|
376
|
+
# claim in the output token. The minimum size for JSON-encoded EATs is 10
|
377
|
+
# bytes and the maximum size is 74 bytes.
|
378
|
+
# @!attribute [rw] signature_type
|
379
|
+
# @return [::Google::Cloud::ConfidentialComputing::V1::SignatureType]
|
380
|
+
# Optional. Optional specification for how to sign the attestation token.
|
381
|
+
# Defaults to SIGNATURE_TYPE_OIDC if unspecified.
|
382
|
+
class ConfidentialSpaceOptions
|
383
|
+
include ::Google::Protobuf::MessageExts
|
384
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
385
|
+
end
|
386
|
+
end
|
387
|
+
|
388
|
+
# GceShieldedIdentity contains information about a Compute Engine instance.
|
389
|
+
# @!attribute [rw] ak_cert
|
390
|
+
# @return [::String]
|
391
|
+
# Optional. DER-encoded X.509 certificate of the Attestation Key (otherwise
|
392
|
+
# known as an AK or a TPM restricted signing key) used to generate the
|
393
|
+
# quotes.
|
394
|
+
# @!attribute [rw] ak_cert_chain
|
395
|
+
# @return [::Array<::String>]
|
396
|
+
# Optional. List of DER-encoded X.509 certificates which, together with the
|
397
|
+
# ak_cert, chain back to a trusted Root Certificate.
|
398
|
+
class GceShieldedIdentity
|
399
|
+
include ::Google::Protobuf::MessageExts
|
400
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
401
|
+
end
|
402
|
+
|
403
|
+
# VerifyConfidentialSpaceResponse is returned once a Confidential Space
|
404
|
+
# attestation has been successfully verified, containing a signed token.
|
405
|
+
# @!attribute [r] attestation_token
|
406
|
+
# @return [::String]
|
407
|
+
# Output only. The attestation token issued by this service. It contains
|
408
|
+
# specific platform claims based on the contents of the provided attestation.
|
409
|
+
# @!attribute [r] partial_errors
|
410
|
+
# @return [::Array<::Google::Rpc::Status>]
|
411
|
+
# Output only. A list of messages that carry the partial error details
|
412
|
+
# related to VerifyConfidentialSpace. This field is populated by errors
|
413
|
+
# during container image signature verification, which may reflect problems
|
414
|
+
# in the provided image signatures. This does not block the issuing of an
|
415
|
+
# attestation token, but the token will not contain claims for the failed
|
416
|
+
# image signatures.
|
417
|
+
class VerifyConfidentialSpaceResponse
|
418
|
+
include ::Google::Protobuf::MessageExts
|
419
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
420
|
+
end
|
421
|
+
|
422
|
+
# A request for an attestation token, providing all the necessary information
|
423
|
+
# needed for this service to verify Confidential GKE platform state of the
|
424
|
+
# requestor.
|
425
|
+
# @!attribute [rw] tpm_attestation
|
426
|
+
# @return [::Google::Cloud::ConfidentialComputing::V1::TpmAttestation]
|
427
|
+
# The TPM-specific data provided by the attesting platform, used to
|
428
|
+
# populate any of the claims regarding platform state.
|
429
|
+
# @!attribute [rw] challenge
|
430
|
+
# @return [::String]
|
431
|
+
# Required. The name of the Challenge whose nonce was used to generate the
|
432
|
+
# attestation, in the format projects/*/locations/*/challenges/*. The
|
433
|
+
# provided Challenge will be consumed, and cannot be used again.
|
434
|
+
class VerifyConfidentialGkeRequest
|
435
|
+
include ::Google::Protobuf::MessageExts
|
436
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
437
|
+
end
|
438
|
+
|
439
|
+
# VerifyConfidentialGkeResponse response is returened once a Confidential GKE
|
440
|
+
# attestation has been successfully verified, containing a signed OIDC token.
|
441
|
+
# @!attribute [r] attestation_token
|
442
|
+
# @return [::String]
|
443
|
+
# Output only. The attestation token issued by this service for Confidential
|
444
|
+
# GKE. It contains specific platform claims based on the contents of the
|
445
|
+
# provided attestation.
|
446
|
+
class VerifyConfidentialGkeResponse
|
447
|
+
include ::Google::Protobuf::MessageExts
|
448
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
449
|
+
end
|
450
|
+
|
324
451
|
# SigningAlgorithm enumerates all the supported signing algorithms.
|
325
452
|
module SigningAlgorithm
|
326
453
|
# Unspecified signing algorithm.
|
@@ -354,6 +481,30 @@ module Google
|
|
354
481
|
# Principal-tag-based token for AWS integration
|
355
482
|
TOKEN_TYPE_AWS_PRINCIPALTAGS = 4
|
356
483
|
end
|
484
|
+
|
485
|
+
# SignatureType enumerates supported signature types for attestation tokens.
|
486
|
+
module SignatureType
|
487
|
+
# Unspecified signature type.
|
488
|
+
SIGNATURE_TYPE_UNSPECIFIED = 0
|
489
|
+
|
490
|
+
# Google OIDC signature.
|
491
|
+
SIGNATURE_TYPE_OIDC = 1
|
492
|
+
|
493
|
+
# Public Key Infrastructure (PKI) signature.
|
494
|
+
SIGNATURE_TYPE_PKI = 2
|
495
|
+
end
|
496
|
+
|
497
|
+
# TokenProfile enumerates the supported token claims profiles.
|
498
|
+
module TokenProfile
|
499
|
+
# Unspecified token profile.
|
500
|
+
TOKEN_PROFILE_UNSPECIFIED = 0
|
501
|
+
|
502
|
+
# EAT claims.
|
503
|
+
TOKEN_PROFILE_DEFAULT_EAT = 1
|
504
|
+
|
505
|
+
# AWS Principal Tags claims.
|
506
|
+
TOKEN_PROFILE_AWS = 2
|
507
|
+
end
|
357
508
|
end
|
358
509
|
end
|
359
510
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: google-cloud-confidential_computing-v1
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Google LLC
|
@@ -15,14 +15,14 @@ dependencies:
|
|
15
15
|
requirements:
|
16
16
|
- - "~>"
|
17
17
|
- !ruby/object:Gem::Version
|
18
|
-
version: '1.
|
18
|
+
version: '1.2'
|
19
19
|
type: :runtime
|
20
20
|
prerelease: false
|
21
21
|
version_requirements: !ruby/object:Gem::Requirement
|
22
22
|
requirements:
|
23
23
|
- - "~>"
|
24
24
|
- !ruby/object:Gem::Version
|
25
|
-
version: '1.
|
25
|
+
version: '1.2'
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: google-cloud-errors
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|
@@ -106,7 +106,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
106
106
|
- !ruby/object:Gem::Version
|
107
107
|
version: '0'
|
108
108
|
requirements: []
|
109
|
-
rubygems_version: 3.6.
|
109
|
+
rubygems_version: 3.6.9
|
110
110
|
specification_version: 4
|
111
111
|
summary: Attestation verifier for Confidential Space.
|
112
112
|
test_files: []
|