Casos de uso de autenticación y autorización

En esta página, se enumeran algunos casos de uso habituales de autenticación y autorización, con vínculos a más información sobre cómo implementar cada uno.

Para obtener una descripción general de la autenticación en Google, consulta Autenticación en Google.

Autentica en las APIs de Google

Las APIs de Google requieren un token de acceso o una clave de API válidos en cada solicitud. La forma de proporcionar estas credenciales obligatorias depende de dónde se ejecute tu código y los tipos de credenciales que acepte.

Usa las bibliotecas cliente y las credenciales predeterminadas de la aplicación

La forma recomendada de usar las APIs de Google es usar una biblioteca cliente y credenciales predeterminadas de la aplicación (ADC). Application Default Credentials (ADC) es una estrategia que usan las bibliotecas de autenticación de Google para encontrar credenciales automáticamente según el entorno de la aplicación. Las bibliotecas de autenticación ponen esas credenciales a disposición de las bibliotecas cliente de Cloud y las bibliotecas cliente de las APIs de Google. Cuando usas ADC, el código puede ejecutarse en un entorno de producción o de desarrollo sin cambiar la forma en que la aplicación se autentica en los servicios y las APIs de Google Cloud.

La forma de configurar las ADC depende de dónde se ejecuta tu código. Las ADC admiten la autenticación como cuenta de servicio y la autenticación como usuario.

Autenticación desde Google Kubernetes Engine (GKE)

Usa Workload Identity para habilitar las cargas de trabajo que se ejecutan en GKE a fin de acceder de forma segura a las APIs de Google. Workload Identity permite que una cuenta de servicio de GKE en tu clúster de GKE actúe como una cuenta de servicio de Identity and Access Management (IAM).

Autentica desde Cloud Run for Anthos

Autenticas los servicios de Cloud Run for Anthos mediante Workload Identity, que te permite acceder a las APIs de Google.

Usa una API que acepte claves de API

Las claves de API asocian una solicitud a la API con un proyecto de Google Cloud para fines de facturación y cuota. Si una API admite claves de API, se puede proporcionar una clave de API con la solicitud a la API en lugar del token. Para determinar si una API admite claves de API, consulta la documentación de tu API.

Usa tokens web JSON (JWT) autofirmados

Algunas APIs de Google admiten tokens web JSON (JWT) autofirmados en lugar de tokens de acceso. El uso de un JWT autofirmado te permite evitar realizar una solicitud de red al servidor de autorización de Google. Este enfoque requiere que crees tu propio JWT firmado. Para obtener más información sobre los tokens, consulta Tipos de tokens.

Usa los paquetes y las bibliotecas de autenticación

Si las ADC y la implementación de OAuth proporcionada por las bibliotecas cliente de Cloud o las bibliotecas cliente de la API de Google no están disponibles en tu entorno, puedes usar las bibliotecas y los paquetes de autenticación.

Las siguientes bibliotecas y paquetes de autenticación están disponibles:

También puedes implementar el flujo de OAuth 2.0 con los extremos de OAuth 2.0 de Google. Este enfoque requiere una comprensión más detallada de cómo funcionan OAuth 2.0 y OpenID Connect. A fin de obtener más información, consulta Usa OAuth 2.0 para aplicaciones de servidor web.

Casos de uso específicos del servicio de Google Cloud

Algunos servicios de Google Cloud admiten flujos de autenticación específicos para ese servicio.

Proporciona acceso por un tiempo limitado a un recurso de Cloud Storage mediante URL firmadas

Las URLs firmadas proporcionan acceso por un tiempo limitado a un recurso específico de Cloud Storage.

Autentícate en clústeres de GKE Enterprise

Puedes autenticarte en los clústeres de GKE Enterprise mediante identidades de Google Cloud o mediante un proveedor de identidad de terceros:

Configura una API implementada con API Gateway o Cloud Endpoints para la autenticación

API Gateway y Cloud Endpoints admiten la autenticación entre servicios y la autenticación de usuarios con Firebase, tokens de ID firmados por Google, Okta, Auth0 y JWT.

Para obtener más información, consulta la documentación del producto:

Autenticación para aplicaciones alojadas en Cloud Run o Cloud Functions

Las aplicaciones alojadas en Cloud Run y Cloud Functions requieren tokens de OpenID Connect (OIDC) o tokens de ID para la autenticación.

Para obtener más información, consulta la documentación del producto de los servicios de hosting que se enumeran a continuación. Para obtener información sobre otras formas de adquirir un token de ID, consulta Obtén un token de ID. Para obtener más información sobre los tokens de ID, como la validación de tokens de ID, consulta Tokens de ID.

