Más información sobre la autenticación y la autorización

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

La autenticación y la autorización son mecanismos que se usan para verificar la identidad y el acceso a los recursos, respectivamente. En este documento, se identifican los términos clave que debes tener en cuenta antes de implementar la autenticación y la autorización en tu app.

Nota: Esta descripción general se centra en la autenticación y la autorización para las API de Google Workspace. Es posible que parte de la información en este documento no pertenezca a otras API de Google.

Descripción general del proceso

En el siguiente diagrama, se muestran los pasos de alto nivel de autenticación y autorización para las API de Google Workspace:

Pasos de alto nivel de una implementación de autenticación y autorización
Figura 1: Pasos de alto nivel de una implementación de autenticación y autorización
  1. Configura tu app y proyecto de Google Cloud: Durante el desarrollo, registra tu app en Google Cloud Console, define los permisos de autorización y las credenciales de acceso para autenticar tu app con una clave de API, una credencial de usuario final o una credencial de cuenta de servicio.

  2. Autentica tu app para el acceso: Cuando se ejecuta tu app, se evalúan las credenciales de acceso registradas. Si tu app se autentica como usuario final, es posible que aparezca un mensaje de acceso.

  3. Solicitar recursos: cuando tu app necesita acceder a los recursos de Google, se la solicita a Google mediante los alcances de acceso relevantes que registraste antes.

  4. Solicitar el consentimiento del usuario: Si tu app se autentica como usuario final, Google mostrará la pantalla de consentimiento de OAuth para que el usuario pueda decidir si le otorga acceso a los datos solicitados.

  5. Envía una solicitud de recursos aprobados: Si el usuario da su consentimiento para los permisos de acceso, la app agrupa las credenciales y los alcances de acceso aprobados por el usuario en una solicitud. La solicitud se envía al servidor de autorización de Google para obtener un token de acceso.

  6. Google muestra un token de acceso: el token de acceso contiene una lista de niveles de acceso otorgados. Si la lista de alcances que se muestra es más limitada que los permisos de acceso solicitados, tu app inhabilita cualquier función que limite el token.

  7. Acceso a los recursos solicitados: tu app usa el token de acceso de Google para invocar las API relevantes y acceder a los recursos.

  8. Obtener un token de actualización (opcional): Si tu app necesita acceder a una API de Google más allá de la vida útil de un solo token de acceso, puede obtener un token de actualización.

  9. Solicitar más recursos: Si se necesita acceso adicional, tu app le solicita al usuario que otorgue permisos de acceso nuevos, lo que genera una nueva solicitud para obtener un token de acceso (pasos 3-6).

Terminología importante

A continuación, se muestra una lista de términos relacionados con la autenticación y la autorización:

Autenticación

El acto de garantizar que un principal, que puede ser un usuario o una aplicación que actúe en nombre de un usuario, sea quien dice ser. Cuando escribas apps de Google Workspace, debes tener en cuenta estos tipos de autenticación:

Autenticación de usuarios
Es el hecho de que un usuario se autentique (acceda) en tu app. La autenticación de usuario se suele llevar a cabo mediante un proceso de acceso en el que el usuario usa una combinación de nombre de usuario y contraseña para verificar su identidad en la app. La autenticación de usuarios se puede incorporar en una app mediante Acceder con Google.
Autenticación de la aplicación
Es el acto de una app que se autentica directamente en los servicios de Google en nombre del usuario que ejecuta la app. Por lo general, la autenticación se realiza mediante credenciales creadas con anterioridad en el código de tu app.
Autorización

Los permisos o la "autoridad" que tiene la principal para acceder a los datos o realizar operaciones. El acto de autorización se lleva a cabo mediante el código que escribes en tu app. Este código informa al usuario que la app desea actuar en su nombre y, si se permite, usa las credenciales únicas de tu app para obtener un token de acceso de Google que se usa para acceder a los datos o realizar operaciones.

Credentials

Una forma de identificación que se usa en la seguridad de software. En términos de autenticación, una credencial suele ser una combinación de nombre de usuario y contraseña. En términos de autorización para las API de Google Workspace, una credencial suele ser una forma de identificación, como una string secreta única, que solo se conoce entre el desarrollador de la app y el servidor de autenticación. Google admite estas credenciales de autenticación: clave de API, ID de cliente de OAuth 2.0 y cuentas de servicio.

Clave de API
La credencial que se usa para solicitar acceso a datos públicos, como los datos proporcionados con la API de Google Maps o los archivos de Google Workspace que se comparten con la configuración "Cualquier usuario de Internet con este vínculo" en la configuración de uso compartido de Google Workspace.
ID de cliente OAuth 2
Es la credencial que se usa para solicitar acceso a los datos del usuario. Esta es la credencial principal que se usa cuando se solicita acceso a los datos mediante las API de Google Workspace. Esta credencial requiere el consentimiento del usuario.
Secreto del cliente
Una string de caracteres que solo tu aplicación y el servidor de autorización deben conocer. El secreto de cliente protege los datos del usuario mediante la concesión de tokens solo a los solicitantes autorizados. Nunca debes incluir el secreto del cliente en tu app.
Claves de cuenta de servicio
Las cuentas de servicio las usan para obtener la autorización de un servicio de Google.
Cuenta de servicio
Una credencial que se usa para las interacciones de servidor a servidor, como una app sin rostros que se ejecuta como un proceso para acceder a algunos datos o realizar alguna operación. Las cuentas de servicio suelen usarse para acceder a datos y operaciones en la nube. Sin embargo, cuando se usan con la delegación de autoridad en todo el dominio, se pueden usar para acceder a los datos del usuario.
Alcance

