SAML et SCIM
Deux fonctions relient TechWatchAlert à l’annuaire de votre entreprise :
- SAML 2.0 : vos collègues se connectent avec leur compte d’entreprise, comme avec le SSO OIDC, mais par le protocole SAML (ADFS, Okta, Entra ID, Google Workspace…) ;
- SCIM 2.0 : l’annuaire crée, met à jour et désactive lui-même les comptes de l’organisation, et place chacun dans les bons groupes.
Les deux sont inclus dans l’offre Enterprise (ou en option sur devis). Sur une autre offre, le choix SAML 2.0 de la page Authentification (SSO) et la page Provisionnement (SCIM) portent le cadenas de l’offre ; l’API refuse aussi la demande, avec la raison.
- Qui : les Admin et le Propriétaire de l’organisation.
- Où : Paramètres de l’organisation › Sécurité › Authentification (SSO) et Sécurité › Provisionnement (SCIM).
- Prérequis : au moins un domaine e-mail vérifié (étape 1 de la page SSO). Une adresse hors des domaines vérifiés est toujours refusée, à la connexion comme au provisionnement : l’annuaire d’une organisation n’a autorité que sur ses propres domaines.
Connexion SAML 2.0
Section intitulée « Connexion SAML 2.0 »Comment ça marche
Section intitulée « Comment ça marche »- Sur la page de connexion, la personne saisit son adresse. Si son domaine relève d’une organisation dont le SSO SAML est actif, le bouton Se connecter via le SSO de votre organisation apparaît (seul, si l’organisation impose le SSO).
- TechWatchAlert envoie une demande d’authentification signée à votre fournisseur d’identité, qui authentifie la personne (mot de passe, MFA, sans mot de passe : c’est lui qui décide).
- Le fournisseur renvoie une assertion signée. TechWatchAlert la vérifie, puis ouvre la session.
Ce que TechWatchAlert vérifie sur chaque réponse :
- l’assertion est signée par le certificat du fournisseur enregistré (une réponse signée seule ne suffit pas) ; les signatures SHA-1 sont refusées ;
- elle vous est destinée : audience = l’identifiant de TechWatchAlert, destination et destinataire = l’URL de réponse exacte de votre organisation ;
- elle répond à la demande partie de ce navigateur (une réponse destinée à un autre navigateur, ou à une demande déjà traitée, est refusée) ;
- elle est dans ses délais, avec une tolérance d’horloge de 3 minutes ;
- elle n’a jamais été présentée : chaque assertion ne sert qu’une fois ;
- l’adresse appartient à un domaine vérifié de l’organisation.
La déconnexion est locale : elle ferme la session TechWatchAlert, pas celle de votre fournisseur d’identité.
Informations à donner à votre fournisseur
Section intitulée « Informations à donner à votre fournisseur »Choisissez SAML 2.0 sous Protocole. La section Informations pour votre fournisseur d’identité affiche :
| Valeur | Où la coller |
|---|---|
| Identifiant (Entity ID) | « Identifier », « Audience URI », « Entity ID » |
| URL de réponse (ACS) | « Reply URL », « Single sign-on URL », « ACS URL » |
| URL des métadonnées | à importer dans un fournisseur qui lit les métadonnées (ADFS…) |
| Certificat de signature | si votre fournisseur vérifie la signature des demandes |
Télécharger les métadonnées donne le même contenu en fichier XML. L’identifiant et l’URL de réponse sont propres à votre organisation.
Microsoft Entra ID
Section intitulée « Microsoft Entra ID »- Dans le centre d’administration Entra : Applications d’entreprise › Nouvelle application › Créer votre propre application, « Intégrer une autre application que vous ne trouvez pas dans la galerie ».
- Authentification unique › SAML. Dans Configuration SAML de base, collez l’Identifiant (Entity ID) et l’URL de réponse (ACS) de TechWatchAlert.
- Attributs et revendications : l’identificateur d’utilisateur unique (NameID) est
user.userprincipalnamepar défaut. Si le UPN n’est pas l’adresse e-mail, choisissezuser.mail. Pour synchroniser les groupes, Ajouter une revendication de groupe › « Groupes attribués à l’application ». - Certificat de signature SAML : copiez l’URL des métadonnées de fédération d’application.
- Dans TechWatchAlert, Métadonnées › Par URL, collez cette URL puis Importer.
- Utilisateurs et groupes (côté Entra) : attribuez l’application aux personnes ou aux groupes concernés.
Entra envoie les groupes sous la forme de leur identifiant d’objet (un GUID), dans la revendication http://schemas.microsoft.com/ws/2008/06/identity/claims/groups : renseignez ce nom dans Attribut groupes, et reliez les identifiants d’objet dans les correspondances de groupes (voir plus bas). Au-delà de 150 groupes, Entra n’envoie plus la liste : limitez-vous aux groupes attribués à l’application.
- Applications › Create App Integration › SAML 2.0.
- Single sign-on URL : l’URL de réponse (ACS) ; Audience URI (SP Entity ID) : l’Identifiant (Entity ID). Name ID format :
EmailAddress; Application username :Email. - Attribute Statements (facultatif) :
firstName=user.firstName,lastName=user.lastName. Group Attribute Statements : nomgroups, filtre selon vos groupes. - Dans l’onglet Sign On, copiez la Metadata URL.
- Dans TechWatchAlert, Métadonnées › Par URL, collez-la puis Importer. Indiquez
groupsdans Attribut groupes si vous l’avez configuré. - Assignments : attribuez l’application.
Google Workspace
Section intitulée « Google Workspace »- Console d’administration Google : Applications › Applications Web et mobiles › Ajouter une application › Ajouter une application SAML personnalisée.
- À l’étape Détails du fournisseur d’identité Google, cliquez sur Télécharger les métadonnées.
- Dans TechWatchAlert, Métadonnées › Par fichier XML, choisissez ce fichier puis Importer.
- Détails du fournisseur de services : URL ACS = l’URL de réponse, ID d’entité = l’identifiant ; Format de l’ID de nom :
EMAIL, ID de nom :Basic Information > Primary email. - Mappage des attributs (facultatif) :
First name→firstName,Last name→lastName; Appartenance à un groupe →groupssi vous voulez synchroniser des groupes. - Activez l’application pour les unités organisationnelles concernées (Accès utilisateur › Activé).
Saisie manuelle et renouvellement du certificat
Section intitulée « Saisie manuelle et renouvellement du certificat »Sans fichier de métadonnées, Saisir à la main demande l’Entity ID du fournisseur, son URL de connexion (SSO) (liaison HTTP-Redirect) et son certificat de signature (PEM). Pendant un renouvellement de certificat, collez l’ancien et le nouveau séparés par une ligne vide : les deux sont acceptés jusqu’à ce que vous retiriez l’ancien. Une connexion active doit toujours garder un fournisseur complet.
Attributs de l’assertion
Section intitulée « Attributs de l’assertion »- NameID : Adresse e-mail (le NameID est l’adresse) ou Identifiant persistant (un identifiant stable ; l’adresse vient alors de l’attribut e-mail, et une adresse renommée dans l’annuaire retrouve le même compte).
- Attribut e-mail, prénom, nom, groupes : laissés vides, les noms usuels sont reconnus (
email,mail,firstName,givenName,lastName,surnameet les revendications Entra ID). Sans Attribut groupes, les groupes ne sont pas synchronisés à la connexion. - Autoriser la connexion depuis le portail du fournisseur (désactivé par défaut) : accepte les réponses non sollicitées, lancées depuis le portail Okta ou Mes applications. Une telle réponse ne peut pas être liée au navigateur qui la présente : ne l’activez que si vos utilisateurs en ont besoin.
Tester, puis activer
Section intitulée « Tester, puis activer »Tester avec mon compte joue une vraie connexion SAML sans activer le SSO : vous passez par votre fournisseur, puis revenez sur la page, qui affiche le résultat — l’adresse lue, le nom, les groupes reçus, les groupes de l’organisation qui s’appliqueraient, si le domaine est vérifié, et tous les attributs reçus. Aucun compte n’est créé, aucune session n’est ouverte. En cas d’échec, la raison s’affiche (voir le tableau plus bas).
Quand le test est concluant, remplissez l’étape Mapping & règles d’accès (groupe d’arrivée, SSO imposé, création automatique des comptes) puis cliquez sur Activer le SSO. Ces règles sont les mêmes qu’en OIDC.
Messages d’erreur
Section intitulée « Messages d’erreur »| Message | Cause |
|---|---|
| La signature de l’assertion est absente, invalide ou d’un algorithme refusé (SHA-1)… | Assertion non signée, certificat différent de celui importé, ou signature SHA-1. Réimportez les métadonnées après un renouvellement de certificat. |
| L’audience de l’assertion n’est pas l’identifiant (Entity ID) de TechWatchAlert. | L’identifiant saisi chez le fournisseur ne correspond pas. |
| Le destinataire de l’assertion n’est pas l’URL de réponse (ACS). / La réponse est adressée à une autre URL. | L’URL de réponse saisie chez le fournisseur ne correspond pas. |
| La réponse ne correspond pas à la demande envoyée. | Connexion lancée dans un autre onglet ou navigateur ; recommencez depuis la page de connexion. |
| L’horloge du fournisseur est décalée de plus de 3 minutes. | Horloge du serveur du fournisseur (ADFS…) à resynchroniser. |
| Cette réponse avait déjà été présentée. | Retour arrière ou double envoi du formulaire : recommencez la connexion. |
| Aucune adresse e-mail dans l’assertion… | NameID non e-mail sans attribut e-mail : changez le format du NameID ou l’attribut. |
| L’adresse reçue n’appartient pas à un domaine vérifié de l’organisation. | Vérifiez le domaine (étape 1) ou l’adresse envoyée par le fournisseur. |
Chaque connexion SAML, chaque refus et chaque changement de réglage sont inscrits au journal d’audit.
Provisionnement SCIM 2.0
Section intitulée « Provisionnement SCIM 2.0 »Ce que fait l’annuaire
Section intitulée « Ce que fait l’annuaire »- Créer un compte : seulement pour une adresse d’un domaine vérifié. Un compte qui existe déjà à cette adresse est rattaché à l’organisation, sans doublon. La personne arrive comme Membre ; ses droits viennent de ses groupes.
- Mettre à jour : nom, prénom, nom affiché, identifiant externe. L’adresse du compte, elle, ne change pas (elle sert d’identifiant dans toutes les organisations de la personne) ; changez-la depuis le compte si besoin.
- Désactiver (
active = false) : l’accès à l’organisation est coupé aussitôt (adhésion, groupes, projets), sans rien effacer : dossiers, commentaires et journal restent attribués. La connexion par SSO ne rouvre pas l’accès tant que l’annuaire ne réactive pas la personne. - Réactiver : la personne retrouve son adhésion et les groupes que l’annuaire lui donne.
- Supprimer : comme la désactivation ; le compte de la personne reste (il peut appartenir à d’autres organisations).
- Groupes : les groupes poussés par l’annuaire donnent les droits des groupes de l’organisation qui leur sont reliés.
Le propriétaire de l’organisation ne se désactive pas par l’annuaire : l’opération est refusée ; transférez d’abord la propriété.
Créer le jeton
Section intitulée « Créer le jeton »- Sécurité › Provisionnement (SCIM), Générer le jeton.
- Copiez le jeton affiché : il ne sera plus jamais montré (TechWatchAlert n’en garde qu’une empreinte).
- Copiez l’URL de base SCIM.
Renouveler le jeton en crée un nouveau et l’ancien cesse aussitôt de fonctionner ; Révoquer coupe le provisionnement (les comptes déjà créés restent tels quels). La page affiche la date du dernier appel de l’annuaire, le nombre de comptes actifs et de groupes, et le journal des dernières opérations, refus compris.
Microsoft Entra ID
Section intitulée « Microsoft Entra ID »- Dans l’application d’entreprise créée pour TechWatchAlert (ou une nouvelle application hors galerie) : Approvisionnement › Mode d’approvisionnement : Automatique.
- URL du locataire : l’URL de base SCIM, suivie de
?aadOptscim062020(ce paramètre demande à Entra le comportement conforme à la norme) ; Jeton secret : le jeton. Tester la connexion. - Mappages : gardez
userPrincipalName(oumail) →userName,mail→emails[type eq "work"].value,givenName→name.givenName,surname→name.familyName, et l’expressionSwitch([IsSoftDeleted], , "False", "True", "True", "False")→active. Les attributs d’extension (service, matricule…) sont acceptés et ignorés. - Étendue : « Synchroniser uniquement les utilisateurs et groupes attribués » ; attribuez les utilisateurs et les groupes.
- État de l’approvisionnement : Activé, puis Enregistrer.
Entra désactive d’abord un compte retiré de l’application (active = false), puis le supprime au bout de 30 jours ; ses particularités (booléens envoyés en texte, opérations Replace en majuscule, retrait de membres par liste de valeurs) sont prises en charge.
- Dans l’application SAML créée pour TechWatchAlert : General › App Settings › Provisioning : SCIM.
- Provisioning › Integration : SCIM connector base URL = l’URL de base SCIM ; Unique identifier field for users =
userName; Supported provisioning actions : Import New Users and Profile Updates, Push New Users, Push Profile Updates, Push Groups ; Authentication Mode =HTTP Header, Authorization = le jeton. Test Connector Configuration. - Provisioning › To App : activez Create Users, Update User Attributes, Deactivate Users.
- Push Groups : poussez les groupes qui doivent donner des droits.
Okta met à jour les profils par remplacement complet et désactive par active = false : les deux sont pris en charge.
Google Workspace
Section intitulée « Google Workspace »Google Workspace ne provisionne automatiquement que les applications de son catalogue. Avec Google, utilisez la connexion SAML ci-dessus avec la création automatique des comptes (règles d’accès du SSO) : un compte est créé à la première connexion, dans le groupe d’arrivée choisi, et les groupes envoyés dans l’assertion sont appliqués à chaque connexion.
Groupes de l’annuaire → groupes de l’organisation
Section intitulée « Groupes de l’annuaire → groupes de l’organisation »Dans TechWatchAlert, les droits viennent des groupes : un groupe donne un rôle d’organisation et l’accès à des projets. Les correspondances relient un groupe de l’annuaire à un groupe de l’organisation ; elles servent à la fois au SAML (attribut groupes) et au SCIM (groupes poussés).
- Groupe de l’annuaire : son nom (
Equipe SOC), ou son identifiant d’objet chez Entra ID. La comparaison ignore la casse. En SCIM, le nom, l’identifiant externe et l’identifiant SCIM du groupe sont reconnus. - Groupe de l’organisation : n’importe quel groupe, sauf celui d’un partenaire. Relier un groupe de l’annuaire au groupe Administrateurs fait de ses membres des administrateurs ; le rôle de propriétaire n’est jamais donné ni retiré par l’annuaire.
- Un groupe de l’organisation relié ici est piloté par l’annuaire : ses membres sont ceux que l’annuaire y met, et un ajout à la main en est retiré à la synchronisation suivante. Les groupes non reliés ne sont jamais touchés.
- Les changements s’appliquent à la prochaine connexion SAML de la personne, ou tout de suite pour les comptes provisionnés par SCIM. Un compte provisionné par SCIM suit les groupes SCIM, pas l’attribut groupes de l’assertion.
Questions fréquentes
Section intitulée « Questions fréquentes »Peut-on garder OIDC et ajouter SAML ? Une organisation a une connexion SSO, en OIDC ou en SAML. Passer de l’un à l’autre se fait sous Protocole ; si le SSO est actif, l’autre configuration doit être complète.
Que devient le mot de passe ? Si Forcer le SSO est coché, les adresses des domaines vérifiés se connectent uniquement par le SSO de l’organisation, comme en OIDC (voir Compte et connexion).
L’offre redescend sous Enterprise ? Le SSO SAML ne route plus personne (le bouton disparaît, la connexion par mot de passe reprend), et l’annuaire reçoit un refus explicite. Rien n’est effacé : tout reprend en revenant sur l’offre.