Cloud Run

Hay varias formas de configurar un servicio de Cloud Run, según cómo se invocará el servicio. Es posible que también debas autenticarte en otros servicios desde un servicio de Cloud Run, que requiere un token de ID de OIDC.

A fin de autenticar usuarios en tu servicio desde una app web o para dispositivos móviles, usa Identity Platform o Firebase Authentication. También puedes usar Identity-Aware Proxy (IAP) para autenticar usuarios internos.

Cloud Functions

Cuando invocas una función, debes autenticar la invocación. Puedes usar credenciales de usuario o un token de ID de OIDC.

Autentica usuarios de aplicaciones

Existen varias opciones para autenticar a los usuarios finales de tu aplicación, según el resto del entorno de tus aplicaciones. Usa las siguientes descripciones a fin de ayudarte a comprender la mejor opción para tu aplicación.

Servicio de autenticación Descripción
Google Identity Services

Google Identity Services incluyen Acceder con Google, el botón de acceso de usuarios de Google y las APIs y el SDK de Identity Services. Google Identity Services se basan en los protocolos OAuth 2.0 y OpenID Connect (OIDC).

Si creas una aplicación para dispositivos móviles y deseas autenticar a los usuarios mediante cuentas de Gmail y Google Workspace, Acceder con Google podría ser una buena opción. Acceder con Google también admite el uso de Cuentas de Google con un sistema de acceso existente.

Más información

Acceder con Google proporciona acceso con cuentas de Gmail y Google Workspace, y es compatible con contraseñas de un solo uso (OTP). Acceder con Google está dirigido a cuentas solo de Google, o Cuentas de Google en un sistema de acceso existente, para aplicaciones móviles.

Acceder con Google está disponible para iOS, Android y aplicaciones web.

Firebase Authentication

Firebase Authentication proporciona servicios y bibliotecas de autenticación para autenticar usuarios en tu aplicación en una amplia variedad de tipos de cuentas de usuario.

Si quieres aceptar los accesos de los usuarios de varias plataformas, Firebase Authentication puede ser una buena opción.

Más información

Firebase Authentication proporciona funciones de autenticación para muchos tipos de cuentas de usuario. Firebase Authentication admite la autenticación con contraseña y el acceso federado con Google, Facebook y Twitter, entre otras plataformas.

Identity Platform y Firebase Authentication se basan en Google Identity Services. Firebase Authentication está destinada a aplicaciones para consumidores. Identity Platform es ideal para los usuarios que desean ser sus propios proveedores de identidad o que necesitan la funcionalidad lista para empresas que proporciona Identity Platform. Para obtener más información sobre las diferencias entre estos productos, consulta Diferencias entre Identity Platform y Firebase Authentication.

Los siguientes vínculos proporcionan más información:

Identity Platform

Identity Platform es una plataforma de administración de identidades y accesos de clientes (CIAM) que ayuda a las organizaciones a incorporar funciones de administración de identidades y accesos de nivel empresarial a sus aplicaciones.

Si creas una aplicación para usar con un proveedor de identidad de Google, como Google Workspace, o tu propio servicio de administración de identidades y accesos, Identity Platform puede ser una buena opción.

Más información

Identity Platform proporciona un servicio directo de identidad y autenticación personalizable para el registro y acceso de los usuarios. Identity Platform es compatible con varios métodos de autenticación: SAML, OIDC, correo electrónico y contraseña, redes sociales, teléfono y opciones personalizadas.

Identity Platform y Firebase Authentication se basan en Google Identity Services. Firebase Authentication está destinada a aplicaciones para consumidores. Identity Platform es ideal para los usuarios que desean ser sus propios proveedores de identidad o que necesitan la funcionalidad lista para empresas que proporciona Identity Platform. Para obtener más información sobre las diferencias entre estos productos, consulta Diferencias entre Identity Platform y Firebase Authentication.

OAuth 2.0 y OpenID Connect

OpenID Connect te permite manejar y usar los tokens de autenticación con la mayor personalización.

Si deseas tener el máximo control sobre la implementación de OAuth 2.0 y te sientes cómodo con la implementación de flujos de OAuth 2.0, considera esta opción.

Más información

La implementación de OAuth 2.0 de Google cumple con la especificación de OpenID Connect y cuenta con la certificación de OpenID. OpenID Connect es una capa de identidad basada en el protocolo OAuth 2.0. Tu aplicación puede usar OpenID Connect para validar el token de ID y recuperar información del perfil del usuario.

OAuth 2.0 se puede usar para implementar la autenticación programática en un recurso protegido con Identity-Aware Proxy (IAP).

Identity-Aware Proxy (IAP)

