Inicio de sesión único

Last reviewed 2023-02-27 UTC

Puedes configurar tu cuenta de Cloud Identity o Google Workspace para usar el inicio de sesión único (SSO). Si habilitas el SSO, no se solicita a los usuarios que ingresen una contraseña cuando intentan acceder a los servicios de Google. En su lugar, se los redirecciona a un proveedor de identidad externo (IdP) para autenticarse.

Usar el SSO puede proporcionar varias ventajas:

  • Habilitas una mejor experiencia para los usuarios, puesto que pueden usar sus credenciales existentes a fin de autenticarse y no tienen que ingresar credenciales con tanta frecuencia.
  • Te aseguras de que tu IdP existente siga siendo el sistema de registro de autenticación de usuarios.
  • No es necesario sincronizar las contraseñas con Cloud Identity o Google Workspace.

Para usar el SSO, el usuario debe tener una cuenta de usuario en Cloud Identity o Google Workspace y una identidad correspondiente en el IdP externo. Por lo general, el SSO se usa junto 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 son compatibles con 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 el intercambio de datos de autenticación y autorización entre un IdP de SAML y los proveedores de servicios de SAML. Cuando usas 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 la vinculación POST de HTTP 2.0 de SAML. Esta vinculación 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 usas el SSO para acceder a la consola de Google Cloud.

Uso del SSO para acceder a la consola de Google Cloud.

  1. Dirige tu navegador a la consola de Google Cloud (o a cualquier otro recurso de Google que requiera autenticación).
  2. Debido a que aún no estás autenticado, la consola de Google Cloud redirecciona tu navegador al Acceso con Google.
  3. El Acceso con Google muestra una página de acceso que te solicita ingresar tu dirección de correo electrónico.
  4. Ingresa la dirección de correo electrónico y envía el formulario.
  5. El Acceso con Google busca la cuenta de Cloud Identity o Google Workspace asociada a tu dirección de correo electrónico.
  6. Debido a que la cuenta de Cloud Identity o Google Workspace asociada tiene habilitado el inicio de sesión único, el Acceso con Google redirecciona el navegador a la URL del IdP externo configurado. Antes de emitir el redireccionamiento, agrega dos parámetros a la URL: RelayState y SAMLRequest.

    • RelayState contiene un identificador que se espera que el IdP externo transfiera más tarde.
    • SAMLRequest contiene la solicitud de autenticación de SAML, un documento XML que se deflactó, y está codificado en base64 y en URL. En el formulario decodificado, la solicitud de autenticación de SAML se ve de la siguiente manera:

      <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>
      

    En esta solicitud de ejemplo, se indica al IdP externo que autentique el usuario, cree una aserción de SAML para el público google.com y lo publique en el servicio de consumidor de aserciones (ACS) en https://www.google.com/a/example.com/acs.

    El dominio incorporado en la URL de ACS (example.com) corresponde al dominio principal de tu cuenta de Google Workspace o Cloud Identity.

    Si usas el atributo de la entidad emisora específica del dominio cuando configuras el SSO, la entidad emisora es google.com/a/DOMAIN en lugar de google.com, donde DOMAIN es el dominio principal de tu cuenta de Cloud Identity o Google Workspace.

    Los pasos que realiza el IdP externo para realizar la autenticación dependen del IdP y su configuración (por ejemplo, podría mostrar un diálogo de acceso o solicitar MFA o una huella digital). Cuando estos pasos se completan correctamente, el intercambio de SAML continúa:

    Intercambio de SAML con SSO.

  7. El IdP externo muestra una página HTML especialmente creada que hace que tu navegador envíe de inmediato una solicitud HTTP POST a la URL de ACS. Esta solicitud contiene dos parámetros:

    • RelayState, que contiene el valor que se pasó originalmente al IdP en la solicitud de autenticación de SAML.
    • SAMLResponse, que contiene la aserción de SAML codificada en base64. La aserción de SAML es un documento XML que indica que el IdP autenticó correctamente al usuario. En el formulario decodificado, la aserción de SAML se ve de la siguiente manera:

      <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 emitió para el público google.com (que coincide con la entidad emisora de la solicitud de autenticación de SAML) y establece que el https://idp.example.org/ del IdP autenticó al usuario bob@example.org.

    La aserción de SAML también contiene una firma digital. El IdP crea esta firma mediante la clave privada de un certificado de firma. Solo se conoce la clave privada del IdP. La clave pública correspondiente forma parte de la configuración de SSO en Cloud Identity o Google Workspace, y se comparte con el Acceso con Google.

    La aserción de SAML también contiene una firma digital que permite que el proveedor del servicio SAML verifique la autenticidad de la aserción.

  8. El navegador publica la aserción de SAML en el extremo de ACS de Google.

  9. El extremo del ACS verifica la firma digital de la aserción de SAML. Esta verificación se realiza para garantizar que la aserción se origine a partir del IdP externo de confianza y no se haya alterado. Si suponemos que la firma es válida, el extremo de ACS analizará el contenido de la aserción, que incluye verificar la información del público y leer el atributo NameID.

  10. El extremo ACS busca tu cuenta de usuario mediante la asociación de NameID de la aserción de SAML con la dirección de correo electrónico principal del usuario. Luego, el extremo inicia una sesión.

  11. Según la información codificada en el parámetro RelayState, el extremo determina la URL del recurso al que deseas acceder originalmente y se te redirecciona a la consola de Google Cloud.

