1. Preamble
SAML enables users to uniquely identify themselves to the various web applications they use.
Dans le modèle SAML Project Monitor est un fournisseur de service (Service Provider).
You need an Identity Provider. In the following document, IDP refers to your Identity Provider (e.g. Okta / Shibboleth / Keycloak or ADFS - Microsoft Active Directory Federation Services).
Remarks
Données attendues par Virage Group :
- Customer metadata file
- attribute customer authentication
Donnée fournie par Virage Group :
- Metadata file to be integrated into the customer's Identity Provider
2. Activer l’authentification SAML en 4 étapes
2.0 Prérequis technique : Uniquement pour les plateformes installées (hors SAAS)
- In the monitormaker.properties file: configure the authentication strategy: Saml2Authenticator
- Décompresser le fichier
Java Cryptography Extension
jce_policy-8.zip
se trouvant dans le répertoire%PM_HOME%\install\JDK
ou dans votre espace client http://file.viragegroup.com (public/livraison/install). - Copier les fichiers
local_policy.jar
andUS_export_policy.jar
et les coller en remplacement de ceux existants dans le répertoire%PM_HOME%\jre\lib\security
. - Restart the Wildfly service to take account of the change.
com.vc.mm.authenticator= com.vc.mm.modules.user.Saml2Authenticator
2.1. Obtenir la configuration de votre IDP : fichier METADATA XML
- Obtenir auprès de votre IDP un fichier au format xml de metadata. Ce fichier permettra à Project Monitor de connaître votre IDP et communiquer avec lui.
- Le fichier metadata à récupérer est celui du Realm (disponible depuis l’onglet de configuration
General
) - Get or set the code of the user login field in your IDP
Lors de l’ajout de la règle pour faire le lien entre l’identifiant LDAP de l’Active Directory et Project Monitor veuillez spécifier les informations suivantes :
- Dans la fenêtre
Issuance Transform Rules
, ajouter et configurer une règle. - Dans le champ
Attribute Store
indiquerActive Directory
. - Dans la colonne
LDAP Attributes
sélectionnerSamAccountName
. - Dans la colonne
Outgoing Claim Type
sélectionnerName ID
. - Ajout d’une deuxième ligne, dans la colonne
LDAP Attributes
sélectionner de nouveauSamAccountName
. - Dans la colonne
Outgoing Claim Type
inscrire le login que vous avez indiqué à Project Monitor (ex :login
)
Lors de la configuration du client dans Keycloak :
- Le champ clientID doit contenir l’url d’accès à la plateforme Project Monitor suffixée de
/sp
(ex :https://serveur.p-monitor.com/sp
) - Dans l’onglet
General
, les champsValid Redirect URIs
andAssertion Consumer Service POST Binding URL
doivent contenir l’adresse Project Monitor de réception SAML (ex :https://serveur.p-monitor.com/MonitorMakerWeb/api/auth/saml2/consume
)
Lors de la création d’un nouveau mapper depuis l’onglet Mapper
de la configuration du client :
- Dans le champ
name
indiquerlogin
- Dans le champ
Mapper Type
sélectionnerUser Property
- Dans le champ
Property
indiquerusername
- Dans le champ
Friendly name
indiquerlogin
- Dans le champ
SAML Attribute Name
indiquerlogin
- Lors de l'authentification, Project Monitor et l'IDP échangent des informations. Ce code est nécessaire à Project Monitor pour retrouver, parmi ces informations, laquelle contient le login utilisateur.
Par exemple dans Shibboleth
urn:oid:0.9.2342.19200300.100.1.1
ou bien selon l’IDP,login
ou autre "
2.2 Déclarer votre IDP dans Project Monitor
- Aller sur la page Administration >
Paramétrages avancés
>Configuration technique
> SAML2 authentication - Dans le premier champ de la page, coller le contenu XML du fichier metadata obtenu à l’étape Mémo Authentification SAML2 - 2.1. Obtenir la configuration de votre IDP : fichier METADATA XML .
- Renseigner le code du champ contenant le login. Ce code a été obtenu à l’étape Mémo Authentification SAML2 - 2.1. Obtenir la configuration de votre IDP : fichier METADATA XML.
- Fixer le temps maximal d'authentification à 8h.
Save
2.3 Générer la configuration de Project Monitor : Fichier METADATA XML
- Toujours sur la page Administration >
Paramétrages avancés
>Configuration technique
> SAML2 authentication, dans la seconde partie de la page - Click on
Generate
pour afficher l'ensemble des informations de Project Monitor qui seront nécessaires à l'IDP, à savoir : - metadata in XML format
- Assertion consumer service
- Service provider entity ID location
- Service provider entity ID binding
- Copier le contenu des metadata (xml). Ces metadata permettront à votre IDP de connaître Project Monitor en tant que Service Provider et de communiquer avec lui.
Ces informations permettront à votre IDP de connaître Project Monitor en tant que Service Provider et de communiquer avec lui.
Nota bene : en fonction du paramétrage de l'IDP, l'ensemble des informations ne sera pas forcément nécessaire
2.4. Déclarer Project Monitor dans votre IDP
- Create Project Monitor en tant qu’application dans votre IDP.
- Fournir les metadata obtenues à l’étape Mémo Authentification SAML2 - 2.3 Générer la configuration de ‣ : Fichier METADATA XML à votre IDP. 2 alternatives :
- Copier le xml dans un champ prévu à cet effet.
- Ou reporter les valeurs
Assertion consumer service
,Service provider entity ID location
andService provider entity ID binding
.
3. Test configuration
- Create your users in Project Monitor si ce n’est pas déjà fait.
- Créer vos utilisateurs dans votre IDP si ce n’est pas déjà fait.
- Se connecter à l’application pour valider la configuration.
4. SAML avec AzureAD
- Une application d’entreprise dans Azure AD.
- Les utilisateurs doivent être ajoutés dans l’application Azure AD : ajouter un utilisateur / groupe pour avoir les accès vers Project Monitor.
- Les utilisateurs doivent être ajoutés dans Project Monitor (manuellement ou via import).
4.1 Dans AzureAD
- Accéder au centre d’administration AzureAD.
- Activer l’authentification SAML.
- Utiliser l’application d’entreprise
Demonstrateur-interne (up : adazure)
présente dansAzure Active Directory
. - Configurer l’authentification unique dans l’application.
- Télécharger le fichier XML.
- Vérifier la liste des utilisateurs.
Utilisateurs et Groupes
.4.2 Dans Project Monitor
- Click on Administration >
Paramétrages avancés
>Configuration technique
> SAML2 authentication - Coller la configuration XML téléchargée auparavant.
- Ajouter le
Login attribute
de votre Id Provider. - Click on
Save
. - Click on Administration >
Paramétrages utilisateur
>Gestion des utiisateurs
> Users. - Ajouter les utilisateurs.
- Vérifier qu’ils soient aussi ajoutés sur Azure AD.
5. Se connecter sans SAML
Some users of Project Monitor are unknown to the IDP (external service provider, consultant). For these users, it is possible to connect to Project Monitor par login et mot de passe avec l’url : http://maplateforme/nex/login
?local=true
6. Établir un mode exclusif de connexion
Par défaut les utilisateurs peuvent s’identifier à la fois avec le mode d’authentification SAML ainsi qu’avec le mode d’authentification local (url /neo/auth/auth.html?local=true
or nex/login
?local=true
)
It is possible to disable this local authentication mode for all or some users, to allow them to use only the SAML authentication mode.
Pour désactiver le mode d’authentification local, dans l’interface de paramétrage de l’authentification SAMLv2, cocher la case Accès par SSO exclusivement
:
This default setting can be overridden when :
- Some application users are not listed in the organization's directory (external users)
- Some technical users (interfaces) are used.
To authorize a specific user to use local authentication by override :
- Dans l’écran de détail d’un utilisateur, dans l’onglet
Paramètres
, cocher la caseLocal authentication possible