Tokens de autenticação

Token do portador (JWT: RFC 7519) emitido pelo provedor de identidade (IdP, na sigla em inglês) 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. Precisa 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 no 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 contém a identidade de e-mail do Google Workspace do usuário.

...

O serviço de lista de controle de acesso a chaves (KACLS, na sigla em inglês) pode usar outras declarações (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 7519) que é um token de autenticação do 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 delegado que limita o escopo do token de autenticação original.

O token de autenticação delegado é semelhante ao token de autenticação comum, com uma declaração adicional:

receba o pagamento
delegated_to

string

Um identificador da entidade para delegar a autenticação.

Em um contexto de delegação, a declaração resource_name no token de autenticação é usada para identificar o objeto criptografado pela chave de criptografia de dados (DEK, na sigla em inglês) 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. Ele pode ser JWTs autoassinados que o KACLS pode validar ou o KACLS pode usar qualquer outro IdP para fazer isso, por meio de uma chamada confiável.

Para que o token de autenticação delegado seja considerado válido, um token de autorização delegado precisa ser fornecido para a mesma operação. O token de autorização delegado é 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 delegado.

Recomendamos definir um valor de vida útil de 15 minutos para os tokens de autenticação delegados para evitar a 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 no conjunto confiável de emissores de autenticação.

aud

string

O público-alvo, conforme identificado pelo IdP. Precisa 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 para 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 outras declarações (localização, declaração personalizada, etc.) para avaliar o perímetro.

Token de autenticação do KACLS para PrivilegedUnwrap

Token do portador (JWT: RFC 7519) emitido pelo provedor de identidade (IdP) para atestar a identidade de um usuário.

Isso só é usado em PrivilegedUnwrap. Durante PrivilegedUnwrap, se um JWT do KACLS for usado no lugar de um token de autenticação do IdP, o KACLS do destinatário precisará buscar o JWKS do emissor e verificar a assinatura do token antes de verificar 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 Google Drive PrivilegedUnwrap, esse valor 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 no 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 <iss>/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.

...

O serviço de lista de controle de acesso a chaves (KACLS, na sigla em inglês) pode usar outras declarações (localização, declaração personalizada etc.) para avaliar o perímetro.