Exemple de configuration SAML avec le composant Active Directory Federation Services (ADFS)
Cette page de documentation décrit les étapes de configuration permettant d’activer l’authentification SAML dans Cyberwatch via l’utilisation d’un Fournisseur d’Identité Microsoft ADFS.
Elle constitue un exemple simplifié, permettant de mettre en place une configuration minimale pour le fonctionnement du service SAML.
Prérequis
La procédure d’exemple suppose les prérequis suivants :
- un Serveur Windows 2019 fonctionnel ;
- une instance Active Directory dans laquelle l’attribut « email » des utilisateurs est définie ;
- un certificat SSL pour la configuration côté ADFS ;
- ADFS installé sur votre serveur Windows.
Ceux-ci peuvent bien entendu être adaptés à votre environnement, la procédure fonctionnera par exemple de façon similaire avec un serveur Windows 2016 plutôt qu’un serveur Windows 2019.
Obtention du certificat de l’IDP
Avant tout, récupérer le certificat de l’IDP, qui sera renseigné dans Cyberwatch à l’étape 5°).
Pour ce faire, télécharger le fichier XML de métadonnées de l’IDP depuis l’URL : https://[URL_IDP]/federationmetadata/2007-06/federationmetadata.xml
Le fichier obtenu doit contenir deux certificats contenu dans des champs <X509Certificate>
. Extraire le premier certificat contenu dans la section <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
du XML.
Conserver ce certificat, il sera utilisé dans la prochaine étape pour la configuration SAML dans Cyberwatch.
Configuration SAML côté Cyberwatch
Commencer par configurer la partie SAML dans Cyberwatch, depuis le menu Administration > Fournisseur d’identité.
- Dans le champ « Format du nom d’identification » renseigner
urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress
- Dans le champ « Texte du bouton de connexion », renseigner la valeur souhaitée, par exemple
Connexion ADFS
. Celle-ci sera utilisée pour le libellé du bouton de connexion SAML sur la page d’authentification de Cyberwatch - Dans le champ « SP Entity ID », nommer l’identificateur d’approbation de partie de confiance de votre IDP, par exemple
CYBERWATCH
- OPTIONNEL Il est possible de renseigner le champ « IDP Entity ID » avec la valeur du champ
entityID
issu des métadonnées de l’IDP, généralement de la formehttp://[URL_IDP]/adfs/services/trust
- Dans le champ « URL cible SSO IDP », renseigner l’URL d’authentification SSO de l’ADFS. Celui-ci doit prendre la forme
https://[URL_IDP]/adfs/ls
- Pour le « Certificat IDP », copier le certificat exporté à l’étape précédente
- Sauvegarder la configuration
Une fois la configuration sauvegardée, l’URL des métadonnées SP Cyberwatch
devient disponible et propose un lien permettant de télécharger le fichier XML de métadonnées de l’application Cyberwatch nommé saml_metadata
. Le télécharger, celui-ci sera utilisé pour automatiser une partie de la configuration dans l’ADFS.
OPTIONNEL - Configuration des attributs dans Cyberwatch
Afficher les détails de configuration des attributs
La configuration des attributs est facultative, elle va permettre de gérer automatiquement l’attribution des rôles des utilisateurs, des groupes, de l’adresse e-mail de l’utilisateur, etc. et d’autres attributs spécifiques à Cyberwatch comme l’accès à tous les actifs ou l’accès à Kibana.
Les éléments qui suivent montrent des exemples de configuration de ces éléments dans le cadre d’une utilisation de ces attributs avec SAML ADFS.
Configuration des rôles
Le champ « Attribut des rôles » permet de définir un attribut sur lequel se baser pour assigner automatiquement des rôles aux utilisateurs SAML dans Cyberwatch.
Selon la valeur de cet attribut, les utilisateurs se verront assigner un rôle parmi Administrateur, Administrateur système, Administrateur sécurité ou Auditeur en fonction de la valeur de l’attribut défini dans la configuration de Cyberwatch pour chacun de ces rôles.
Dans cet exemple, nous allons utiliser les groupes Active Directory des utilisateurs afin de définir leurs rôle dans Cyberwatch.
- Pour « Attribut des rôles » renseigner la valeur
http://schemas.xmlsoap.org/claims/Group
- Pour « Administrateur » renseigner la valeur
cbw_admin
- Pour « Administrateur système » renseigner la valeur
cbw_admin_sys
- Pour « Administrateur sécurité » renseigner la valeur
cbw_admin_secu
- Pour « Auditeur » renseigner la valeur
cbw_audit
Avec cette configuration, un utilisateur qui dispose de l’un des groupes LDAP renseignés comme valeur se verra assigner le rôle associé à cette valeur.
Un utilisateur LDAP n’appartenant à aucun des groupes spécifiés se verra assigner le rôle Auditeur.
Un utilisateur LDAP appartenant à plusieurs de ces groupes se verra assigner le rôle avec le plus de privilèges.
Configuration des groupes
Le champ « Attribut des groupes » permet de définir un attribut sur lequel se baser pour assigner automatiquement des groupes aux utilisateurs SAML dans Cyberwatch.
Dans le champ « Attribut des groupes », renseigner la valeur http://schemas.xmlsoap.org/claims/Group
.
Un utilisateur se connectant avec SAML se verra automatiquement assigner aux groupes AD dont il fait partie, à condition que ces groupes existent dans Cyberwatch.
Il est nécessaire que les groupes soient au préalables créés dans Cyberwatch et que leurs noms soient identiques aux noms des groupes AD/LDAP.
Accès à tous les actifs / Accès à Kibana
Le fonctionnement pour l’« Accès à tous les actifs » ou pour l’« Accès à Kibana » est identique.
Il consiste à définir un attribut sur lequel se baser pour accorder automatiquement l’accès à tous les actifs ou l’accès à Kibana aux utilisateurs SAML.
Toujours avec l’exemple des groupes LDAP, il est par exemple possible de se baser sur l’attribut http://schemas.xmlsoap.org/claims/Group
.
On pourrait ainsi avoir :
Nom de l’accès | Attribut | compris dans |
Accès à tous les actifs | http://schemas.xmlsoap.org/claims/Group | cbw_all_assets |
Accès à Kibana | http://schemas.xmlsoap.org/claims/Group | cbw_kibana |
Attributs Adresse e-mail, Description et Nom complet
Ces trois attributs fonctionnent de la même manière. Ils permettent de définir un attribut SAML dont la valeur sera utilisée pour remplir respectivement l’adresse e-mail, la description et le nom complet de l’utilisateur.
Ces éléments peuvent nécessiter des configurations complémentaires dans les règles de revendication côté ADFS.
Configuration côté ADFS
Création d’une approbation de partie de confiance
Depuis le serveur ADFS, ouvrir la console nommée « Gestion AD FS ».
Ajouter une approbation de partie de confiance en suivant les étapes ci-dessous :
- Ouvrir le dossier « AD FS » dans le menu de navigation de la console
- Clic droit « Approbations de partie de confiance »
- Sélectionner « Ajouter une approbation de partie de confiance… », l’assistant d’Ajout d’approbation de partie de confiance s’ouvre
- À l’étape « Bienvenue » de l’assistant, choisir l’option « Prise en charge des revendications »
- À l’étape « Sélectionner une source de données », sélectionner « Importer les données concernant la partie de confiance à partir d’un fichier » et importer le fichier
saml_metadata
généré plus tôt depuis Cyberwatch - À l’étape « Entrer le nom complet », renseigner un nom permettant d’identifier facilement la partie de confiance : par exemple
Cyberwatch SAML
- À l’étape « Sélectionner une stratégie de contrôle d’accès », sélectionner « Autoriser tout le monde » ou toute autre option que vous souhaiteriez configurer
- L’étape « Prêt à ajouter l’approbation » permet simplement de vérifier les éléments configurés si vous le souhaitez
- À l’étape « Terminer », cocher l’option « Configurer une stratégie d’émission de revendications pour cette application » et valider
Création des Règles de Revendications
Une fois l’approbation de partie de confiance créée, l’ajout de règles de revendication va permettre d’envoyer à Cyberwatch les informations nécessaires pour l’authentification.
Notre exemple propose de créer deux règles qui suffiront pour rendre l’authentification SAML fonctionnelle, selon la procédure suivante :
- Sur l’approbation de partie de confiance
Cyberwatch SAML
nouvellement créée, clic droit « Éditer la stratégie d’émission de revendication… » - Une fenêtre s’ouvre, permettant la création de « Règles de transformation d’émission »
- Cliquer sur « Ajouter une règle… »
- À l’étape « Choisir le type de règle », sélectionner « Envoyer les attributs LDAP en tant que revendications »
À l’étape « Configurer la règle de revendication » :
- nommer la règle de revendication
- sélectionner le magasin d’attribut « Active Directory »
- dans le menu « Mappage des attributs LDAP aux types de revendications sortantes », sélectionner
E-Mail-Addresses
pour l’attribut LDAP etAdresse de messagerie
pour le type de revendication sortante - pour la gestion permissions dans Cyberwatch par la suite, sélectionner par exemple une autre entrée
Token-Groups - Noms non qualifiés
pour l’attribut LDAP etGroupe
pour le type de revendication sortante - confirmer la création de la règle
Ajouter une nouvelle règle, cette fois en sélectionnant
Transformer une revendication entrante
pour le modèle de la règle. Dans l’étape de configuration de la règle :- nommer la règle de revendication
- sélectionner
Adresse de messagerie
pour le champ « Type de revendication entrante » - laisser
Non spécifié
pour le « Format d’ID de nom entrant » - sélectionner
ID de nom
pour le champ « Type de revendication sortante » - sélectionner
Adresse de messagerie
pour le champ « Format d’ID de nom sortant » - sélectionner l’option
Passer toutes les valeurs de revendication
- valider la règle
La configuration côté ADFS devrait alors être valide.
Vérification du fonctionnement et troubleshooting
Ouvrir une nouvelle fenêtre de navigation privée et se rendre sur la page d’authentification de Cyberwatch.
Un nouveau bouton bleu Connexion ADFS
(en fonction de la valeur renseignée à l’étape 1°) de la configuration dans Cyberwatch) devrait être disponible.
Cliquer sur ce bouton, si les configurations côté ADFS et Cyberwatch sont valides, le navigateur vous redirige vers la page d’authentification ADFS.
Renseigner les identifiants de votre compte LDAP pour vous authentifier au service SAML ADFS. Le navigateur vous redirige et vous authentifie sur l’application Cyberwatch avec votre utilisateur.
Vérifier ne pas déjà avoir un compte local/LDAP créé dans Cyberwatch utilisant la même adresse e-mail que celle utilisée pour l’authentification SAML, ou vous obtiendrez une erreur lors de votre tentative de connexion.
Aide au troubleshooting
Des étapes de troubleshooting peuvent s’avérer nécessaires, celles-ci sont possibles via la visualisation des requêtes SAML.
La visualisation de ces requêtes peuvent généralement se faire à l’aide d’une extension de navigateur comme SAML-tracer
par exemple.
N’hésitez pas à nous contacter à l’adresse e-mail support@cyberwatch.fr
pour tout accompagnement technique à la configuration.