En este documento y en el documento Tipos de tokens se describen los distintos tokens que usa Google Cloud para la autenticación y la autorización. Están pensadas para usuarios que quieran saber cómo funciona la autenticación basada en tokens o que quieran implementar la autenticación sin usar las bibliotecas de cliente de Cloud.
No es necesario que conozcas esta información cuando interactúas con las APIs mediante las bibliotecas de cliente de Cloud, la consola o la CLI de Google Cloud. El proceso de selección del tipo de token adecuado, así como la obtención y la actualización de esos tokens, se gestionan automáticamente. Google CloudGoogle Cloud
Autenticación de usuarios
Cuando los usuarios humanos interactúan con Google Cloud, no lo hacen directamente con las APIs deGoogle Cloud . En su lugar, utilizan un cliente para actuar en su nombre.
El cliente que utilicen puede ser una aplicación web, una aplicación de escritorio o una utilidad como Google Cloud CLI o curl
.
Como es el cliente quien hace las solicitudes y no el usuario, Google Cloud no puede solicitar información de identidad directamente al usuario para comprobar si tiene permiso para usar una API. En su lugar, esta identidad se transfiere a la API a través del cliente en forma de token, que se incluye en cada solicitud a la API.
Un token de autenticación de usuario codifica la siguiente información:
La identidad del usuario.
La identidad del cliente.
Garantía de que el cliente tiene permiso para actuar en nombre del usuario.
Para autenticar al usuario y autorizar al cliente, se necesitan las siguientes partes:
Un usuario.
Un cliente que actúa en nombre del usuario.
Un servidor de autorización, en el que se basan las APIs de Google para autenticar al cliente.
Una API Google Cloud con la que interactúa el cliente.
Los clientes no pueden emitir tokens por sí mismos. En su lugar, deben colaborar con un servidor de autorización para hacer lo siguiente:
Autentica al usuario.
Autentica al cliente.
Autoriza al cliente para que actúe en nombre del usuario.
Emite un token al cliente.
Un usuario que se autentica iniciando sesión en su cuenta de Google es una entidad principal. La entidad principal tiene un identificador de entidad principal similar al siguiente:
user:alex@example.com
Un usuario que se autentica mediante la federación de identidades para los trabajadores y un proveedor de identidades externo es una entidad principal de grupo de identidades para los trabajadores. El principal tiene un identificador similar al siguiente:
principal://iam.googleapis.com/locations/global/workforcePools/POOL_ID/subject/raha@altostrat.com
Autenticación de cargas de trabajo
Algunos clientes necesitan interactuar con las APIs de Google en su propio nombre. Por ejemplo, una tarea programada puede necesitar leer datos de BigQuery o Cloud Storage sin que intervenga ningún usuario humano.
Los clientes que actúan de forma desatendida y por su cuenta se denominan cargas de trabajo. A diferencia de la autenticación de usuarios, la autenticación de cargas de trabajo combina la autenticación del usuario y la autorización del cliente en un solo paso. Por este motivo, un token de autenticación de carga de trabajo codifica la identidad solo del cliente.
En la autenticación y autorización de cargas de trabajo participan las siguientes partes:
Una carga de trabajo que actúa como cliente y usuario, y por cuenta propia.
Un servidor de autorización, en el que se basan las APIs de Google para autenticar al cliente.
Una API Google Cloud con la que interactúa el cliente.
Para acceder a las APIs de Google Cloud , los clientes deben trabajar con un servidor de autorización para hacer lo siguiente:
Autentica al cliente.
Autoriza al cliente.
Emite un token al cliente.
Una carga de trabajo autenticada también se denomina principal, pero las cargas de trabajo usan identificadores principales diferentes a los de los usuarios.
Una carga de trabajo que se autentica mediante una cuenta de servicio es una cuenta de servicio principal. La entidad principal tiene un identificador similar al siguiente:
serviceAccount:my-service-account@my-project.iam.gserviceaccount.com
Una carga de trabajo que se autentica mediante la federación de identidades de cargas de trabajo es una entidad principal de grupo de identidades de cargas de trabajo. El principal tiene un identificador principal similar al siguiente:
principal://iam.googleapis.com/projects/PROJECT_NAME/locations/global/workloadIdentityPools/POOL_ID/subject/SUBJECT_ATTRIBUTE_VALUE
Servidores de autorización
Google Cloud comparte funciones específicas de autenticación y autorización con otros servicios de Google. Entre las funciones compartidas se incluyen Iniciar sesión con Google y los servicios OpenID Connect y OAuth 2.0 que proporciona Google Identity.
Otros servicios relacionados con la autenticación, como la federación de identidades de carga de trabajo y la federación de identidades de empleados, son específicos de Google Cloud y no se pueden usar en otros servicios de Google.
Debido a esta división, Google Cloud usa dos servidores de autorización. Una se comparte con otros servicios de Google y la otra es específica de Google Cloud. En la siguiente tabla se describen los diferentes servidores y sus propiedades.
Servidor de autorización | Authentication type (Tipo de autenticación) | APIs de autenticación | Directores |
---|---|---|---|
Servidor de autorización de Google |
|
|
|
Google Cloud Servidor de autorización de gestión de identidades y accesos (IAM) |
|
|
Los servidores de autorización son servicios globales y se puede acceder a ellos desde cualquier Google Cloud región. Sin embargo, no todas las regiones contienen implementaciones de ambos servidores de autorización:
El servidor de autorización de Google está disponible en determinadas regiones.
El servidor de autorización de Google Cloud IAM está disponible en todas las regiones.
Para optimizar la fiabilidad, usa el servidor de Google Cloud autorización de IAM siempre que sea posible.
Siguientes pasos
Consulta información sobre los tipos de tokens.