Acceso con IdP

El proceso que se describe en la sección anterior a veces se denomina inicio de sesión iniciado por el proveedor de servicios, porque el proceso se inicia en el proveedor de servicios, que en el ejemplo anterior es la consola de Google Cloud.

SAML también define un flujo alternativo llamado inicio de sesión iniciado por IdP, que comienza en el IdP. Google no admite este flujo, pero puedes obtener resultados similares si usas la siguiente URL para comenzar un inicio de sesión iniciado por un 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 de varios factores

Para proteger las cuentas de usuario del acceso no autorizado, puedes solicitar que los usuarios proporcionen un segundo factor durante la autenticación. Existen dos maneras de implementar la autenticación de varios factores cuando usas el inicio de sesión único:

  1. Si tu IdP externo admite la autenticación de varios factores, puedes hacer que realice la autenticación de varios factores como parte del proceso de inicio de sesión basado en SAML. En este caso, no se requiere ninguna configuración adicional en Cloud Identity ni en Google Workspace.
  2. Si tu IdP no admite la autenticación de varios factores, puedes configurar tu cuenta de Cloud Identity o Google Workspace para que realice una verificación en dos pasos inmediatamente después de que un usuario se autentique con el IdP externo.

Herramientas de redes

En la vinculación de redireccionamiento HTTP 2.0 de SAML, el IdP y el proveedor de servicios no se comunican directamente. En su lugar, toda la comunicación se retransmite a través del navegador del usuario, como se muestra en el siguiente diagrama:

La comunicación se retransmite a través del navegador del usuario.

Debido a esta arquitectura, no es necesario que el IdP se exponga a través de Internet, o incluso que tenga acceso a Internet, siempre que los usuarios puedan acceder a él desde tu red corporativa.

Configuración del IdP externo

Cloud Identity y Google Workspace te permiten configurar el inicio de sesión único mediante las siguientes funciones:

  • Perfiles de SAML: Puedes crear un perfil de SAML para cada IdP con el que desees integrarte. Para cada usuario, grupo o unidad organizativa en tu cuenta de Cloud Identity o Google Workspace, debes decidir si deben usar el SSO y qué perfil de SAML deben usar.

  • Perfiles de SSO de organización clásicos: Puedes crear un perfil de organización único para integrarlo con un IdP único. Para cada usuario, grupo o unidad organizativa en tu cuenta de Cloud Identity o Google Workspace, debes decidir si deben usar SSO o no.

La forma correcta de configurar tu IdP depende de si usas perfiles de SAML o perfiles de organización clásicos. En la siguiente tabla, se resumen las configuraciones que suelen configurarse en un IdP externo a fin de garantizar la compatibilidad.

Configuración Configuración obligatoria para los
perfiles de organización clásicos
Configuración obligatoria para los
perfiles de SAML
Comentarios
ID de nombre Dirección de correo electrónico principal de un usuario Dirección de correo electrónico principal de un usuario
Formato de ID de nombre urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress
ID de entidad

Si la función de entidad emisora específica de un dominio está habilitada:

google.com/a/DOMAIN

Si la función de entidad emisora específica del dominio está inhabilitada (predeterminado):

google.com

Usa la función de entidad emisora específica del dominio si deseas integrar varias cuentas de Google Workspace o Cloud Identity con el mismo IdP. De lo contrario, déjala inhabilitada.

ID de entidad única de tu perfil SAML.

Según la fecha de creación de tu perfil de SAML, el ID de la entidad usa uno de los siguientes formatos:

https://accounts.google.com/samlrp/metadata?rpid=ID

https://accounts.google.com/samlrp/ID

Patrón de URL de ACS (o URL de redireccionamiento) https://www.google.com/a/* URL de ACS única de tu perfil de SAML.

Según la fecha de creación de tu perfil de SAML, la URL usa uno de los siguientes formatos:

https://accounts.google.com/samlrp/acs?rpid=ID

https://accounts.google.com/samlrp/ID/acs

Solicitar firma No No Las solicitudes de autenticación de SAML emitidas por el Acceso con Google nunca se firman
Firma de aserción Activada Activada Las aserciones de SAML se deben firmar para habilitar el Acceso con Google a fin de verificar su autenticidad.

Cuando configuras el SSO en la Consola del administrador, debes subir la clave pública del par de claves de firma de token.
Encriptación de aserciones No No
Algoritmo de firma RSA-SHA256 RSA-SHA256 RSA-SHA256 a veces se abrevia como RS256

¿Qué sigue?