Puedes configurar tu cuenta de Cloud Identity o Google Workspace para usar el inicio de sesión único (SSO). Cuando habilitas el SSO, no se pide a los usuarios que introduzcan una contraseña cuando intentan acceder a los servicios de Google. En su lugar, se les redirige a un proveedor de identidades (IdP) externo para que se autentiquen.
El uso del SSO puede ofrecer varias ventajas:
- Ofreces una mejor experiencia a los usuarios, ya que pueden usar sus credenciales actuales para autenticarse y no tienen que introducirlas con tanta frecuencia.
- Te aseguras de que tu proveedor de identidades siga siendo el sistema de registro para autenticar a los usuarios.
- No tienes que sincronizar las contraseñas con Cloud Identity ni con Google Workspace.
Para usar el SSO, un usuario debe tener una cuenta de usuario en Cloud Identity o Google Workspace y una identidad correspondiente en el IdP externo. Por lo tanto, el SSO se suele usar en combinación con una fuente autorizada externa que aprovisiona automáticamente a los usuarios en Cloud Identity o Google Workspace.
Proceso de inicio de sesión único
Cloud Identity y Google Workspace admiten el lenguaje de marcado para confirmaciones de seguridad (SAML) 2.0 para el inicio de sesión único. SAML es un estándar abierto para intercambiar datos de autenticación y autorización entre un IdP de SAML y proveedores de servicios de SAML. Cuando usas el SSO para Cloud Identity o Google Workspace, tu IdP externo es el IdP de SAML y Google es el proveedor de servicios de SAML.
Google implementa el enlace HTTP POST de SAML 2.0. Este enlace especifica cómo se intercambia la información de autenticación entre el IdP de SAML y el proveedor de servicios de SAML. En el siguiente diagrama se muestra un ejemplo de cómo funciona este proceso cuando se usa el SSO para acceder a la consola de Google Cloud .
- Dirige tu navegador a la Google Cloud consola (o a cualquier otro recurso de Google que requiera autenticación).
- Como aún no te has autenticado, la consola de Google Cloud redirige tu navegador al inicio de sesión de Google.
- Inicio de sesión con Google devuelve una página de inicio de sesión en la que se te pide que introduzcas tu dirección de correo electrónico.
- Introduce tu dirección de correo y envía el formulario.
- Inicio de sesión con Google busca la cuenta de Cloud Identity o Google Workspace asociada a tu dirección de correo.
Como la cuenta de Cloud Identity o Google Workspace asociada tiene habilitado el inicio de sesión único, Inicio de sesión con Google redirige el navegador a la URL del proveedor de identidades externo configurado. Antes de emitir la redirección, añade dos parámetros a la URL:
RelayState
ySAMLRequest
.RelayState
contiene un identificador que el IdP externo debe devolver más adelante.SAMLRequest
contiene la solicitud de autenticación SAML, un documento XML que se ha desinflado, codificado en base64 y codificado en URL. En formato decodificado, la solicitud de autenticación SAML tiene un aspecto similar al siguiente:<samlp:AuthnRequest ProviderName="google.com" IsPassive="false" AssertionConsumerServiceURL="https://www.google.com/a/example.com/acs" ...> <saml:Issuer xmlns:saml="...">google.com</saml:Issuer> <samlp:NameIDPolicy AllowCreate="true" Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified"/> </samlp:AuthnRequest>
Esta solicitud de ejemplo indica al IdP externo que autentique al usuario, cree una aserción SAML para la audiencia
google.com
y la publique en el servicio de consumidor de aserciones (ACS) enhttps://www.google.com/a/example.com/acs
.El dominio insertado en la URL ACS (
example.com
) corresponde al dominio principal de tu cuenta de Google Workspace o Cloud Identity.Si usas la función de entidad emisora específica del dominio al configurar el SSO, la entidad emisora será
google.com/a/DOMAIN
en lugar degoogle.com
, dondeDOMAIN
es el dominio principal de tu cuenta de Cloud Identity o Google Workspace.Los pasos que sigue el proveedor de identidades externo para realizar la autenticación dependen del proveedor y de su configuración. Por ejemplo, puede mostrar un cuadro de diálogo de inicio de sesión o solicitar la autenticación multifactor o una huella digital. Cuando se hayan completado correctamente estos pasos, se continuará con el intercambio de SAML:
El proveedor de identidades externo devuelve una página HTML especialmente diseñada que hace que tu navegador envíe inmediatamente una solicitud HTTP POST a la URL ACS. Esta solicitud contiene dos parámetros:
RelayState
, que contiene el valor que se pasó originalmente al proveedor de identidades en la solicitud de autenticación SAML.SAMLResponse
, que contiene la afirmación SAML codificada en base64. La aserción SAML es un documento XML que indica que el proveedor de identidades ha autenticado correctamente al usuario. En formato decodificado, la aserción SAML tiene un aspecto similar al siguiente:<samlp:Response ...> ... <Assertion x...> <Issuer>https://idp.example.org/</Issuer> <Signature ...> ... </Signature> <Subject> <NameID Format="...:nameid-format:emailAddress">bob@example.org</NameID> ... </Subject> <Conditions NotBefore="..." NotOnOrAfter="..."> <AudienceRestriction> <Audience>google.com</Audience> </AudienceRestriction> </Conditions> <AttributeStatement> ... </AttributeStatement> <AuthnStatement AuthnInstant="..." ...> <AuthnContext> <AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:Password</AuthnContextClassRef> </AuthnContext> </AuthnStatement> </Assertion> </samlp:Response>
Esta aserción de ejemplo se ha emitido para la audiencia
google.com
(que coincide con el emisor de la solicitud de autenticación SAML) e indica que el proveedor de identidadeshttps://idp.example.org/
ha autenticado al usuariobob@example.org
.La aserción SAML también contiene una firma digital. El IdP crea esta firma mediante la clave privada de un certificado de firma. La clave privada solo la conoce el IdP. La clave pública correspondiente forma parte de la configuración del SSO en Cloud Identity o Google Workspace y se comparte con el inicio de sesión de Google.
La aserción SAML también contiene una firma digital que permite al proveedor de servicios SAML verificar la autenticidad de la aserción.
El navegador publica la aserción de SAML en el endpoint ACS de Google.
El endpoint ACS verifica la firma digital de la aserción SAML. Esta comprobación se realiza para asegurarse de que la aserción procede del IdP externo de confianza y no se ha manipulado. Si la firma es válida, el endpoint de ACS analiza el contenido de la aserción, lo que incluye verificar la información de la audiencia y leer el atributo
NameID
.El endpoint de ACS busca tu cuenta de usuario comparando el
NameID
de la aserción SAML con la dirección de correo principal del usuario. El endpoint inicia una sesión.En función de la información codificada en el parámetro
RelayState
, el endpoint determina la URL del recurso al que querías acceder originalmente y se te redirige a la consola de Google Cloud .
Inicio de sesión iniciado por el IdP
El proceso descrito en la sección anterior se denomina a veces inicio de sesión iniciado por el proveedor de servicios, ya que se inicia en el proveedor de servicios, que en el ejemplo anterior es la consola Google Cloud .
SAML también define un flujo alternativo llamado inicio de sesión iniciado por el proveedor de identidades, que empieza en el proveedor de identidades. Google no admite este flujo, pero puedes obtener resultados similares usando la siguiente URL para iniciar un inicio de sesión iniciado por el proveedor de servicios:
https://www.google.com/a/DOMAIN/ServiceLogin?continue=https://console.cloud.google.com/
En este ejemplo, DOMAIN
es el dominio principal de tu cuenta de Cloud Identity o Google Workspace.
Autenticación multifactor
Para proteger las cuentas de usuario frente a accesos no autorizados, puedes requerir que los usuarios proporcionen un segundo factor durante la autenticación. Hay dos formas de implementar la autenticación multifactor al usar el inicio de sesión único:
- Si tu proveedor de identidades externo admite la autenticación multifactor, puedes hacer que realice la autenticación multifactor como parte del proceso de inicio de sesión basado en SAML. En este caso, no es necesario realizar ninguna configuración adicional en Cloud Identity ni en Google Workspace.
- Si tu proveedor de identidades no admite la autenticación multifactor, puedes configurar tu cuenta de Cloud Identity o Google Workspace para realizar la verificación en dos pasos inmediatamente después de que un usuario se haya autenticado con el proveedor de identidades externo.
Redes
En el enlace de redirección HTTP de SAML 2.0, el proveedor de identidades y el proveedor de servicios no se comunican directamente. En su lugar, toda la comunicación se transmite a través del navegador del usuario, como se muestra en el siguiente diagrama:
Dada esta arquitectura, no es necesario que el proveedor de identidades esté expuesto en Internet ni que tenga acceso a Internet, siempre que los usuarios puedan acceder a él desde tu red corporativa.
Configuración del proveedor de identidades externo
Cloud Identity y Google Workspace te permiten configurar el inicio de sesión único mediante las siguientes funciones:
Perfiles SAML: puedes crear un perfil SAML para cada proveedor de identidades con el que quieras integrar tu cuenta. A continuación, por cada usuario, grupo o unidad organizativa de tu cuenta de Cloud Identity o Google Workspace, decides si deben usar el SSO y qué perfil de SAML deben usar.
Perfil de SAML antiguo (antes llamado perfil de SSO de la organización): puedes usar el perfil de SAML antiguo para integrarlo con un solo proveedor de identidades. A continuación, decide si cada usuario, grupo o unidad organizativa de tu cuenta de Cloud Identity o Google Workspace debe usar el SSO.
La forma correcta de configurar tu proveedor de identidades depende de si usas perfiles SAML o el perfil SAML antiguo. En la siguiente tabla se resumen los ajustes que normalmente se deben configurar en un IdP externo para garantizar la compatibilidad.
Configuración | Ajuste obligatorio para el perfil SAML antiguo |
Ajuste obligatorio para los perfiles SAML |
Observaciones |
---|---|---|---|
ID de nombre | Dirección de correo principal del usuario. | Dirección de correo principal del usuario. | |
Formato de ID de nombre | urn:oasis:names:tc:SAML:1.1: |
urn:oasis:names:tc:SAML:1.1: |
|
ID de entidad |
Si la función de entidad emisora específica del dominio está habilitada:
Si la función de entidad emisora específica del dominio está inhabilitada (opción predeterminada):
Usa la función de emisor específico de dominio si quieres integrar varias cuentas de Google Workspace o Cloud Identity con el mismo proveedor de identidades. De lo contrario, déjala inhabilitada. |
ID de entidad único de tu perfil SAML. En función de la fecha de creación de tu perfil SAML, el ID de entidad usa uno de los siguientes formatos:
|
|
Patrón de URL ACS (o URL de redirección) | https://www.google.com/a/* |
URL ACS única de tu perfil SAML. En función de la fecha de creación de tu perfil SAML, la URL tendrá uno de los siguientes formatos:
|
|
Solicitar firma | Desactivado | Desactivado | Las solicitudes de autenticación SAML emitidas por Inicio de sesión con Google nunca se firman |
Firma de aserciones | Activado | Activado | Las aserciones SAML deben firmarse para que Inicio de sesión con Google pueda verificar su autenticidad. Cuando configures el SSO en la consola de administración, debes subir la clave pública del par de claves de firma de token. |
Cifrado de aserciones | Desactivado | Desactivado | |
Algoritmo de firma | RSA-SHA256 | RSA-SHA256 | RSA-SHA256 se abrevia a veces como RS256 |
Siguientes pasos
- Consulta las arquitecturas de referencia para integrar un proveedor de identidades externo.
- Consulta cómo configurar el aprovisionamiento de cuentas y el SSO con Microsoft Entra ID o Active Directory.
- Consulta nuestras prácticas recomendadas para federar Google Cloud con un proveedor de identidades externo.
Colaboradores
Autor: Johannes Passing | Arquitecto de soluciones en la nube