Integraciones
Breadcrumbs

SAML 2.0 - GCP

La configuración de Google requiere una Aplicación SAML (para login) y una Cuenta de Servicio con delegación de dominio (para provisión de usuarios).

Parte A: Autenticación SAML (Login)

  1. Vaya a la Consola de Administración de Google (admin.google.com).

  2. Vaya a Aplicaciones > Aplicaciones web y móviles.

  3. Haga clic en Añadir aplicación > Añadir aplicación SAML personalizada.

  4. Descargar metadatos: En la pantalla "Datos del proveedor de identidad de Google", haga clic en "Descargar metadatos".

    • Suba este archivo (ej. google-metadata.xml) a una ruta accesible en su servidor (ej. /opt/anjana/config/saml/).

  5. Configurar datos del SP (su aplicación):

    • ID de entidad: identificador-unico-para-saml (único y debe coincidir con el yml).

    • URL ACS: https://dev.anjanadata.org/gateway/saml2/sso/devgcp (la clave devgcp coincide con la usada en el yml abajo).

  6. Activar la aplicación: Active el "Acceso de usuario" para los usuarios o grupos que necesiten acceso.


Parte B: Provisión de usuarios (lista de usuarios)

  1. Vaya a la Consola de Google Cloud (console.cloud.google.com).

  2. Vaya a IAM y administración > Cuentas de servicio y cree una cuenta nueva.

  3. Genere una clave JSON para esta cuenta de servicio.

    • jsonPath / jsonContent: Suba este archivo JSON a su servidor (file:/...) o pegue su contenido en el yml.

  4. Copie el "ID único" (Client ID) de la cuenta de servicio.

Delegación de dominio

  1. Vuelva a la Consola de Administración de Google (admin.google.com).

  2. Vaya a Seguridad > Control de acceso y datos > Controles de API.

  3. Haga clic en "Gestionar la delegación de todo el dominio".

  4. Añada una nueva delegación:

    • ID de Cliente: Pegue el "ID único" de su cuenta de servicio.

    • Ámbitos de OAuth: Pegue esta lista (separada por comas): https://www.googleapis.com/auth/admin.directory.user.readonly,https://www.googleapis.com/auth/admin.directory.group.readonly,https://www.googleapis.com/auth/admin.directory.group.member.readonly

Datos finales para el yml

  • delegatedUser: Email de una cuenta de Súper Administrador de Google (ej. admin@su-dominio.com).

  • groupnames: Emails/identificadores de grupos de Google con usuarios con acceso (ej. usuarios-anjana@su-dominio.com).

  • application-name: Nombre de la aplicación para auditorías en Google Workspace


Ejemplo de fichero application-default.yml

En este ejemplo se detallan las propiedades especificas de SAML para GCP. Las propiedades comunes para todos los proveedores se encuentran en https://wiki.anjanadata.com/es/integraciones/25.2/saml-2-0

YAML
security:
  provisioning:
    providers:
      google:
        # La clave 'devgcp' debe ser IDÉNTICA a la clave usada en 'saml2'
        devgcp:
          # Email de una cuenta de Súper Administrador de Google
          delegated-user: <delegatedUser>
          # Nombre de la aplicación para auditorías en Google Workspace
          application-name: <appName>
          # Emails/identificadores de grupos de Google con usuarios con acceso
          groupNames:
            - <group1>
            - <group2>
          # JSON con el contenido de autentificacion requerido, se puede obtener directamente de GCP
          json-content: |
            {
              <content>
            }
          # Ruta donde se encuentra el JSON con el contenido de autentificacion, se puede usar en vez de json-content
          json-path: /opt/AAAAA-aaabbbccc.json # absolute path --> /xxxxxx.json