IAP te permite controlar el acceso a tu aplicación antes de que las solicitudes lleguen a los recursos de tu aplicación.

A diferencia de los otros servicios de autenticación de esta tabla, que se implementan dentro de tu aplicación, IAP realiza la autenticación antes de que se pueda acceder a ella.

Más información

Con IAP, establece una capa de autorización central para las aplicaciones y usa encabezados firmados a fin de proteger tu aplicación. Solo las principales que tengan el rol de IAM correcto pueden acceder a las aplicaciones protegidas por IAP. Cuando un usuario final intenta acceder a un recurso protegido por IAP, IAP realiza verificaciones de autenticación y autorización por ti. IAP no protege contra la actividad dentro de un mismo proyecto, como la de otro servicio en el mismo proyecto.

Para las identidades de Google, IAP usa tokens de ID. Para obtener más información, consulta Autenticación programática.

Para obtener información sobre cómo IAP protege tus recursos de aplicación, consulta la descripción general de IAP.

Los siguientes instructivos específicos sobre lenguajes están disponibles para IAP:

API de usuarios de App Engine En el caso de las aplicaciones que se ejecutan en el entorno estándar de App Engine, la API de usuarios está disponible a fin de proporcionar funcionalidades de autenticación de usuarios para algunos lenguajes.
Autoriza el acceso para los recursos del usuario final Si tu aplicación accede a recursos que pertenecen a tu usuario final, debes proteger su permiso para hacerlo. A veces, este caso de uso se llama OAuth de tres segmentos o 3LO, porque hay tres entidades involucradas: la aplicación, el servidor de autorización y el usuario.

Opciones de autenticación y autorización para Google Cloud y Google Workspace

Google Cloud y Google Workspace proporcionan varias opciones para configurar el acceso, mejorar la seguridad de la cuenta y administrar cuentas.

Otorga acceso a los recursos de Google Cloud para cargas de trabajo externas

La federación de Workload Identity te permite otorgar a las cargas de trabajo locales o de múltiples nubes acceso a los recursos de Google Cloud. Históricamente, este caso de uso requería el uso de claves de cuentas de servicio, pero la federación de Workload Identity evita el mantenimiento y la carga de seguridad de usar claves de cuentas de servicio. La federación de identidades para cargas de trabajo admite muchos proveedores de identidad compatibles con OIDC o SAML 2.0. Los proveedores de identidad admitidos incluyen AWS, Azure Active Directory, Active Directory local, Okta, acciones de GitHub y clústeres de Kubernetes.

Configura un proveedor de identidad

Puedes usar Google como tu proveedor de identidad mediante Cloud Identity o Google Workspace. También puedes federar una cuenta de Cloud Identity o Google Workspace con un proveedor de identidad externo. Este enfoque usa SAML, lo que permite que tus empleados usen su identidad y credenciales existentes para acceder a los servicios de Google.

Configura la autenticación de dos factores

Exigir la autenticación de dos factores es una práctica recomendada que ayuda a evitar que las personas que actúan de mala fe accedan a una cuenta cuando obtienen acceso a las credenciales de esa cuenta. Con la autenticación de dos factores, se requiere una segunda información o identificación del usuario antes de autenticarse. Google proporciona varias soluciones que admiten el estándar FIDO (identidad rápida en línea).

Identity Platform es compatible con la autenticación de dos factores para las apps web, iOS y Android.

Los servicios de Google Identity admiten la autenticación FIDO (identidad rápida en línea).

Google admite varias soluciones de hardware para la autenticación de dos factores, como las llaves Titan.

Configura el acceso basado en certificados

Como parte de la solución de confianza cero de BeyondCorp Enterprise, el acceso basado en certificados limita el acceso solo a los usuarios autenticados en un dispositivo de confianza, ya que identifica dispositivos mediante sus certificados X.509. El acceso basado en certificados también se conoce como seguridad de la capa de transporte mutua (mTLS).

Información general de la cuenta y la autenticación

Obtén ayuda para acceder a una Cuenta de Google

Si necesitas ayuda para acceder a una Cuenta de Google o administrarla, consulta la página de asistencia de la Cuenta de Google.

Administra credenciales vulneradas

Si crees que tus credenciales fueron vulneradas, tú o tu administrador pueden tomar medidas para mitigar la situación. Para obtener más información, consulta Controla las credenciales vulneradas de Google Cloud.

Obtén ayuda con problemas de autoridades certificadoras

Si observas errores relacionados con un problema con el certificado o la autoridad certificadora (CA), incluida la CA raíz, consulta las Preguntas frecuentes sobre Google Trust Services para obtener más información.