Asteria Docs

Configurer Microsoft

Enregistrer une application Entra, les autorisations nécessaires à chaque service, et le certificat facultatif qui permet l'accès aux fichiers partagés avec un groupe.

Vous enregistrez une application dans votre annuaire Microsoft. Vos membres y connectent ensuite leur propre compte, et l'assistant agit avec les permissions de chacun d'eux.

Cette page est le guide de configuration. Connecteurs traite des questions de politique à trancher au préalable.

Configurer avec Azure Cloud Shell

Le script de configuration crée l'inscription, ajoute les services choisis, crée et vérifie le secret client et peut configurer le certificat pour l'accès par groupe. Appuyez simplement sur Entrée à l'invite des services pour tous les activer, ce qui est la configuration recommandée, ou saisissez une liste plus courte. Il s'exécute dans votre propre environnement Microsoft authentifié. Téléchargez-le dans Azure Cloud Shell, examinez-le si vous le souhaitez, puis exécutez-le :

curl -fsSLo setup-microsoft-connector.sh \
  https://docs.asteria-labs.com/scripts/setup-microsoft-connector.sh
bash setup-microsoft-connector.sh

Le script affiche le locataire et chaque autorisation avant toute modification. À la fin, copiez l'ID du locataire, l'ID client, le secret client et, le cas échéant, le bloc de certificat dans Connecteurs, puis Microsoft, dans Asteria Cloud. Microsoft n'affiche le secret généré que dans cette session Cloud Shell : enregistrez-le avant de fermer la fenêtre.

Vous préférez configurer ou contrôler chaque élément vous-même ? La procédure manuelle ci-dessous produit la même inscription.

Configuration manuelle

1. Enregistrer l'application

Dans le centre d'administration Microsoft Entra, allez dans Identité, puis Applications, puis Inscriptions d'applications, puis Nouvelle inscription.

  • Nom : ce que vos administrateurs reconnaîtront, par exemple Asteria Cloud connector.
  • Types de comptes pris en charge : Comptes dans cet annuaire d'organisation uniquement. Le mono-locataire est le bon choix, et il vous dispense de la vérification d'éditeur de Microsoft.
  • URI de redirection : plateforme Web, et l'adresse https://app.asteria-labs.com/api/connectors/callback.

Depuis la page Vue d'ensemble, copiez l'ID d'application (client) et l'ID d'annuaire (locataire). Les deux sont nécessaires.

Puis Certificats et secrets, Nouveau secret client. Copiez sa valeur immédiatement : Microsoft ne l'affiche qu'une fois. Notez la date d'expiration quelque part où vous la reverrez : quand un secret expire, toutes les connexions de vos membres cessent de fonctionner et seul un administrateur peut y remédier.

2. Accorder les autorisations que vos membres utiliseront

Autorisations d'API, puis Ajouter une autorisation, puis Microsoft Graph, puis Autorisations déléguées.

N'ajoutez que les lignes correspondant aux services que vous comptez proposer. Chaque personne qui se connecte approuve ce que l'application demande : une autorisation inutilisée est une autorisation que vos membres acceptent sans contrepartie.

ServiceAutorisationsÀ quoi cela sertConsentement administrateur
Toujoursopenid, email, profile, offline_accessSe connecter et le rester. offline_access évite de redemander une authentification en permanence.Non
FichiersFiles.Read.AllLire les fichiers OneDrive et SharePoint, et refléter un dossier dans une collection.Non
Modification de fichiersFiles.ReadWrite.AllCréer, téléverser et remplacer des fichiers, et enregistrer des livrables dans un dossier.Non
Sites SharePointSites.Read.AllRépertorier les sites SharePoint qu'un membre suit, ainsi que leurs bibliothèques de documents, pour qu'il puisse atteindre un dossier en naviguant lors de la configuration d'une collection synchronisée, au lieu de coller un lien.Non
CourrierMail.ReadLire et rechercher dans la boîte aux lettres d'un membre.Non
Envoi de courrierMail.ReadWrite, Mail.SendRédiger, modifier et envoyer du courrier au nom du membre.Non
AgendaCalendars.ReadWriteLire l'agenda et créer des événements, y compris des liens de réunion Teams.Non
AnnuaireUser.Read.All, GroupMember.Read.AllRechercher des personnes par leur nom, leurs photos, leurs responsables et leurs groupes.Oui
TeamsChat.Read, Team.ReadBasic.All, Channel.ReadBasic.All, ChannelMessage.Read.AllLire les conversations et les messages de canal, et déclencher des workflows sur les nouveaux messages.Oui, pour ChannelMessage.Read.All
Envoi TeamsChatMessage.Send, ChannelMessage.SendPublier des messages dans une conversation ou un canal.Non

Les lignes marquées Oui exigent qu'un administrateur Microsoft 365 les approuve une fois pour tout l'annuaire. Utilisez Accorder un consentement administrateur sur cette page après les avoir ajoutées. Sans cela, un membre qui sélectionne ce service voit un écran de consentement qu'il ne peut pas valider.

Microsoft renvoie l'ensemble de ce que votre annuaire a approuvé pour l'application, et non uniquement ce qu'un membre a sélectionné. Un membre qui coche Fichiers et Courrier peut donc se retrouver avec tout ce que vous avez accordé par ailleurs. Ajoutez les autorisations au fur et à mesure que vous décidez d'ouvrir les services, plutôt que toutes d'emblée.

3. L'enregistrer dans Asteria Cloud

Dans la console, allez dans Connecteurs, puis Microsoft, et saisissez l'ID client, le secret client et l'ID d'annuaire (locataire). Le formulaire refuse un enregistrement Microsoft sans l'ID de locataire, car les adresses de connexion de Microsoft sont propres à votre annuaire.

