Configurer l’authentification basée sur certificat ou l’authentification par application uniquement
Une intégration initiale est requise pour l’authentification à l’aide d’objets d’application. Application et Principal de service sont utilisés de manière interchangeable, mais une application est semblable à un objet de classe tandis qu’un principal de service est semblable à une instance de la classe.
Pour plus d’informations sur les objets principaux d’application et de service dans Azure Active Directory, consultez Objets principaux d’application et de service dans Azure Active Directory. Pour obtenir un flux visuel détaillé sur la création d’applications dans Azure AD, consultez Créer une application Azure Active Directory et un principal de service pouvant accéder aux ressources.
- Enregistrez l’application dans Azure AD.
- Affectez des autorisations d’API à l’application.
Pour que l’objet d’application ait accès aux ressources, il doit disposer de l’autorisation d’application
Exchange.ManageAsAppetMail.ReadWrite. - Générez un certificat auto-signé et accordez l’accès à la clé privée.
Créez et configurez un certificat X.509 auto-signé, qui est utilisé pour authentifier votre application auprès d’Azure AD, tout en demandant le jeton d’accès de l’application uniquement. Les certificats de nouvelle génération (CNG) ne sont pas pris en charge pour l’authentification d’application uniquement avec Exchange. Les certificats GNC sont créés par défaut dans les versions modernes de Windows. Vous devez utiliser un certificat provenant d’un fournisseur de clé CSP.
(-provider = 'Fournisseur de chiffrement fort de Microsoft'). - Joignez le certificat à l’application Azure AD.
- Affectez des rôles Azure AD à l’application.
Le rôle Azure AD d’administrateur
de conformitédoit être affecté à l’application. - Créez un nouveau principal de service.
Étape 1 : enregistrer l’application dans Azure AD
- Ouvrez le portail Azure AD.
- Dans la zone de recherche en haut de la page, tapez Inscriptions d’application.
- Sélectionnez Inscriptions d’applications dans les résultats de la section Services.
Vous pouvez également accéder à la page Inscriptions de l’application à l’aide de https://portal.azure.com/#view/Microsoft_AAD_RegisteredApps/ApplicationsListBlade.
- Sur la page Inscriptions de l’application , sélectionnez Nouvelle inscription.
- Sur la pageEnregistrer une application , configurez les paramètres suivants :
Champ Description Nom Entrez quelque chose de descriptif. Par exemple, ExO PowerShell CBA. Types de compte pris en charge Vérifiez que seuls les comptes de ce répertoire organisationnel (<VotreNomOrganisation> uniquement : locataire unique) sont sélectionnés. Pour rendre l’application mutualisée pour les scénarios délégués Exchange Online, sélectionnez la valeur Comptes dans n’importe quel répertoire d’organisation (Tout répertoire Azure AD : mutualisé).
- Une fois l’inscription de l’application terminée, sélectionnez S’inscrire et fermez la page de l’application.
Étape 2 : attribuer des autorisations d’API à l’application
Les procédures décrites dans cette section remplacent les autorisations par défaut qui ont été automatiquement configurées pour la nouvelle application. L’application n’a pas besoin des autorisations par défaut qui ont été remplacées.
- Sur la page de l’application, sélectionnez Manifeste sous Gestion .
- Dans la page Manifeste, recherchez l’entrée
requiredResourceAccess(à la ligne 47 ou environ). - Modifiez les valeurs
resourceAppId,resourceAccess IDetresourceAccesstype comme indiqué dans l’extrait de code suivant :"requiredResourceAccess": [ { "resourceAppId": "00000002-0000-0ff1-ce00-000000000000", "resourceAccess": [ { "id": "dc50a0fb-09a3-484d-be87-e023b12c6440", "type": "Role" } ] }, { "resourceAppId": "00000003-0000-0000-c000-000000000000", "resourceAccess": [ { "id": "e2a3a72e-5f79-4c64-b1b1-878b674786c9", "type": "Role" } ] } ], - Sélectionnez Enregistrer.
- Sur la page Manifest , sélectionnez Autorisations d’API sous Gestion.
- Sur la page des autorisations d’API , renseignez les champs.
Champ Description Nom API/autorisations Vérifiez que la valeur Exchange.ManageAsAppandMail.ReadWrites’affiche.Statut La valeur incorrecte actuelle n’est pas accordée pour <Organisation> et cette valeur doit être modifiée. Sélectionnez Accorder le consentement administrateur pour <Organisation>, lisez la boîte de dialogue de confirmation qui s’ouvre, puis sélectionnez Oui.
La valeur État doit maintenant être Accordée pour <Organisation>.
- Fermez la page des autorisations d’API actuelle (et non l’onglet du navigateur) pour revenir à la page des inscriptions d’applications.
Étape 3 : générer un certificat autosigné et accorder l’accès à la clé privée
- Utilisez les applets de commande New-SelfSignedCertificate, Export-Certificate et Export-PfxCertificate dans une session Windows PowerShell avec élévation de privilèges (exécutée en tant qu’administrateur) pour demander un certificat auto-signé et l’exporter vers
.ceret.pfx(SHA1 par défaut). Par exemple :# Create certificate $mycert = New-SelfSignedCertificate -DnsName "snowsecops.onmicrosoft.com" -CertStoreLocation "cert:\LocalMachine\My" -NotAfter (Get-Date).AddYears(2) -KeySpec KeyExchange -Provider "Microsoft Strong Cryptographic Provider" # Generate password fro private key $mypwd = ConvertTo-SecureString -String '<password>' -Force -AsPlainText # Export certificate to .pfx file $mycert | Export-PfxCertificate -FilePath mycert.pfx -Password $mypwd # Export certificate to .cer file $mycert | Export-Certificate -FilePath mycert.cer - Fournissez un accès par clé privée à l’utilisateur du service MID en procédant comme suit :
- Ouvrez MMC (Microsoft Management Console).
- À partir de la console MMC (Microsoft Management Console), accédez à .
(Si MMC n’a pas d’élément de menu, ajoutez-le en accédant à .
- Cliquez avec le bouton droit de la souris sur le certificat que vous avez généré.
- Développer
- Ajoutez l’utilisateur du service MID à la liste des accesseurs.
Étape 4 : joindre le certificat à l’application Azure AD
- À la fin de l’étape 2, sélectionnez votre application dans l’onglet Applications détenues de la page Inscription des applications.
Si vous devez revenir à la page d’enregistrement des applications , utilisez https://portal.azure.com/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/%7E/RegisteredApps, vérifiez que l’onglet Applications possédées est sélectionné, puis sélectionnez votre application.
- Sélectionnez Certificats et secrets sous Gérer.
- Sur la page Certificats et secrets qui s’ouvre, sélectionnez Télécharger le certificat.
- Accédez au certificat autosigné (
fichier .cer) que vous avez créé à l’étape 3. - Lorsque vous avez terminé, sélectionnez Ajouter.
Le certificat est maintenant affiché dans la section Certificats.
- Notez
CertificateThumbPrintet fermez la page actuelle Certificats et secrets .
Étape 5 : affecter des rôles Azure AD à l’application
- Ouvrez le portail Azure AD.
- Dans le champ de recherche en haut de la page, recherchez Rôles et administrateurs.
- Sélectionnez des rôles et des administrateurs Azure AD dans les résultats de la section Services.
Vous pouvez également accéder à la page Rôles et administrateurs Azure AD à l’aide de https://portal.azure.com/#view/Microsoft_AAD_RegisteredApps/ApplicationsListBlade.
- Sur la page Rôles et administrateurs Azure AD , recherchez et sélectionnez l’un des rôles pris en charge en cliquant sur le nom du rôle (et non sur la case à cocher) dans les résultats.
Recherchez et sélectionnez le rôle d’administrateur de conformité .
- Sur la page Affectations , sélectionnez Ajouter des affectations.
- Dans la fenêtre contextuelle Ajouter des devoirs , recherchez et sélectionnez l’application que vous avez créée à l’étape 1.
- Lorsque vous avez terminé, sélectionnez Ajouter.
- Revenez à la page Affectations , vérifiez que le rôle a été affecté à l’application.
Étape 6 : créer un nouveau principal de service
- Exécutez la commande suivante pour stocker les détails de l’application Azure que vous avez enregistrée à l’étape 1 (
<AppName>) dans une variable :Install-Module -Name AzureAD Import-Module -Name AzureAD Connect-AzureAD $AADApp = Get-AzureADServicePrincipal -SearchString"<AppName>"Pour obtenir des informations détaillées sur la syntaxe et les paramètres, consultez Get-AzureADServicePrincipal.
- Dans la même fenêtre PowerShell, connectez-vous à PowerShell Sécurité et conformité :
Import-Module ExchangeOnlineManagement Connect-IPPSSession -CertificateThumbPrint "<Your_Certificate_ThumbPrint>" -AppID $AADApp.AppId -Organization "<Your_organization>Exécutez les commandes suivantes pour créer un objet principal de service pour l’application Azure :New-ServicePrincipal -AppId $AADApp.AppId -ObjectId $AADApp.ObjectId -DisplayName "<Descriptive Name>"Pour plus d’informations sur la syntaxe et les paramètres, consultez New-ServicePrincipal.