SIU-Arai/Integracion/Gitlab

De SIU
Saltar a: navegación, buscar
Siu-arai.png

Integrando Gitlab

Gitlab es una herramienta para el desarrollo colaborativo basado en Git. Se puede integrarlo con autenticación vía SAML, con varias opciones.

Ajustes en SIU-Araí: Usuarios

Creación de la aplicación Gitlab en Usuarios

1. Ir a Aplicaciones

2. Completar el formulario con los siguientes datos

   * appUniqueId: 'unx-gitlab_1' (recordar es la misma que se pone en idp.yml)

   * Url: 'https://gitlab.unx.edu.ar'

   * Etiqueta: 'Gitlab'

   * Versión: 10

3. Opcional. Activar la opción filtrar por grupo y luego agregar un grupo existente, como devs al filtro. Esto hace que sólo la gente que pertenezca a este grupo pueda acceder a la aplicación.

Definición de Gitlab como SP

Se debe editar el archivo /ruta/arai-usuarios/config/idp.yml. Hay que tener cuidado al editar este archivo porque el formato yaml es estricto. Si se escapa un TAB se rompe.

custom:

'https://gitlabtest.siu.edu.ar': # esta clave es la que se pone el 'issuer' de la conf de gitlab

AssertionConsumerService: 'https://gitlab.unx.edu.ar/users/auth/saml/callback'

appUniqueId: unx-gitlab_1

Ajustes en Gitlab

Activar autenticación SAML

Se debe editar el archivo /etc/gitlab/gitlab.rby activar el servicio omniauth para SAML y adecuar la configuración del IDP.

 gitlab_rails['omniauth_enabled'] = true

 gitlab_rails['omniauth_allow_single_sign_on'] = ['saml']

 gitlab_rails['omniauth_block_auto_created_users'] = false

 gitlab_rails['omniauth_auto_link_saml_user'] = true 

 gitlab_rails['omniauth_providers'] = [

    {

      "name" => "saml",

       args: {

               assertion_consumer_service_url: 'https://gitlab.unx.edu.ar/users/auth/saml/callback',

               idp_cert: "-----BEGIN CERTIFICATE-----\n ...... \n-----END CERTIFICATE-----",

               idp_sso_target_url: 'https://idp.unx.edu.ar/saml2/idp/SSOService.php',

               issuer: 'https://gitlab.unx.edu.ar',

               name_identifier_format: 'urn:oasis:names:tc:SAML:2.0:nameid-format:persistent'

             }

    }

  ]

Cargar nueva configuración

Dependiendo del tipo de instalación realizada, tendremos que reconfigurar o reiniciar Gitlab. Si hemos instalado vía el paquete omnibus se debería ejecutar:

sudo gitlab-ctl reconfigure