1. Préambule
SAML offre la possibilité aux utilisateurs de s’identifier de façon unique aux différentes applications web dont ils disposent.
A partir de la v6.0.6, Project Monitor peut être utilisé avec l’authentification SAML.
Dans le modèle SAML Project Monitor est un fournisseur de service (Service Provider).
Vous devez disposer d’un fournisseur d’identité : (Identity provider). Dans la suite du document, IDP désigne votre Identity Provider (par exemple Okta / Shibboleth / Keycloak ou ADFS – Microsoft Active Directory Federation Services).
Remarques
Données attendues par Virage :
- Fichier metadata du client
- Attribut d’authentification du client
Donnée fournie par Virage :
- Fichier metadata à intégrer à l’Identity Provider du client
2. Activer l’authentification SAML en 4 étapes
2.0 Prérequis technique : Uniquement pour les plateformes installées (hors SAAS)
- Dans le fichier monitormaker.properties : configurer la stratégie d’authentification : 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
etUS_export_policy.jar
et les coller en remplacement de ceux existants dans le répertoire%PM_HOME%\jre\lib\security
. - Redémarrer le service Wildfly pour prendre en compte la modification.
com.vc.mm.authenticator= com.vc.mm.modules.utilisateur.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
) - Obtenir ou paramétrer dans votre IDP le code du champ contenant le login de l’utilisateur
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
etAssertion 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
Admin
>Authentification SAML2
- Dans le premier champ de la page, coller le contenu XML du fichier metadata obtenu à l’étape .
- Renseigner le code du champ contenant le login. Ce code a été obtenu à l’étape .
- Fixer le temps maximal d'authentification à 8h.
Enregistrer
2.3 Générer la configuration de Project Monitor : Fichier METADATA XML
- Toujours sur la page
Admin
>Authentification SAML
, dans la seconde partie de la page - Cliquer sur
Générer
pour afficher l'ensemble des informations de Project Monitor qui seront nécessaires à l'IDP, à savoir : - des metadata au format XML
- 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.
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
- Créer Project Monitor en tant qu’application dans votre IDP.
- Fournir les metadata obtenues à l’étape à 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
etService provider entity ID binding
.
3. Tester la configuration
- Créer vos utilisateurs dans 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
Prérequis :
- 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
- Cliquer sur
Administration
>Administration avancée
>Authentification SAML2
. - Coller la configuration XML téléchargée auparavant.
- Ajouter le
Login attribute
de votre Id Provider. - Cliquer sur
Enregistrer
. - Cliquer sur
Administration
>Administration avancée
>Utilisateurs
. - Ajouter les utilisateurs.
- Vérifier qu’ils soient aussi ajoutés sur Azure AD.
5. Se connecter sans SAML
Il est possible que certains utilisateurs de Project Monitor soient inconnus de l’IDP (Prestataire externe, consultant). Pour ces utilisateurs, il est possible de se connecter à 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
ou nex/login
?local=true
)
Il est possible de désactiver pour tout ou partie des utilisateurs ce mode d’authentification local afin de ne permettre aux utilisateurs de n’utiliser que le mode d’authentification SAML.
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
:
Il est possible de déroger à ce paramétrage par défaut notamment lorsque :
- Certains utilisateurs de l’application ne sont pas référencés dans l’annuaire de l’organisation (intervenants externes)
- Certains utilisateurs techniques (interfaces) sont utilisés.
Pour autoriser un utilisateur spécifique à utiliser l’authentification locale par dérogation :
- Dans l’écran de détail d’un utilisateur, dans l’onglet
Paramètres
, cocher la caseAuthentification locale possible