Loading...
Domotique

Comment bloquer l’accès des utilisateurs à Office 365

 

 

 

Multiples techniques disponibles pour empêcher les gens de se connecter

Un article récent sur l’utilisation de PowerShell pour contrôler les politiques d’accès conditionnel d’Azure AD m’a amené à commencer à réfléchir aux techniques utilisées pour bloquer l’accès des utilisateurs à office 365. Il y a quatre ans, je me suis penché sur le problème dans un article de Petri.com inspiré par une loi française visant à permettre aux gens de se déconnecter pendant le week-end. Dans d’autres pays que la France, la nécessité de préserver l’espace entre le temps personnel et le temps de travail est devenue plus évidente lorsque la pandémie de Covid-19 a obligé de nombreuses personnes à travailler à domicile. Certains travaillaient plus, d’autres moins, et la frontière entre temps personnel et temps professionnel s’est estompée. Aujourd’hui, l’avancée du temps et le développement de la technologie se combinent pour rendre raisonnable de revoir le problème.

 

Cesser les connexions de messagerie de façon temporaire ou permanente

La question de la désactivation du service aux utilisateurs ne consiste pas seulement à empêcher les gens de travailler pendant le week-end ou lorsqu’ils sont en vacances. Elle s’applique également lorsque des personnes quittent une entreprise. Au fil des ans, différentes techniques ont évolué, à l’origine pour la connectivité du courrier électronique, car c’est là que le problème a fait surface pour la première fois.

Parce qu’Exchange Online prend en charge un riche ensemble de protocoles de connectivité pour les boîtes aux lettres, vous pouvez désactiver des protocoles individuels en exécutant le cmdlet Set-CASMailbox. Dans cet exemple, nous désactivons la connectivité mobile d’une boîte aux lettres à la fois pour Exchange ActiveSync (EAS) et pour la technologie de synchronisation Microsoft utilisée par Outlook mobile.

 

Pourquoi désactiver les deux protocoles ? 

Outlook mobile utilise la technologie de synchronisation Microsoft pour activer de nombreuses fonctionnalités avancées comme l’accès délégué aux boîtes aux lettres, mais d’autres clients comme les applications de messagerie incluses dans les systèmes d’exploitation iOS et Android utilisent EAS pour la connectivité de messagerie de base avec Exchange Online. Si vous ne désactivez pas les deux, vous créez une situation où un utilisateur peut toujours se connecter à sa boîte aux lettres avec une autre application. En fait, pour être complet, vous devriez également désactiver les protocoles IMAP4 et POP3 pour fermer toute chance qu’un appareil mobile puisse se connecter à une boîte aux lettres.

La faiblesse de se concentrer sur la désactivation des protocoles est que certaines fuites d’informations peuvent encore se produire. Prenons l’exemple d’Outlook mobile. Vous pouvez désactiver la technologie de synchronisation de Microsoft pour empêcher les clients d’envoyer des messages et de télécharger des messages sur l’appareil, mais iOS et Android utilisent tous deux des services pour avertir les utilisateurs de l’arrivée de nouveaux messages. Les notifications contiennent des extraits des nouveaux messages pour permettre aux utilisateurs de décider s’ils doivent lire le message complet. Ces notifications continuent d’arriver après que vous ayez désactivé le protocole de synchronisation.

En réalité, si vous voulez sérieusement contrôler les appareils mobiles, vous devez déployer une solution de gestion des appareils mobiles (MDM) comme Intune qui vous permet d’effacer à distance les données d’entreprise de l’appareil lorsque cela est nécessaire.

 

Arrêter l’accès à Office 365

L’e-mail n’est pas la seule application qui vole du temps pendant le week-end. Teams, Planner, Yammer, SharePoint Online et OneDrive for Business consomment tous des heures si les gens le permettent. La méthode classique pour bloquer l’accès consiste à bloquer le compte Azure AD d’une personne. Cela peut être fait via le centre d’administration de Microsoft 365 en sélectionnant le compte et en choisissant Bloquer l’ouverture de session.

Bloquer le compte définit la propriété AccountEnabled dans Azure AD sur False. Lorsqu’un compte est désactivé, l’utilisateur ne peut pas se connecter à son compte Azure AD. 

 

Forcer la déconnexion à travers les applications

Bloquer un compte pour l’empêcher de se connecter définit également la propriété RefreshTokensValidFromDateTime pour le compte à la date et à l’heure où l’action s’est produite. Cela a pour effet d’invalider les jetons d’actualisation délivrés aux applications pour un utilisateur et les jetons délivrés aux cookies de session dans les navigateurs et oblige l’utilisateur à se ré-authentifier pour continuer à utiliser les apps. Le centre d’administration de Microsoft 365 comprend une option permettant de déconnecter un utilisateur de toutes les sessions, ce qui vous permet de le faire sans bloquer un compte.

Vous pouvez également forcer la déconnexion d’un compte avec PowerShell en exécutant la cmdlet Revoke-AzureADUserAllRefreshToken.

 

Bloquer les comptes avec PowerShell

Trois cmdlets PowerShell différents peuvent influencer la capacité des utilisateurs à accéder à leurs comptes. Les deux premières bloquent l’accès au compte Azure AD ; la troisième bloque l’accès à la boîte aux lettres Exchange Online.

