Integraciones
Breadcrumbs

SAML 2.0

Propósito

Esta guía explica cómo configurar el inicio de sesión único (SSO) con SAML 2.0 en Anjana.

También describe la configuración opcional pero recomendada para la Provisión de Usuarios, que permite a Anjana consultar y listar los usuarios con acceso desde su proveedor de identidad (IdP).

Cómo funciona: dos partes de la configuración

Esta integración tiene dos partes independientes configuradas en paralelo:

  1. Autenticación SAML (el "Login"): permite a un usuario iniciar sesión. Se configura en su IdP (Azure, Google, AWS) y en la sección security.authentication.saml2 de Anjana.

  2. Provisión de usuarios (la "Lista de usuarios"): permite a Anjana acceder a la API de su proveedor (con permisos de administrador) para obtener la lista de usuarios asignados. Se configura en la sección security.provisioning de Anjana.

La clave del proveedor (ej. devazure) enlaza ambas configuraciones.


Configuración base de Zeus

Antes de configurar su proveedor de identidad, defina las propiedades globales para el servicio zeus en Anjana.

1. Propiedades globales de la aplicación

Esta propiedad define la URL pública base donde se aloja zeus.

YAML
app:
  # La Host donde se aloja el microservicio de zeus
  base-url: https://dominio-anjana.com
  # Puerta de enlace a la api pública del microservicio de Zeus
  gateway: /gateway/

2. Plantilla de configuración de seguridad

En el fichero application.yml de zeus, encontraremos dos secciones principales dentro de security:

YAML
security:
  # ===============================================
  # SECCIÓN 1: PROVISIÓN DE USUARIOS (OPCIONAL)
  # ===============================================
  provisioning:
    providers:
      # Todo los proveedores de tipo Azure deberán ir dentro de este atributo
      azure-graph:
        # La clave 'azuread' es un ejemplo. Use un nombre único
        # por cada proveedor que configure.
        azuread:
          # ... aquí irán las credenciales de la API que obtendrá de su IdP
          # (Ver las guías específicas más abajo)
      # Todo los proveedores de tipo Google Workspace deberán ir dentro de este atributo
      google:
        devgcp:
          # ... aquí irán las credenciales de la API que obtendrá de su IdP
          # (Ver las guías específicas más abajo)
      # Todo los proveedores de tipo AWS IAM IC deberán ir dentro de este atributo
      aws-iam-ic:
        devaws:
          # ... aquí irán las credenciales de la API que obtendrá de su IdP
          # (Ver las guías específicas más abajo)

  # ===============================================
  # SECCIÓN 2: AUTENTICACIÓN SAML (LOGIN)
  # ===============================================
  authentication:
    saml2:
      # Rutas base para los endpoints de SAML.
      # Se recomienda no cambiar estos valores por defecto.
      # P.D.: la generación de dichas url consistirá en app.base_url + "/saml2/" + {ruta}
      acs-location-path: /sso/{registrationId}
      authenticate-path: /authenticate/{registrationId}
      providers:
        # La clave 'azuread' debe ser IDÉNTICA a la clave usada en 'provisioning'
        azuread:
          # Nombre del proveedor para mostrar
          name: <name>
          # Identificador de la applicación de SAML2 en el proveedor
          entityId: <entityID>
          # URL/Ruta de fichero donde se recupera el metadata para procesar correctamente la autentificación
          idpMetadataUri: <URL/Path>

Guía de configuración por proveedor

Encuentre a continuación las instrucciones para su proveedor de identidad.

https://anjanadata.atlassian.net/wiki/pages/createpage.action?spaceKey=doc&title=%2825.2-es%29%20SAML%202.0%20-%20AZURE&linkCreation=true&fromPageId=310739024 https://anjanadata.atlassian.net/wiki/pages/createpage.action?spaceKey=doc&title=%2825.2-es%29%20SAML%202.0%20-%20GCP&linkCreation=true&fromPageId=310739024 https://anjanadata.atlassian.net/wiki/pages/createpage.action?spaceKey=doc&title=%2825.2-es%29%20SAML%202.0%20-%20AWS%20IAM&linkCreation=true&fromPageId=310739024

Paso final: reinicio

Tras actualizar su application.yml con la configuración de SAML y provisión para sus proveedores, reinicie el microservicio Zeus para aplicar los cambios.