Autoriser ou refuser les clients personnalisés dans la politique d'authentificationOffice 365

Utilisez l'attribut userAgent

Vous pouvez filtrer certains clients dans une règle d'authentification à l'application Office 365 afin de leur autoriser ou de leur refuser l'accès aux ressources Office 365. Ce filtre est particulièrement pratique si vous souhaitez refuser l'accès à certains clients non approuvés ou non pris en charge. Vous pouvez également utiliser ce filtre pour autoriser uniquement les clients approuvés. Il vous permet d'exercer un contrôle plus précis sur les clients qui ont accès à votre application Office 365.

Les règles de politique d' authentification permettant de filtrer les clients personnalisés ne sont pas migrées de Classic Engine vers Okta Identity Engine. Si vous migrez votre instance d'application Office 365 vers Okta Identity Engine, vous aurez besoin de recréer ces règles. Voir Agent utilisateur personnalisé d'Office 365.

Bonnes pratiques

Les politiques d'authentification Okta évaluent les informations incluses dans l'en-tête de demande de l'agent utilisateur envoyé depuis le navigateur de l'utilisateur. Cependant, il est possible que l'identité de l'agent utilisateur soit usurpée par une personne malveillante. Pour éviter cela, Okta recommande de suivre les pratiques suivantes :

  • Autoriser uniquement les clients approuvés lors de la création de politiques d'authentification.
  • Créer une ou plusieurs règles qui précisent le ou les types de clients, la ou les plateformes de l'appareil et les combinaisons d'approbations autorisés pour accéder à l'application.
  • Exiger Device Trust ou la MFA pour accéder à l'application. Voir Appareils et Authentification multifacteur.

Commencer la procédure

Dans votre application Office 365 :

  1. Accédez à l'onglet Authentification. Sous Authentification de l'utilisateurPolitique d'authentification, cliquez sur Voir les détails de la politique (Vous pouvez également accéder à cette option en vous rendant dans SécuritéPolitiques d'authentificationMicrosoft Office 365Ajouter une règle).
  2. Dans la fenêtre Règle de l'application, accédez à la section Si de Et L'expression personnalisée suivante est vraie.
  3. Saisissez une expression personnalisée à l'aide d'Okta Expression Language pour autoriser ou refuser un client. Voir Exemples.

  4. Complétez les autres sections comme il convient et cliquez sur Enregistrer. Voir Options des règles d'authentification d'Office 365.
  5. De retour dans la section Politique d'authentification, placez cette règle dans l'ordre de priorité approprié. Okta évalue chaque règle en fonction de l'ordre de priorité et applique la première règle qui correspond.
  6. Répétez les étapes 1 à 5 pour chaque client personnalisé pour lequel vous souhaitez autoriser ou refuser l'accès.

Cette règle filtre désormais les clients spécifiés, applique d'autres conditions et actions définies dans la règle, puis autorise ou refuse l'accès à Office 365.

Exemples

Voici quelques exemples de bonnes et de mauvaises utilisations des expressions personnalisées :

Les opérations de chaîne exprimées en langage d'expression Okta (Okta Expression Language) sont sensibles à la casse. Pour écrire une condition ignorant la casse, convertissez la valeur de l'agent utilisateur pour qu'elle soit écrite en minuscules ou en majuscules avant la comparaison.

Exemples corrects

Expression Résultat
request.userAgent.contains("WinWord") Filtre une demande pour trouver un agent utilisateur contenant WinWord.
request.userAgent.toLowerCase().contains("winword") Convertit une demande en minuscules et la filtre pour trouver l'agent utilisateur contenant winword.
request.userAgent.toUpperCase().contains("WINWORD") Convertit une demande en majuscules et la filtre pour trouver un agent utilisateur contenant WINWORD.
request.userAgent.contains("WinWord") OR request.userAgent.contains("Windows-AzureAD-Authentication-Provider") Filtre une demande pour trouver l'agent utilisateur contenant WinWord ou Windows-AzureAD-Authentication-Provider.
request.userAgent.contains("compatible;") AND request.userAgent.contains("MSIE 7") Filtre une demande pour trouver un agent utilisateur contenant compatible et MSIE 7.

Mauvais exemples

Expression Résultat
request.userAgent.contains("") Correspond à toutes les demandes.
request.userAgent.contains() Expression non valide.

Rubriques liées