Tokens de autenticação
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Token do portador (JWT: RFC 7516)
emitido pelo parceiro de identidade (IdP) para atestar a identidade de um usuário.
Representação JSON |
{
"aud": string,
"email": string,
"exp": string,
"iat": string,
"iss": string,
"google_email": string,
...
}
|
Campos |
aud |
string
O público-alvo, conforme identificado pelo IdP. Deve ser verificado na configuração local.
|
email |
string (UTF-8)
O endereço de e-mail do usuário.
|
exp |
string
Data de expiração.
|
iat |
string
Horário de emissão.
|
iss |
string
O emissor do token. Precisa ser validado com o conjunto confiável de emissores de autenticação.
|
google_email |
string
Uma declaração opcional a ser usada quando a declaração de e-mail neste JWT for diferente do ID de e-mail do Google Workspace do usuário. Essa declaração
carrega a identidade de e-mail do Google Workspace do usuário.
|
... |
Seu serviço de lista de controle de acesso a chaves (KACLS) pode usar qualquer outra declaração (localização, declaração personalizada etc.) para avaliar o perímetro.
|
Token de autenticação do KACLS para delegate
O token de autenticação contém um JSON Web Token (JWT) (JWT: RFC 7516)
que é um token de autenticação de portador.
Às vezes, um usuário não consegue se autenticar diretamente em um cliente.
Nesses casos, o usuário pode delegar o acesso a um recurso específico para esse cliente. Isso é feito emitindo um novo token de autenticação delegada que limita o escopo do token de autenticação original.
O token de autenticação delegada é semelhante ao token de autenticação comum, com uma declaração adicional:
receba o pagamento |
delegated_to |
string
Um identificador da entidade a quem delegar a autenticação.
|
A declaração resource_name
no token de autenticação é usada, em um contexto de delegação, para identificar o objeto criptografado pela chave de criptografia de dados (DEK) para a qual a delegação é válida.
O token é emitido pelo serviço de lista de controle de acesso a chaves (KACLS)
usando a chamada Delegate
. Podem ser JWTs autoassinados
que o KACLS consegue validar, ou o KACLS pode usar qualquer outro IdP para fazer
isso, por uma chamada confiável.
Para que o token de autenticação delegada seja considerado válido, um token de autorização delegada precisa ser fornecido para a mesma operação. O token de autorização delegada é semelhante ao token de autorização comum, mas contém a declaração adicional delegated_to
. Os valores das declarações delegated_to
e resource_name
precisam corresponder aos valores no token de autenticação delegada.
Recomendamos definir um valor de ciclo de vida de 15 minutos para os tokens de autenticação delegada
para evitar possível reutilização em caso de vazamento.
Representação JSON |
{
"email": string,
"iss": string,
"aud": string,
"exp": string,
"iat": string,
"google_email": string,
"delegated_to": string,
"resource_name": string
...
}
|
Campos |
email |
string (UTF-8)
O endereço de e-mail do usuário formatado em UTF-8.
|
iss |
string
O emissor do token precisa ser validado em relação ao conjunto confiável de emissores de autenticação.
|
aud |
string
O público-alvo, conforme identificado pelo IdP. Deve ser verificado na configuração local.
|
exp |
string
O prazo de validade precisa ser verificado.
|
iat |
string
O horário de emissão precisa ser verificado.
|
delegated_to |
string
Um identificador da entidade a quem delegar a autenticação.
|
resource_name |
string
Um identificador do objeto criptografado pela DEK para o qual a delegação é válida.
|
... |
O KACLS pode usar qualquer outra declaração (localização, declaração personalizada etc.) para avaliar o perímetro.
|
Token de autenticação do KACLS para PrivilegedUnwrap
Token do portador (JWT: RFC 7516)
emitido pelo parceiro de identidade (IdP) para atestar a identidade de um usuário.
Isso só é usado no PrivilegedUnwrap
. Durante PrivilegedUnwrap
, se um JWT do KACLS
for usado no lugar de um token de autenticação do IDP, o KACLS destinatário precisará
buscar primeiro o JWKS do emissor e verificar a assinatura do token antes de
conferir as declarações.
Representação JSON |
{
"aud": string,
"exp": string,
"iat": string,
"iss": string,
"kacls_url": string,
"resource_name": string
...
}
|
Campos |
aud |
string
O público-alvo, conforme identificado pelo IdP. Para operações de criptografia do lado do cliente (CSE) do Drive PrivilegedUnwrap , isso precisa ser kacls-migration .
|
exp |
string
Data de expiração.
|
iat |
string
Horário de emissão.
|
iss |
string
O emissor do token. Precisa ser validado com o conjunto confiável de emissores de autenticação. Precisa corresponder ao KACLS_URL do KACLS solicitante. O conjunto de chaves públicas do emissor pode ser encontrado em /certs .
|
kacls_url |
string
URL do KACLS atual em que os dados estão sendo descriptografados.
|
resource_name |
string
Um identificador do objeto criptografado pela DEK. Tamanho máximo: 128 bytes.
|
... |
Seu serviço de lista de controle de acesso a chaves (KACLS) pode usar qualquer outra declaração (localização, declaração personalizada etc.) para avaliar o perímetro.
|
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-08-04 UTC.
[null,null,["Última atualização 2025-08-04 UTC."],[[["\u003cp\u003eKACLS uses bearer tokens (JWTs) issued by an identity provider (IdP) to verify user identity and authorize access.\u003c/p\u003e\n"],["\u003cp\u003eJWTs contain essential claims like audience, email, expiration, issuance, issuer, and potentially a Google Workspace email for specific scenarios.\u003c/p\u003e\n"],["\u003cp\u003eFor \u003ccode\u003ePrivilegedUnwrap\u003c/code\u003e operations, a KACLS JWT is used, requiring the recipient KACLS to verify the token signature and claims after fetching the issuer's JWKS.\u003c/p\u003e\n"],["\u003cp\u003eKACLS JWTs include specific claims like \u003ccode\u003ekacls_url\u003c/code\u003e and \u003ccode\u003eresource_name\u003c/code\u003e relevant to the decryption process.\u003c/p\u003e\n"],["\u003cp\u003eKACLS offers flexibility by allowing the use of additional claims for perimeter evaluation and custom authorization logic.\u003c/p\u003e\n"]]],["The document outlines two types of Bearer tokens (JWTs) used for user identity and KACLS authentication. User identity tokens, issued by the IdP, include fields like `aud`, `email`, `exp`, `iat`, `iss`, and `google_email` for email verification. KACLS authentication tokens, used during `PrivilegedUnwrap`, contain `aud` (specifically `kacls-migration`), `exp`, `iat`, `iss`, `kacls_url`, and `resource_name`. KACLS must verify the KACLS JWT's signature and claims after fetching the issuer's JWKS. Both types allow for custom claims.\n"],null,["# Authentication tokens\n\nBearer token ([JWT: RFC 7516](https://tools.ietf.org/html/rfc7516))\nissued by the identity partner (IdP) to attest a user's identity.\n\n| JSON representation ||\n|----------------------------------------------------------------------------------------------------------------------|---|\n| ``` { \"aud\": string, \"email\": string, \"exp\": string, \"iat\": string, \"iss\": string, \"google_email\": string, ... } ``` |\n\n| Fields ||\n|----------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `aud` | `string` The audience, as identified by the IdP. Should be checked against the local configuration. |\n| `email` | `string (UTF-8)` The user's email address. |\n| `exp` | `string` Expiration time. |\n| `iat` | `string` Issuance time. |\n| `iss` | `string` The token issuer. Should be validated against the trusted set of authentication issuers. |\n| `google_email` | `string` An optional claim, to be used when the email claim in this JWT is different from the user's Google Workspace email ID. This claim carries the user's Google Workspace email identity. |\n| `...` | Your Key Access Control List Service (KACLS) is free to use any other claims (location, custom claim, etc) to evaluate the perimeter. |\n\nKACLS authentication token for `delegate`\n-----------------------------------------\n\nThe authentication token contains a JSON Web Token (JWT) ([JWT: RFC 7516](https://tools.ietf.org/html/rfc7516))\nthat is a bearer authentication token.\n\nSometimes a user is not able to authenticate on a client directly.\nIn these cases the user can delegate their access to a specific\nresource to that client. This is achieved through issuing a new\ndelegated authentication token that limits the scope of the original\nauthentication token.\n\nThe delegated authentication token is similar to the ordinary\nauthentication token with one additional claim:\n\n| claim ||\n|----------------|----------------------------------------------------------------------|\n| `delegated_to` | `string` An identifier for the entity to delegate authentication to. |\n\nThe `resource_name` claim in the authentication token is, in a\ndelegation context, used for identifying the object encrypted by the\nData Encryption Key (DEK) for which the delegation is valid.\n\nThe token is issued by the Key Access Control List Service (KACLS)\nusing the `Delegate` call. It may be either self-signed JWTs\nthat KACLS is able to validate, or KACLS may use any other IdP to do\nthat, through a trusted call.\n\nIn order for the delegated authentication token to be considered valid, a\ndelegated authorization token must be provided for the same operation. The\ndelegated authorization token is similar to the ordinary authorization token,\nbut contains the additional claim `delegated_to`. The values of the\n`delegated_to` and `resource_name` claims must match the values in the\ndelegated authentication token.\n\nWe recommend that you set a lifetime value of 15 minutes for the delegated\nauthentication tokens to avoid potential reuse in case of leakage.\n\n| JSON representation ||\n|----------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|\n| ``` { \"email\": string, \"iss\": string, \"aud\": string, \"exp\": string, \"iat\": string, \"google_email\": string, \"delegated_to\": string, \"resource_name\": string ... } ``` |\n\n| Fields ||\n|-----------------|-------------------------------------------------------------------------------------------------------|\n| `email` | `string (UTF-8)` The user's UTF-8 formatted email address. |\n| `iss` | `string` The token issuer, should be validated against the trusted set of authentication issuers. |\n| `aud` | `string` The audience, as identified by the IdP. Should be checked against the local configuration. |\n| `exp` | `string` Expiration time, should be checked. |\n| `iat` | `string` Issuance time, should be checked. |\n| `delegated_to` | `string` An identifier for the entity to delegate authentication to. |\n| `resource_name` | `string` An identifier for the object encrypted by the DEK, for which the delegation is valid. |\n| `...` | The KACLS is free to use any other claims (location, custom claim, etc...) to evaluate the perimeter. |\n\nKACLS authentication token for `PrivilegedUnwrap`\n-------------------------------------------------\n\nBearer token ([JWT: RFC 7516](https://tools.ietf.org/html/rfc7516))\nissued by the identity partner (IdP) to attest a user's identity.\n\nThis is only used on `PrivilegedUnwrap`. During `PrivilegedUnwrap`, if a KACLS\nJWT is used in place of an IDP authentication token, the recipient KACLS must\nfirst fetch the JWKS of the issuer, then verify the token signature, before\nchecking the claims.\n\n| JSON representation ||\n|--------------------------------------------------------------------------------------------------------------------------|---|\n| ``` { \"aud\": string, \"exp\": string, \"iat\": string, \"iss\": string, \"kacls_url\": string, \"resource_name\": string ... } ``` |\n\n| Fields ||\n|-----------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `aud` | `string` The audience, as identified by the IdP. For Drive client-side encryption (CSE) `PrivilegedUnwrap` operations, this should be `kacls-migration`. |\n| `exp` | `string` Expiration time. |\n| `iat` | `string` Issuance time. |\n| `iss` | `string` The token issuer. Should be validated against the trusted set of authentication issuers. Must match the `KACLS_URL` of the requesting KACLS. The public key set of the issuer can be found at /certs. |\n| `kacls_url` | `string` URL of current KACLS, that the data is being decrypted on. |\n| `resource_name` | `string` An identifier for the object encrypted by the DEK. Maximum size: 128 bytes. |\n| `...` | Your Key Access Control List Service (KACLS) is free to use any other claims (location, custom claim, etc) to evaluate the perimeter. |"]]