Aperçu : Autorisation basée sur un certificat
Il existe plusieurs façons de s’authentifier par programmation avec Microsoft Azure. La méthode la plus courante utilise un « jeton d’accès » (Access token) dans le cadre des techniques d’authentification modernes. Le jeton d’accès permet à itrezzo Unified Contact Manager (UCM) d’accéder aux ressources Azure. Cependant, la durée de vie d’un « jeton d’accès » est de 90 jours (environ 3 mois) et doit être renouvelée régulièrement. Après expiration, le jeton doit être mis à jour par une connexion interactive au portail Azure. L’autorisation basée sur des certificats est une autre méthode d’accès aux ressources Azure à l’aide d’identités basées sur des certificats. Dans de nombreux cas, on le préférera à l’authentification moderne. La justification principale est que l’authentification de base est obsolète lors de la programmation de PowerShell. Ainsi, la seule option viable est l’authentification basée sur les certificats. Même lors de l’utilisation de l’API Microsoft Graph, il existe un avantage supplémentaire en ce sens que le «jeton d’actualisation» (Refresh Token) ne nécessite pas d’intervention humaine à chaque fois qu’un jeton d’actualisation expire.
Comment fonctionne l’authentification basée sur les certificats ?
Le certificat est généralement téléchargé sur le portail Azure et chaque fois que nous accédons à la ressource Azure, nous utilisons le certificat pour générer un jeton d’accès. Ainsi, le certificat remplace le « jeton d’actualisation » (Refresh Token) dans le flux OAuth. Les étapes suivantes décrivent ce qui doit être fait pour configurer l’autorisation basée sur un certificat :
- Créez votre certificat et préparez deux fichiers : un fichier certificat sans clé privée et le second avec une clé privée
- Créez une application sur le portail Azure dans votre tenant
- Configurez votre application créée comme suit :
- Attribuez des autorisations d’API permettant à l’application d’accéder aux ressources cibles
- Attribuez un certificat sans clé privée à l’application créée
- Créez une entrée Principal de service sur Azure Active Directory et attribuez cette entrée à l’application. Cette entrée sera utilisée comme utilisateur d’accès lors de la connexion aux ressources Azure via une autorisation basée sur un certificat
- Attribuez les autorisations nécessaires à l’entrée Principal de service créée
- Acceptez les autorisations d’administrateur pour l’application créée
Une fois ces étapes terminées, nous pouvons utiliser l’authentification par certificat avec une clé privée pour obtenir un « Jeton d’accès » (Access Token) dans le flux OAuth.
Configuration avec itrezzo
Cette section explique comment configurer l’autorisation basée sur un certificat avec l’application itrezzo. Notez que toutes les méthodes nécessiteront un accès d’Administrateur Général dans le tenant d’Azure et les informations d’identification seront utilisées uniquement pour un processus de configuration à la fois. itrezzo ne sauvegardera jamais ces informations.
Nomination des entrées qui seront créées par Itrezzo du côté d’Azure :
Itrezzo – autorisation basée sur un certificat – ([Itrezzo service mailbox])
Itrezzo propose deux méthodes pour configurer l’autorisation basée sur les certificats :
- La méthode automatique – cette méthode permet aux utilisateurs de configurer toutes les étapes nécessaires avec une implication minimale de l’utilisateur. Cependant, cette méthode nécessite plus d’autorisations qui doivent être acceptées depuis l’application itrezzo.
- La méthode manuelle – cette méthode contrôle toutes les étapes qui seront effectuées au portail Azure et nécessite moins d’autorisations, mais plus d’autorisations de la part de l’utilisateur final via le portail azur et les scripts PowerShell.
Autorisation basée sur certificat avec itrezzo UCM : la méthode automatique
Cette méthode nécessite les autorisations suivantes :
- « Application.ReadWrite.All » – requis pour créer des applications dans le tenant Azure
- « Directory.ReadWrite.All » – requis pour créer un Service Principal Entry
- « Organization.ReadWrite.All » – requis pour accéder aux informations d’une organisation
- « RoleManagement.ReadWrite.Directory » – requis pour créer des rôles pour le Service Principal
Toutes ces autorisations nécessitent l’option « Write » qui permet à itrezzo de créer de nouvelles entrées au sein du tenant Azure.
User flow (Flux d’utilisateurs)
1. Créez un certificat manuellement ou automatiquement avec itrezzo
2. Sélectionnez la méthode de configuration automatique.
3. Entrez vos informations d’identification d’administrateur général dans le formulaire de connexion à Microsoft
4. Acceptez les autorisations nécessaires décrites ci-dessous.
5. Exécutez le processus de configuration et attendez qu’il soit terminé.
6. Acceptez les autorisations d’administrateur pour l’application créée.
Autorisation basée sur un certificat avec itrezzo UCM : la méthode manuelle
La méthode manuelle nécessite les autorisations suivantes :
- « Application.Read.All » – requise pour trouver l’application
- « Organization.Read.All » – requise pour lire les informations de l’organisation
Toutes ces autorisations ne nécessitent qu’une option « Lire » (Read) car itrezzo doit lire les informations sur l’application configurée manuellement et les enregistrer dans la base de données itrezzo
Flux d’utilisateurs
1. Créez un certificat manuellement ou automatiquement avec itrezzo.
2. Sélectionnez une méthode de configuration manuelle
3. Exécutez le script PowerShell qui sera fourni par l’application itrezzo. Vous pouvez trouver un exemple de ce script dans Appendix 1 à la fin de ce document.
4.
5. Entrez vos identifiants d’administrateur général dans le formulaire de connexion à Microsoft.
6. Acceptez les autorisations nécessaires décrites ci-dessous.
IMPORTANT: Ne cochez PAS la case “Consent on behalf of your organization.”
IMPORTANT: Ne cochez PAS la case “Consent on behalf of your organization.”
7. Exécutez le processus de configuration d’itrezzo. Au cours de cette étape, itrezzo se connectera au portail Azure, trouvera l’application créée et enregistrera les modifications dans la base de données.
8. Acceptez les autorisations d’administrateur pour l’application créée.
Autorisation basée sur certificat avec itrezzo UCM : configuration du portail Azure
- Créez une application dans votre tenant avec le nom Itrezzo – certificate-based authorization – ([Itrezzo service mailbox]).
2. Attribuez le certificat à cette application
3. Configurez les autorisations d’API pour l’application.
4. Créez l’entité Principal de service et affectez-la à l’application.
Annexe 1
Vous trouverez ci-dessous un exemple de script PowerShell pour configurer l’autorisation basée sur un certificat.
Ceci n’est qu’un exemple de script. Un script personnalisé sera fourni par itrezzo, spécifiquement pour votre environnement, lors du processus de configuration.