Tokens de autenticação

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.