@@ -85,6 +85,9 @@ enum TokenType {
8585
8686 // Limited claim token type for AWS integration
8787 TOKEN_TYPE_LIMITED_AWS = 3 ;
88+
89+ // Principal-tag-based token for AWS integration
90+ TOKEN_TYPE_AWS_PRINCIPALTAGS = 4 ;
8891}
8992
9093// A Challenge from the server used to guarantee freshness of attestations
@@ -227,6 +230,37 @@ message GcpCredentials {
227230
228231// Options to modify claims in the token to generate custom-purpose tokens.
229232message TokenOptions {
233+ // Token options that only apply to the AWS Principal Tags token type.
234+ message AwsPrincipalTagsOptions {
235+ // Allowed principal tags is used to define what principal tags will be
236+ // placed in the token.
237+ message AllowedPrincipalTags {
238+ // Allowed Container Image Signatures. Key IDs are required to allow this
239+ // claim to fit within the narrow AWS IAM restrictions.
240+ message ContainerImageSignatures {
241+ // Optional. List of key ids to filter into the Principal tags. Only
242+ // keys that have been validated and added to the token will be filtered
243+ // into principal tags. Unrecognized key ids will be ignored.
244+ repeated string key_ids = 1 [(google.api.field_behavior ) = OPTIONAL ];
245+ }
246+
247+ // Optional. Container image signatures allowed in the token.
248+ ContainerImageSignatures container_image_signatures = 1
249+ [(google.api.field_behavior ) = OPTIONAL ];
250+ }
251+
252+ // Optional. Principal tags to allow in the token.
253+ AllowedPrincipalTags allowed_principal_tags = 1
254+ [(google.api.field_behavior ) = OPTIONAL ];
255+ }
256+
257+ // An optional additional configuration per token type.
258+ oneof token_type_options {
259+ // Optional. Options for the Limited AWS token type.
260+ AwsPrincipalTagsOptions aws_principal_tags_options = 4
261+ [(google.api.field_behavior ) = OPTIONAL ];
262+ }
263+
230264 // Optional. Optional string to issue the token with a custom audience claim.
231265 // Required if one or more nonces are specified.
232266 string audience = 1 [(google.api.field_behavior ) = OPTIONAL ];
0 commit comments