Un petit tutoriel pour permettre à vos utilisateurs MS365 de se connecter à votre instance Nextcloud.
Une fois les renseignements ci-dessus fournis, se rendre sur la rubrique Certificats SAML puis télécharger le fichier XML XML de métadonnées de fédération. Nous insérerons plus tard les données de ce fichier dans notre configuration Nextcloud.
Se rendre ensuite sur la partie 4 "Configurer Nextcloud" (Pour rappel Nextcloud est le nom de mon application d'entreprise) et copier l'URL de connexion et l'Identificateur Azure AD. Coller ces URL dans un fichier temporaire.
Par défaut aucun utilisateur de votre tenant MS365 n'a accès à l'application. Vous devez donc ajouter des utilisateurs en vous rendant dans la section Utilisateurs et groupes de votre application nouvellement créée puis ajouter les utilisateurs ou groupes souhaités.
Renseigner ensuite comme ceci.
Général :
Saisir dans la case Attribut pour relier l'UID : http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name
Service du Fournisseur de Données :
Saisir dans la case Identifiant de l'entite IdP : copier/coller l'URL contenu dans le fichier temporaire de l'Identificateur Azure AD (commence par https://sts.windows.net/....)
Saisir dans la case URL cible du fournisseur d'identités... : copier/coller l'URL contenu dans le fichier temporaire de URL de connexion (https://login.microsoftonline.com/ID_TENANT/saml2)
Juste au dessous de cette case, cliquer sur "Afficher les paramètres optionnels du fournisseur d'identité... ..."
Mappage des attributs :
Cliquer sur "Afficher les paramètres de mappage des attributs..." :
Résultat final
Et voilà, vos utilisateurs MS365 autorisés peuvent se connecter sur Nextcloud. Ainsi si ceux-ci sont déjà authentifiés sur office.com par exemple, ils n'auront pas besoin de s'authentifier de nouveau sur votre instance Nextcloud.
Si vous souhaitez vous connecter avec un utilisateur géré directement dans Nextcloud (l'admin par exemple), vous pouvez soit utiliser l'URL https://nextcloud.votredomaine.com/login?direct=1 soit coché l'option "Autoriser l'utilisation de plusieurs systèmes d'authentification (ex: LDAP)" présente dans les paramètres de l'application Authentification SSO & SAML de Nextcloud.
Ici j'ai activé l'option ce qui me donne le choix soit d'une connexion directe équivalente à https://nextcloud.votredomaine.com/login?direct=1 soit d'une connexion dite normale utilisée par mes utilisateurs MS365.
Il vous faudra configurer Nextcloud en amont de la configuration du SSO pour définir un profil par défaut (langue, squelette, quota...).
Cette solution est pratique pour l'administrateur en lui évitant de devoir gérer plusieurs annuaires d'utilisateurs (surtout quand un utilisateur quitte la structure) mais aussi pratique pour les utilisateurs. Cependant cela implique une politique de mot de passe robuste mais aussi dans la mesure du possible du MFA.
Maintenant tout le monde n'a pas les moyens de se payer un abonnement MS365 et ce n'est pas très open source. Ce qui me gène réellement c'est que le backend d'authentification soit dépendant d'un abonnement (quid des utilisateurs le jour où l'on souhaite résilier MS365 pour des raisons financières et/ou stratégiques). Dans un prochain article, je mettrai donc en place un IdP (Identity Provider / Fournisseur d'Identité) open source permettant d'utiliser différents backends d'authentification et d'autres applications en ligne toujours en mode SSO.