Activez l'interrupteur Microsoft 365. Vos membres ne peuvent pas se connecter tant qu'il est désactivé.

Ils vont ensuite dans Profil, puis Connexions, et connectent leur propre compte.

4. Facultatif : accès aux fichiers partagés avec un groupe

Vous pouvez ignorer cette section, tout ce qui précède continue de fonctionner. Ce que vous perdez est précis et mérite d'être compris avant de décider.

Ce que cela corrige

Quand une collection reflète une bibliothèque SharePoint, Asteria Cloud ne montre à chacun que les documents qu'il peut déjà ouvrir dans SharePoint. Pour cela, il faut savoir avec qui un document a été partagé.

Sans cette étape, deux choses ne fonctionnent pas :

Les documents partagés avec un groupe restent invisibles. Si un fichier est partagé avec un groupe Microsoft 365 ou un groupe SharePoint tel que Membres du site, nous ne pouvons pas vérifier qui appartient à ce groupe, et nous ne le montrons donc à personne. Le partage par groupe étant la façon dont la plupart des bibliothèques SharePoint sont organisées, c'est généralement la moitié la plus importante.

Les documents d'une bibliothèque que la personne qui l'ajoute ne possède pas peuvent être masqués à ses collègues. Microsoft ne montre la liste complète des personnes avec qui un fichier est partagé qu'au propriétaire de ce fichier. Toute autre personne ne voit que son propre accès. Lorsque quelqu'un connecte une bibliothèque dont il est membre et non propriétaire, nous ne voyons donc que son accès et masquons le fichier à tous les autres.

Les deux échouent dans le sens prudent : des fichiers sont masqués à des personnes qui devraient les voir, jamais montrés à des personnes qui ne le devraient pas. Mais des fichiers masqués donnent l'impression que le produit perd des documents, il vaut donc la peine de corriger cela.

Ce qu'il faut configurer

Un certificat. Microsoft impose ici une authentification par certificat et rejettera un secret client quelles que soient ses autorisations. Générez-en un, conservez la clé là où vous gardez vos autres secrets, et donnez-lui une durée de vie que vous penserez à renouveler :

openssl req -x509 -newkey rsa:2048 -nodes -days 730 \
  -subj "/CN=asteria-acl" -keyout acl-key.pem -out acl-cert.pem

Téléversez uniquement acl-cert.pem, le certificat, dans Entra sous Certificats et secrets, puis Certificats. Ne téléversez jamais le fichier de clé à cet endroit.

Des autorisations d'application, sur deux API différentes. Il s'agit d'un onglet différent de tout ce qui figure à l'étape 2. Là où les autorisations ci-dessus agissent au nom du membre connecté, celles-ci agissent au nom de l'application elle-même, sans aucune personne impliquée.

Sous Ajouter une autorisation, puis Microsoft Graph, puis Autorisations d'application :

AutorisationÀ quoi cela sert
Files.Read.AllLire la liste complète des personnes avec qui un fichier est partagé
User.ReadBasic.All et GroupMember.Read.AllVérifier à quels groupes une personne appartient. Microsoft exige les deux ensemble.

Sous Ajouter une autorisation, puis SharePoint, puis Autorisations d'application :

AutorisationÀ quoi cela sert
Sites.Read.AllVérifier qui appartient à un groupe de site SharePoint tel que Membres du site

Puis Accorder un consentement administrateur.

SharePoint et Microsoft Graph proposent tous deux une autorisation nommée Sites.Read.All, et ce n'est pas la même. Vous avez besoin de celle qui se trouve sous SharePoint.

Si vous n'accordez que celle de Microsoft Graph, l'accès par groupe ne fonctionnera qu'à moitié : les groupes Microsoft 365 seront résolus, jamais les groupes de site SharePoint, et les documents partagés via Membres du site resteront invisibles sans aucune indication.

Installez le certificat dans Asteria Cloud. Dans la console, allez dans Connecteurs, puis Microsoft, puis Mettre à jour, et collez le contenu des deux fichiers, le certificat suivi de la clé, dans Certificat pour l'accès par groupe.

La carte affiche alors l'empreinte du certificat, qui doit correspondre à celle affichée par Entra, ainsi que sa date d'expiration. Nous stockons la clé chiffrée et ne l'utilisons que pour vérifier qui peut lire un document. Elle ne sert jamais à ouvrir des fichiers : ceux-ci sont toujours lus avec le compte du membre connecté, si bien qu'Asteria Cloud ne peut jamais détenir un fichier que cette personne ne pourrait pas ouvrir elle-même.

Renouvelez le certificat avant son expiration. Quand il expire, l'accès par groupe s'arrête et les documents partagés avec un groupe deviennent invisibles, tandis que le reste continue de fonctionner. La date d'expiration figure sur la carte du connecteur pour que vous puissiez l'anticiper.

Ces autorisations sont larges, et c'est le compromis

Les autorisations d'application ci-dessus permettent à Asteria Cloud de lire, dans tout votre annuaire, qui peut ouvrir un fichier et qui appartient à quel groupe. C'est ce qui permet de répondre pour une bibliothèque que personne disposant d'une connexion personnelle ne possède.

Elles ne donnent pas le droit de lire le contenu des fichiers pour leur propre compte : le contenu est toujours lu avec le compte d'un membre connecté et ses permissions. Si ce compromis ne vous convient pas, ignorez cette section. Tout le reste fonctionne, et les fichiers partagés avec des groupes restent simplement invisibles.

On this page