Authentification AzureAD SAML

L'authentification AzureAD avec SAML nécessite un certains nombres de paramétrages côté Parapheur et Azure.

Il est nécessaire de configurer l'URL de l'application dans Azure.

Installation de SimpleSAML

Installez la librairie située dans un dépôt Gitlab :

cd /var/www/html/
git clone https://labs.maarch.org/maarch/azure-saml.git -b 1.18.8 librairies/simplesamlphp

À la racine de Maarch Parapheur, créez les dossiers librairies/simplesamlphp/config et librairies/simplesamlphp/metadata

Configuration Apache

Il faut configurer un nouveau vhost, afin que votre instance soit accessible avec l'URL paramétré dans Azure.

<VirtualHost url_parapheur:443>
    ServerName url_parapheur # Important : ne pas changer !
    # Mettez le chemin vers votre custom
    DocumentRoot /var/www/html/MaarchParapheur

    SSLEngine on
    SSLCertificateFile /home/maarch/sslKey/apache.pem # Changer vers le chemin de votre certificat HTTPS
    SSLCertificateKeyFile /home/maarch/sslKey/apache.key # Changer vers le chemin de votre certificat HTTPS

    # Mettez le chemin vers votre custom
    <Directory "/var/www/html/MaarchParaphur">
        SetEnv LIBRARIES_DIR "/var/www/html/librairies/"
        AllowOverride All
        Options -Indexes
        Options FollowSymLinks Includes ExecCGI
        #Chemin vers le dossier temporaire
        SetEnv MAARCH_TMP_DIR "/tmp/"

        # Changer votre cle privee
        SetEnv MAARCH_ENCRYPT_KEY ""
        # Mettez le chemin de votre instance
        SetEnv SIMPLESAMLPHP_CONFIG_DIR /var/www/html/MaarchParapheur/librairies/simplesamlphp/config

    </Directory>

    ############################
    #
    #   SimpleSAMLphp config
    #
    ############################
    <Directory /var/www/html/librairies/simplesamlphp/www>
         Require all granted
    #     <FilesMatch ".*">
    #         Order allow,deny
    #         Allow from all
    #     </FilesMatch>
    </Directory>

</VirtualHost>

Ajoutez cette ligne dans /etc/hosts :

127.0.0.1       url_parapheur

Puis redémarrer apache :

sudo service apache2 restart

Configuration SimpleSAML

  • Modifiez le fichier /var/www/html/MaarchParapheur/librairies/simplesamlphp/config/config.php :
'metadatadir' => '/var/www/html/MaarchParapheur/librairies/simplesamlphp/metadata', // Mettez le chemin de votre instance
  • Modifiez le fichier /var/www/html/MaarchParapheur/librairies/simplesamlphp/config/authresources.php :
'entityID' => '{url_parapheur}',
'idp' => 'https://sts.windows.net/{idp}/',
  • Modifiez le fichier /var/www/html/MaarchParapheur/librairies/simplesamlphp/metadata/saml20-idp-remote.php :
<?php

$metadata['https://sts.windows.net/{idp}/'] = array (
    'entityid' => 'https://sts.windows.net/{idp}/',
    'contacts' =>
        array (
        ),
    'metadata-set' => 'saml20-idp-remote',
    'SingleSignOnService' =>
        array (
            0 =>
                array (
                    'Binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect',
                    'Location' => 'https://login.microsoftonline.com/{idp}/saml2',
                ),
            1 =>
                array (
                    'Binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST',
                    'Location' => 'https://login.microsoftonline.com/{idp}/saml2',
                ),
        ),
    'SingleLogoutService' =>
        array (
            0 =>
                array (
                    'Binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect',
                    'Location' => 'https://login.microsoftonline.com/{idp}/saml2',
                ),
        ),
    'ArtifactResolutionService' =>
        array (
        ),
    'NameIDFormats' =>
        array (
        ),
    'keys' =>
        array (
            0 =>
                array (
                    'encryption' => false,
                    'signing' => true,
                    'type' => 'X509Certificate',
                    'X509Certificate' => '{X509Certificate}',
                ),
        ),
);

À la racine de Maarch Parapheur, créez un lien symbolique vers simplesaml :

ln -s /var/www/html/librairies/simplesamlphp/www simplesaml

Vérifiez que vous pouvez accéder à simplesaml en allant sur : https://{url_parapheur}/simplesaml/

Paramètres :

  • url_parapheur : URL de l'application configuré dans Azure
  • idp : Le Fournisseur d’identité Azure
  • X509Certificate: Clé chiffré du certificat SSL pour le HTTPS

Configuration Maarch Parapheur

Ajout d'utilisateur

Comme il est nécessaire paramétrer des utilisateurs dans Azure. Il faut leur créer un compte dans Maarch Parapheur pour pouvoir les utiliser.

Activation du mode connexion azureAd

Dans l'administration de Maarch Parapheur, dans Mode de connexion -> choisir Azure SAML.

Connexion

  1. Allez sur https://{url_parapheur}/
  2. Vous serez redirigé vers l'interface de connexion de Microsoft
  3. Se connecter avec un des utilisateurs paramétré
  4. Après validation, vous serez connecté sur votre instance Maarch Parapheur

results matching ""

    No results matching ""