Una string de URI OAuth 2.0 que define un nivel de acceso a los recursos o acciones otorgados a una app. Para Google Workspace, los URI del permiso de autorización contienen el nombre de la app de Google Workspace, a qué tipo de datos accede y el nivel de acceso. Los usuarios de tu app pueden revisar los alcances solicitados y elegir qué tipo de acceso otorgar. Luego, el servidor de autenticación de Google mostrará los permisos permitidos en tu app en un token de acceso. Para obtener más detalles, consulta Cómo elegir los alcances para tu app.

Servidor de autorización

El servidor de Google para otorgar acceso, mediante un token de acceso, a los datos y las operaciones que solicita la app.

Código de autorización

Un código enviado desde el servidor de autorización que se usa para obtener un token de acceso. Solo se necesita un código cuando tu tipo de aplicación es una app de servidor web o instalada.

Token de acceso

Un token que otorga acceso a una API de Google Workspace. Un solo token de acceso puede otorgar diversos grados, conocidos como alcances, de acceso a varias API. El código de autorización de la app solicita tokens de acceso y los usa para invocar las API de Google Workspace.

Servidor de recursos

El servidor que aloja la API a la que quiere llamar tu app.

Marco de trabajo de OAuth 2.0

Un estándar que tu app puede usar para proporcionarle acceso delegado o seguro a los datos y las operaciones en nombre del usuario de la app Los mecanismos de autenticación y autorización que usas en tu app representan tu implementación del marco de trabajo de OAuth 2.0.

Principal

Una entidad, también conocida como una identidad, a la que se le puede otorgar acceso a un recurso. Las API de Google Workspace admiten dos tipos de principales: cuentas de usuario y cuentas de servicio. Para obtener más información, consulta Principales.

Tipo de datos

En el contexto de la autenticación y la autorización, el tipo de datos se refiere a la entidad que posee los datos a los que intenta acceder la app. Existen tres tipos de datos:

Datos de dominio público
Datos a los que puede acceder cualquier persona, como algunos datos de mapas de Google. Por lo general, se accede a estos datos mediante una clave de API.
Datos del usuario final
Datos que pertenecen a un usuario final o grupo específico, como los archivos de Google Drive de un usuario específico. Por lo general, se accede a este tipo de datos mediante un ID de cliente de OAuth 2 o una cuenta de servicio.
Datos de Cloud
Datos que pertenecen a un proyecto de Google Cloud Por lo general, una cuenta de servicio accede a este tipo de datos.
Consentimiento del usuario

Un paso de autorización que requiera que el usuario de tu app autorice su acceso a los datos y que realice operaciones en nombre de este.

Tipo de aplicación

El tipo de aplicación que creará. Cuando crees credenciales con Google Cloud Console, se te pedirá que selecciones el tipo de aplicación. Los tipos de aplicación son: aplicación web (JavaScript), Android, app de Chrome, iOS, TV y dispositivos de entrada limitada, app de escritorio (también llamada “app instalada”) y plataforma universal de Windows (UWP).

Cuenta de servicio

Un tipo especial de Cuenta de Google que se usa para representar a un usuario no humano que debe autenticarse y tener autorización para acceder a los datos. Tu aplicación asume la identidad de la cuenta de servicio para llamar a las API de Google, de modo que los usuarios no estén involucrados de forma directa. Por sí mismas, las cuentas de servicio no se pueden usar para acceder a los datos del usuario; a los datos se suele acceder mediante las API de Workspace. Sin embargo, una cuenta de servicio puede acceder a los datos del usuario mediante la implementación de la delegación de autoridad de todo el dominio. Para obtener más detalles, consulta Comprende las cuentas de servicio.

Delegación de autoridad de todo el dominio

Una función de administración que puede autorizar a una aplicación para que acceda a los datos del usuario en nombre de los usuarios de la organización de Google Workspace. La delegación de todo el dominio se puede usar para realizar tareas relacionadas con el administrador en los datos del usuario. Para delegar la autoridad de esta manera, los administradores de Google Workspace usan cuentas de servicio con OAuth 2.0. Debido al poder de esta función, solo los administradores avanzados pueden habilitar la delegación de autoridad de todo el dominio. Para obtener más detalles, consulta Delegación de la autoridad de todo el dominio a una cuenta de servicio.

Próximo paso

Configura la pantalla de consentimiento de OAuth de tu app para asegurarte de que los usuarios puedan comprender y aprobar qué acceso tiene tu app a sus datos.