En esta guía se explica cómo configurar el inicio de sesión único (SSO) entre Keycloak y tu cuenta de Cloud Identity o Google Workspace mediante la federación SAML. En este documento se presupone que has instalado y estás usando Keycloak.
Objetivos
- Configura tu servidor Keycloak para que Cloud Identity o Google Workspace puedan usarlo como proveedor de identidades.
- Configura tu cuenta de Cloud Identity o Google Workspace para que use Keycloak para el SSO.
Antes de empezar
- Si no tienes una cuenta de Cloud Identity, regístrate para obtener una.
- Asegúrate de que tu cuenta de Cloud Identity tenga privilegios de superadministrador.
- Si tu servidor Keycloak se usa para gestionar más de un realm, decide qué realm quieres usar para la federación.
- Asegúrate de que tienes acceso de administrador al reino seleccionado.
Crear un perfil SAML
Para configurar el inicio de sesión único con Keycloak, primero debes crear un perfil SAML en tu cuenta de Cloud Identity o Google Workspace. El perfil de SAML contiene los ajustes relacionados con tu servidor Keycloak, incluida su URL y su certificado de firma.
Más adelante, asigna el perfil de SAML a determinados grupos o unidades organizativas.
Para crear un perfil SAML en tu cuenta de Cloud Identity o Google Workspace, haz lo siguiente:
En la consola de administración, ve a Seguridad > Autenticación > Inicio de sesión único con un proveedor de identidades de terceros.
Haz clic en Perfiles de SSO de terceros > Añadir perfil de SAML.
En la página Perfil de SSO de SAML, introduce los siguientes ajustes:
- Nombre:
Keycloak
ID de entidad del proveedor de identidades:
Keycloak 17 o versiones posteriores
https://KEYCLOAK/realms/REALM
Keycloak 16 o versiones anteriores
https://KEYCLOAK/auth/realms/REALM
URL de la página de inicio de sesión:
Keycloak 17 o versiones posteriores
https://KEYCLOAK/realms/REALM/protocol/saml
Keycloak 16 o versiones anteriores
https://KEYCLOAK/auth/realms/REALM/protocol/saml
URL de la página de cierre de sesión:
Keycloak 17 o versiones posteriores
https://KEYCLOAK/realms/REALM/protocol/openid-connect/logout
Keycloak 16 o versiones anteriores
https://KEYCLOAK/auth/realms/REALM/protocol/openid-connect/logout?redirect_uri=https://KEYCLOAK/auth/realms/REALM/account/
URL de cambio de contraseña:
Keycloak 17 o versiones posteriores
https://KEYCLOAK/realms/REALM/account
Keycloak 16 o versiones anteriores
https://KEYCLOAK/auth/realms/REALM/account
En todas las URLs, sustituya lo siguiente:
KEYCLOAK
: nombre de dominio completo de tu servidor KeycloakREALM
: el nombre del reino seleccionado
No subas ningún certificado de verificación todavía.
- Nombre:
Haz clic en Guardar.
La página Perfil de SSO basado en SAML que aparece contiene dos URLs:
- ID de entidad
- URL ACS
Necesitarás estas URLs en la siguiente sección para configurar Keycloak.
Configurar Keycloak
Para configurar el servidor Keycloak, crea un cliente.
Crear un cliente
Crea un cliente SAML en Keycloak:
- Inicia sesión en Keycloak y abre la consola de administración.
- Selecciona el dominio que quieras usar para la federación.
- En el menú, selecciona Clientes.
- Haz clic en Crear cliente.
Configura los siguientes ajustes del cliente:
Keycloak 19 o versiones posteriores
- Tipo de cliente: SAML
- ID de cliente: URL de entidad de tu perfil de SSO.
- Nombre:
Google Cloud
Keycloak 18 o versiones anteriores
- ID de cliente: URL de entidad de tu perfil de SSO.
- Protocolo de cliente: saml
- Client SAML Endpoint (Punto final de SAML del cliente): deja este campo en blanco.
Haz clic en Guardar.
Especifica los detalles del cliente configurando los siguientes ajustes:
Keycloak 19 o versiones posteriores
En la pestaña Configuración:
- URIs de redirección válidos: URL ACS de tu perfil de SSO
- Formato de ID de nombre: correo electrónico
- Forzar formato de ID de nombre: activado
- Firma los documentos: off
- Sign Assertions: on
En la pestaña Claves:
- Firma del cliente obligatoria: desactivada
Keycloak 18 o versiones anteriores
- Nombre: un nombre como
Google Cloud
- Sign Assertions: on
- Firma del cliente obligatoria: desactivada
- Forzar formato de ID de nombre: activado
- Formato de ID de nombre: correo electrónico
- URIs de redirección válidos: URL ACS de tu perfil de SSO
En los demás ajustes, deje los valores predeterminados.
Haz clic en Guardar.
Exportar el certificado de firma
Una vez que Keycloak autentica a un usuario, envía una aserción SAML a Cloud Identity o Google Workspace. Para que Cloud Identity y Google Workspace puedan verificar la integridad y la autenticidad de esa aserción, Keycloak la firma con una clave de firma de token especial y proporciona un certificado que permite a Cloud Identity o Google Workspace comprobar la firma.
Ahora, exporta el certificado de firma de Keycloak:
- En el menú, selecciona Configuración del reino.
- Seleccione la pestaña Claves.
Busca la fila de Algoritmo: RS256. Si hay más de una fila, usa la que tenga Use: SIG. A continuación, selecciona Certificado.
Aparecerá un cuadro de diálogo que contiene un certificado codificado en Base64.
Copia en el portapapeles el valor del certificado codificado en Base64.
Para poder usar el certificado de firma, debe convertirlo al formato PEM añadiendo un encabezado y un pie de página.
- Abre un editor de texto, como Notepad o vim.
Pega el siguiente encabezado, seguido de un salto de línea:
-----BEGIN CERTIFICATE-----
Pega el certificado codificado en Base64 desde el portapapeles.
Añade un salto de línea y pega el siguiente pie de página:
-----END CERTIFICATE-----
Después del cambio, el archivo tendrá un aspecto similar al siguiente:
-----BEGIN CERTIFICATE----- MIICmzCCAYMCBgF7v8/V1TANBgkq... -----END CERTIFICATE-----
Guarda el archivo en una ubicación temporal de tu ordenador.
Completa el perfil SAML
Utiliza el certificado de firma para completar la configuración de tu perfil SAML:
Vuelve a la consola de administración y ve a Seguridad > Autenticación > Inicio de sesión único con un proveedor de identidades de terceros.
Abre el perfil
Keycloak
SAML que has creado anteriormente.Haz clic en la sección Detalles del proveedor de identidades para editar la configuración.
Haz clic en Subir certificado y selecciona el certificado de firma de tokens que has descargado anteriormente.
Haz clic en Guardar.
Tu perfil de SAML está completo, pero aún tienes que asignarlo.
Asigna el perfil de SAML
Selecciona los usuarios a los que se debe aplicar el nuevo perfil de SAML:
En la consola de administración, en la página SSO con IDP externos, haz clic en Gestionar asignaciones de perfil de SSO > Gestionar.
En el panel de la izquierda, selecciona el grupo o la unidad organizativa a los que quieras aplicar el perfil de SSO. Para aplicar el perfil a todos los usuarios, selecciona la unidad organizativa raíz.
En el panel de la derecha, selecciona Otro perfil de SSO.
En el menú, selecciona el perfil de SSO
Keycloak - SAML
que has creado antes.Haz clic en Guardar.
Repite los pasos para asignar el perfil de SAML a otro grupo u unidad organizativa.
Probar el inicio de sesión único
Has completado la configuración del inicio de sesión único. Ahora puedes comprobar si el SSO funciona correctamente.
Elige un usuario de Keycloak que cumpla los siguientes criterios:
- El usuario tiene una dirección de correo.
- La dirección de correo corresponde a la dirección de correo principal de un usuario que ya tiene una cuenta de Cloud Identity o Google Workspace.
El usuario de Cloud Identity no tiene privilegios de superadministrador.
Las cuentas de usuario que tienen privilegios de superadministrador siempre deben iniciar sesión con credenciales de Google, por lo que no son adecuadas para probar el inicio de sesión único.
Abre una nueva ventana del navegador y ve a la Google Cloud consola.
En la página de inicio de sesión de Google, introduce la dirección de correo de la cuenta de usuario y haz clic en Siguiente.
Se te redirigirá a Keycloak.
Introduce tus credenciales de Keycloak y haz clic en Iniciar sesión.
Una vez que se haya autenticado correctamente, Keycloak te redirigirá a la consolaGoogle Cloud . Como es la primera vez que este usuario inicia sesión, se le pide que acepte los términos del servicio y la política de privacidad de Google.
Si estás de acuerdo con los términos, haz clic en Aceptar.
Se te redirigirá a la Google Cloud consola, donde se te pedirá que confirmes tus preferencias y aceptes los Google Cloud términos del servicio. Si aceptas los términos, haz clic en Sí y, a continuación, en Aceptar y continuar.
Haz clic en el icono del avatar y, a continuación, en Cerrar sesión.
Se te redirigirá a Keycloak.
Si tienes problemas para iniciar sesión, ten en cuenta que las cuentas de usuario con privilegios de superadministrador pueden omitir el SSO, por lo que puedes seguir usando la consola de administración para verificar o cambiar los ajustes.
Opcional: Configurar redirecciones para URLs de servicio específicas de dominios
Cuando incluyas enlaces a la consola desde portales o documentos internos, puedes mejorar la experiencia de usuario usando URLs de servicio específicas de un dominio. Google Cloud
A diferencia de las URLs de servicio normales, como https://console.cloud.google.com/
, las URLs de servicio específicas del dominio incluyen el nombre de tu dominio principal. Los usuarios no autenticados que hacen clic en un enlace a una URL de servicio específica de un dominio se redirigen inmediatamente a Keycloak en lugar de que se les muestre primero una página de inicio de sesión de Google.
Estos son algunos ejemplos de URLs de servicio específicas del dominio:
Servicio de Google | URL | Logotipo |
---|---|---|
Google Cloud consola | https://www.google.com/a/DOMAIN/ServiceLogin?continue=https://console.cloud.google.com/ |
![]() |
Documentos de Google | https://docs.google.com/a/DOMAIN |
![]() |
Hojas de cálculo de Google | https://www.google.com/a/DOMAIN/ServiceLogin?continue=https://sheets.google.com/
|
![]() |
Google Sites | https://www.google.com/a/DOMAIN/ServiceLogin?continue=https://slides.google.com/ |
![]() |
Google Drive | https://drive.google.com/a/DOMAIN |
![]() |
Gmail | https://mail.google.com/a/DOMAIN |
![]() |
Grupos de Google | https://www.google.com/a/DOMAIN/ServiceLogin?continue=https://groups.google.com/ |
![]() |
Google Keep | https://www.google.com/a/DOMAIN/ServiceLogin?continue=https://keep.google.com/
|
![]() |
Looker Studio | https://www.google.com/a/DOMAIN/ServiceLogin?continue=https://lookerstudio.google.com/ |
![]() |
YouTube | https://www.google.com/a/DOMAIN/ServiceLogin?continue=https://www.youtube.com/
|
![]() |
Para configurar URLs de servicio específicas del dominio de forma que redirijan a Keycloak, haz lo siguiente:
En la consola de administración, en la página SSO con IDPs externos, haz clic en URLs de servicio específicas del dominio > Editar.
Habilita la opción Redirigir automáticamente a los usuarios al IdP externo indicado en el siguiente perfil de SSO.
Define Perfil de SSO como
Keycloak
.Haz clic en Guardar.
Opcional: Configurar métodos de verificación de la identidad
Es posible que se pida a los usuarios que hagan una verificación adicional cuando inicien sesión desde dispositivos desconocidos o cuando su intento de inicio de sesión parezca sospechoso por otros motivos. Estas pruebas de verificación de la identidad ayudan a mejorar la seguridad, por lo que te recomendamos que las dejes habilitadas.
Si las verificaciones de la identidad te resultan demasiado engorrosas, puedes inhabilitarlas siguiendo estos pasos:
- En la consola de administración, ve a Seguridad > Autenticación > Procedimientos de verificación de la identidad.
- En el panel de la izquierda, selecciona la unidad organizativa en la que quieras inhabilitar los métodos de verificación de la identidad. Para inhabilitar las verificaciones de inicio de sesión para todos los usuarios, selecciona la unidad organizativa raíz.
- En Configuración de los usuarios que inician sesión con otros perfiles de SSO, selecciona No solicita a los usuarios verificaciones adicionales de Google.
- Haz clic en Guardar.
Siguientes pasos
- Consulta más información sobre la gestión de identidades y accesos (IAM).
- Consulta las prácticas recomendadas para configurar una organización empresarial en Google Cloud.