Vista geral dos tokens

Este documento e o documento Tipos de tokens abordam os vários tokens usados pelo Google Cloud para autenticação e autorização. Destinam-se a pessoas que querem saber como funciona a autenticação baseada em tokens ou que querem implementar a autenticação sem usar as bibliotecas de cliente da nuvem.

Não precisa de saber estas informações quando interage com as Google Cloud APIs através das bibliotecas de cliente da nuvem, da Google Cloud consola ou da CLI Google Cloud. O processo de seleção do tipo de token correto, bem como a obtenção e a atualização desses tokens, é processado automaticamente por si.

Autenticação do utilizador

Quando os utilizadores humanos interagem com o Google Cloud, não interagem diretamente com as APIsGoogle Cloud . Em alternativa, usam um cliente para agir em seu nome. O cliente que usam pode ser uma app Web, uma app para computador ou uma utilidade como a CLI Google Cloud ou o curl.

Uma vez que é o cliente que faz os pedidos e não o utilizador, Google Cloud não é possível pedir informações de identidade ao utilizador diretamente para verificar se tem autorização para usar uma API. Em alternativa, esta identidade é transmitida à API através do cliente sob a forma de um token, que é incluído em cada pedido da API.

Um token de autenticação do utilizador codifica as seguintes informações:

  • A identidade do utilizador.

  • A identidade do cliente.

  • Garantia de que o cliente tem autorização para agir em nome do utilizador.

A autenticação do utilizador e a autorização do cliente envolvem as seguintes partes:

  • Um utilizador.

  • Um cliente que atua em nome do utilizador.

  • Um servidor de autorizações, no qual as APIs Google se baseiam para autenticar o cliente.

  • Uma Google Cloud API com a qual o cliente interage.

Os clientes não podem emitir tokens. Em alternativa, têm de trabalhar com um servidor de autorização para fazer o seguinte:

  1. Autentique o utilizador.

  2. Autentique o cliente.

  3. Autorizar o cliente a agir em nome do utilizador.

  4. Emitir um token para o cliente.

Um diagrama de relações de um utilizador que se autentica através de um cliente

Um utilizador que se autentica iniciando sessão na respetiva Conta Google é um principal do tipo utilizador. O principal tem um identificador principal semelhante ao seguinte:

user:alex@example.com

Um utilizador que se autentica através da federação de identidade da força de trabalho e de um fornecedor de identidade externo é um principal do Workforce Identity Pool. O principal tem um identificador principal semelhante ao seguinte:

principal://iam.googleapis.com/locations/global/workforcePools/POOL_ID/subject/raha@altostrat.com

Autenticação de cargas de trabalho

Alguns clientes precisam de interagir com as APIs Google em seu próprio nome. Por exemplo, uma tarefa agendada pode ter de ler dados do BigQuery ou do Cloud Storage sem a intervenção de um utilizador humano.

Os clientes que atuam sem supervisão e em seu próprio nome são denominados cargas de trabalho. Ao contrário da autenticação do utilizador, a autenticação de cargas de trabalho combina a autenticação do utilizador e a autorização do cliente num único passo. Por este motivo, um token de autenticação de carga de trabalho codifica a identidade apenas do cliente.

A autenticação e a autorização de cargas de trabalho envolvem as seguintes partes:

  • Uma carga de trabalho que atua como cliente e utilizador, e em seu próprio nome.

  • Um servidor de autorizações, no qual as APIs Google se baseiam para autenticar o cliente.

  • Uma Google Cloud API com a qual o cliente interage.

Para aceder às Google Cloud APIs, os clientes têm de trabalhar com um servidor de autorizações para fazer o seguinte:

  1. Autentique o cliente.

  2. Autorize o cliente.

  3. Emitir um token para o cliente.

Um diagrama de relações de uma carga de trabalho que se autentica através de um cliente

Uma carga de trabalho autenticada também é denominada principal, mas as cargas de trabalho usam identificadores principais diferentes dos utilizadores.

Uma carga de trabalho que faz a autenticação através de uma conta de serviço é um principal da conta de serviço. O principal tem um identificador principal semelhante ao seguinte:

serviceAccount:my-service-account@my-project.iam.gserviceaccount.com

Uma carga de trabalho que se autentica através da federação de identidade da carga de trabalho é um principal do Workload Identity Pool. O principal tem um identificador principal semelhante ao seguinte:

principal://iam.googleapis.com/projects/PROJECT_NAME/locations/global/workloadIdentityPools/POOL_ID/subject/SUBJECT_ATTRIBUTE_VALUE

Servidores de autorização

Google Cloud partilha instalações de autenticação e autorização específicas com outros serviços Google. As instalações partilhadas incluem o Início de sessão com o Google e os serviços OpenID Connect e OAuth 2.0 fornecidos pela Google Identity.

Outros serviços relacionados com a autenticação, como a Workload Identity Federation e a Workforce Identity Federation, são específicos do Google Cloud e não podem ser usados para outros serviços Google.

Devido a esta divisão,o Google Cloud usa dois servidores de autorização. Um é partilhado com outros serviços Google e o outro é específico do Google Cloud. A tabela seguinte descreve os diferentes servidores e as respetivas propriedades.

Servidor de autorização Tipo de autenticação APIs de autenticação Diretores
Servidor de autorização da Google
  • Autenticação do utilizador
  • Autenticação de cargas de trabalho
Google Cloud Servidor de autorizações da gestão de identidade e de acesso (IAM)
  • Autenticação do utilizador
  • Autenticação de cargas de trabalho

Os servidores de autorização são serviços globais e podem ser acedidos a partir de qualquer Google Cloud região. No entanto, nem todas as regiões contêm implementações de ambos os servidores de autorização:

  • O servidor de autorização da Google está disponível em determinadas regiões.

  • O servidor de autorização do Google Cloud IAM está disponível em todas as regiões.

Para otimizar a fiabilidade, use o servidor de autorização do IAM sempre que possível. Google Cloud

O que se segue?

Leia acerca dos tipos de tokens.