Set-AzureADUser est la cmdlet préférée. Elle est plus récente que Set-MsolUser et si vous allez bloquer l’accès à un compte, vous devriez bloquer l’accès complet à toutes les apps plutôt qu’à la messagerie. L’approche recommandée est d’exécuter Set-AzureADUser suivi de Revoke-AzureADUserAllRefreshToken pour s’assurer que le compte est bloqué avec une déconnexion forcée pour toutes les apps.

 

Mise en œuvre d’un blocage de week-end

Retour à la question initiale, qui est de savoir comment déconnecter les gens d’Office 365 pour une raison ou une autre. Supposons que nous voulions que cela ne se produise que pour une certaine catégorie d’utilisateurs, comme ceux qui travaillent dans un pays spécifique. Si ces personnes sont membres d’un groupe, nous pouvons utiliser ce groupe pour piloter le processus de déconnexion.

Une liste de distribution dynamique pourrait être un meilleur choix car l’adhésion est alors pilotée par des propriétés telles que le pays ou la ville. Pour récupérer l’ensemble des utilisateurs d’une liste de distribution dynamique, nous utilisons le filtre de destinataire de la liste pour trouver les membres.

Bien sûr, vous pouvez utiliser la Get-AzureADGroupMember cmdlet pour récupérer les détails des membres du groupe.

Cette syntaxe fonctionne avec les listes de distribution, les groupes de sécurité, les groupes Microsoft 365 et les groupes dynamiques Microsoft 365. Elle ne fonctionne pas avec les listes de distribution dynamiques car ces objets n’existent pas dans Azure AD.

La tâche de déconnexion des utilisateurs est simple. Chaque vendredi soir, nous exécutons le script PowerShell pour désactiver l’accès et exécutons un autre script pour inverser le processus le lundi matin. Le gros inconvénient est la façon dont Teams traite les comptes bloqués pour les supprimer des listes d’équipe (sans affecter l’appartenance au groupe). Si vous pouvez vivre avec ce problème pendant que Microsoft réfléchit à la façon d’améliorer la situation, alors le blocage des comptes pour de courtes périodes pourrait fonctionner avec votre organisation.

 

Contrôle des politiques d’accès conditionnel avec PowerShell

Les politiques d’accès conditionnel permettent aux organisations d’exercer un contrôle granulaire sur l’accès des utilisateurs aux apps. Dans notre scénario, nous voulons autoriser un accès libre pendant la semaine. Nous pourrions désactiver la politique d’accès conditionnel pendant la semaine de travail et l’activer uniquement pour le week-end. Pour ce faire, il suffit de modifier la politique dans le portail Azure AD ou avec PowerShell. Par exemple, voici comment activer la politique:

 

Modification des conditions de la politique d’accès conditionnel

Mais comme nous voulons illustrer les possibilités qui existent pour travailler avec les politiques d’accès conditionnel via PowerShell, supposons que la politique est toujours active car elle est utilisée pendant la semaine pour limiter l’accès de certains utilisateurs (identifiés par un groupe) à certains emplacements. Au cours du week-end, nous devons mettre à jour la politique avec un groupe différent.

Les utilisateurs bloqués par une politique d’accès conditionnel sont définis comme une condition de politique. Pour voir quels utilisateurs sont affectés par une politique, nous pouvons examiner ses conditions.  Nous savons qu’il s’agit d’un groupe plutôt que d’un utilisateur individuel car il est répertorié dans la condition IncludeGroups. Le groupe est référencé par son identifiant Azure AD unique (un GUID).

 

Pour remplacer un groupe par un autre dans une politique, nous devons :

  • Créer un ensemble de conditions :
    • Applications : Cette condition est définie sur All.
    • Locations : Cela définit les emplacements (définis dans Azure AD pour être utilisés avec les politiques d’accès conditionnel) utilisés par la politique. Dans notre cas, nous voulons que la politique s’applique partout sauf à un emplacement pour notre siège social.
    • Users : C’est ce que nous devons changer pour échanger un groupe contre un autre.
    • Client app types. Ceci est défini sur All.
  • Ajouter des valeurs à l’ensemble de conditions.
  • Ecrire le nouvel ensemble de conditions dans la politique d’accès conditionnel. Vous écrasez le jeu existant avec un nouveau jeu.

En quelques minutes, la politique d’accès conditionnel mise à jour est effective, et le blocage est en place.

Pour inverser le processus une fois le week-end terminé, créez un nouveau jeu de conditions, mettez à jour le jeu avec le GUID du groupe d’origine, et mettez à jour la politique.

 

Options et choix

Les politiques d’accès conditionnel nécessitent des licences Azure AD Premium. Si vous disposez déjà de ces licences, et avez donc investi dans l’accès conditionnel, l’ajout d’une nouvelle politique pour contrôler l’accès au week-end n’est pas difficile. Le fait de pouvoir contrôler les politiques avec PowerShell facilite l’automatisation de l’activation ou de la désactivation de l’accès.

D’un autre côté, si vous n’avez pas de licences Azure AD Premium, vous pouvez toujours bloquer les comptes utilisateurs avec quelques lignes de PowerShell. Et si vous ne voulez pas bloquer l’accès et simplement rappeler aux gens qu’ils doivent faire moins de travail le week-end, peut-être que la technique consistant à utiliser une règle de transport pour estampiller les avertissements de  » droit à la déconnexion  » sur le courrier interne est une bonne façon de procéder.