Diferencia entre revisiones de «SIU-Arai/Integracion/Redmine»

De SIU
Saltar a: navegación, buscar
Línea 6: Línea 6:
 
[[Archivo:siu-arai.png|derecha|link=]]
 
[[Archivo:siu-arai.png|derecha|link=]]
  
= Integrando Gitlab =
+
= Integrando Redmine =
  
[https://gitlab.com Gitlab] es una herramienta para el desarrollo colaborativo basado en Git. Se puede integrarlo con autenticación vía SAML, [https://docs.gitlab.com/ce/integration/saml.html con varias opciones].
+
[https://www.redmine.org/ Redmine] Redmine es una herramienta para la gestión de proyectos. Se puede integrarlo con autenticación vía SAML, [https://github.com/chrodriguez/redmine_omniauth_saml con varias opciones].
  
 
== Requerimientos ==
 
== Requerimientos ==
 
Será necesario contar con:
 
Será necesario contar con:
* la url del Gitlab, en este ejemplo <code><nowiki>https://gitlab.unx.edu.ar</nowiki></code>
+
* Redmine 3.0 or higher
 +
* la url del Redmine, en este ejemplo <code><nowiki>https://redmine.unx.edu.ar</nowiki></code>
 
* la url del IdP, en este ejemplo <code><nowiki>https://idp.unx.edu.ar</nowiki></code>
 
* la url del IdP, en este ejemplo <code><nowiki>https://idp.unx.edu.ar</nowiki></code>
* el identificador disponible para la aplicación, en este ejemplo <code>unx-gitlab_1</code>
+
* el identificador disponible para la aplicación, en este ejemplo <code>unx-redmine_1</code>
* el certificado público del IdP, en este ejemplo <code>-----BEGIN CERTIFICATE-----\n ...... \n-----END CERTIFICATE-----</code>
+
* el fingerprint del certificado del idp (es el certificado interno que usa arai, no el del navegador)
  
 
== Ajustes en SIU-Araí: Usuarios ==
 
== Ajustes en SIU-Araí: Usuarios ==
Línea 22: Línea 23:
 
# Ir a Aplicaciones
 
# Ir a Aplicaciones
 
# Completar el formulario con los siguientes datos
 
# Completar el formulario con los siguientes datos
#* appUniqueId: 'unx-gitlab_1' (recordar es la misma que se pone en idp.yml)
+
#* appUniqueId: 'unx-redmine_1' (recordar es la misma que se pone en idp.yml)
#* url: '<nowiki>https://gitlab.unx.edu.ar'</nowiki>
+
#* url: '<nowiki>https://redmine.unx.edu.ar'</nowiki>
#* etiqueta: 'Gitlab'
+
#* etiqueta: 'Redmine'
 
#* versión: 10
 
#* versión: 10
 
#* ícono: (elegir un logo .png, se mostrará en el menú)
 
#* ícono: (elegir un logo .png, se mostrará en el menú)
Línea 30: Línea 31:
  
 
=== Definición de Gitlab como SP ===
 
=== Definición de Gitlab como SP ===
Se debe editar el archivo <code>/ruta/arai-usuarios/config/idp.yml</code>. Hay que tener cuidado al editar este archivo porque el formato yaml es estricto. Si se escapa un TAB se rompe.<source lang="yaml" enclose="div"> custom:
+
Se debe editar el archivo <code>/ruta/arai-usuarios/config/idp.yml</code>. Hay que tener cuidado al editar este archivo porque el formato yaml es estricto. Si se escapa un TAB se rompe.<source lang="yaml" enclose="div">  
     'https://gitlab.unx.edu.ar': # esta clave es la que se pone el 'issuer' de la conf de gitlab
+
usage:
         AssertionConsumerService: 'https://gitlab.unx.edu.ar/users/auth/saml/callback'
+
        siu-redmine_1.siu-redmine: siu
         appUniqueId: unx-gitlab_1
+
custom:
 
+
     'https://redmine.siu.edu.ar/saml/metadata':  
 +
         AssertionConsumerService: 'https://redmine.siu.edu.ar/redmine/auth/saml/callback'
 +
        SingleLogoutService: 'https://redmine.siu.edu.ar/redmine/logout'
 +
         appUniqueId: siu-redmine_1.siu-redmine
 
</source>
 
</source>
  
== Ajustes en Gitlab ==
+
== Ajustes en Redmine ==
  
 +
=== Instalar el plugin ===
 +
Como puede cambiar dependiendo la versión de redmine, mejor revisar la doc oficial
 +
[http://www.redmine.org/projects/redmine/wiki/Plugins]
 
=== Activar autenticación SAML ===
 
=== Activar autenticación SAML ===
Se debe editar el archivo <code>/etc/gitlab/gitlab.rb</code>y activar el servicio omniauth para SAML y adecuar la configuración del IDP.<source lang="ruby" enclose="div"> 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'
 
             }
 
    }
 
  ]
 
</source> <blockquote>Nota: <code>idp_cert</code>contiene el certificado público del IdP. Se debe concatenar los saltos de linea y expresarlos textualmente con <code>\n</code>.</blockquote>
 
  
 
=== Cargar nueva configuración ===
 
=== Cargar nueva configuración ===

Revisión del 10:18 28 may 2018

COPIA LUC, NO DAR PELOTA COPIA LUC, NO DAR PELOTA COPIA LUC, NO DAR PELOTA


Siu-arai.png

Integrando Redmine

Redmine Redmine es una herramienta para la gestión de proyectos. Se puede integrarlo con autenticación vía SAML, con varias opciones.

Requerimientos

Será necesario contar con:

  • Redmine 3.0 or higher
  • la url del Redmine, en este ejemplo https://redmine.unx.edu.ar
  • la url del IdP, en este ejemplo https://idp.unx.edu.ar
  • el identificador disponible para la aplicación, en este ejemplo unx-redmine_1
  • el fingerprint del certificado del idp (es el certificado interno que usa arai, no el del navegador)

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-redmine_1' (recordar es la misma que se pone en idp.yml)
    • url: 'https://redmine.unx.edu.ar'
    • etiqueta: 'Redmine'
    • versión: 10
    • ícono: (elegir un logo .png, se mostrará en el menú)
  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.
 
usage
:
        siu-redmine_1.siu-redmine
: siu
custom
:
    'https://redmine.siu.edu.ar/saml/metadata'
:
        AssertionConsumerService
: 'https://redmine.siu.edu.ar/redmine/auth/saml/callback'
        SingleLogoutService
: 'https://redmine.siu.edu.ar/redmine/logout'
        appUniqueId
: siu-redmine_1.siu-redmine

Ajustes en Redmine

Instalar el plugin

Como puede cambiar dependiendo la versión de redmine, mejor revisar la doc oficial [1]

Activar autenticación SAML

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

Limitaciones conocidas

  1. Single Logout. No está soportado en Gitlab aún.
  2. Además de conectar vía SAML, el usuario tendrá que establecer una password local en Gitlab para pull/push. Una opción es configurar el provider LDAP para que la cuenta en Gitlab tenga múltiple identidades (SAML, LDAP, local) y con esto utilice su clave mediante autenticación LDAP.