Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Dans cet article, vous allez apprendre à authentifier en toute sécurité les applications pour automatiser les tâches à l’aide du module PowerShell Microsoft Entra. Il couvre l’authentification basée sur les certificats, les informations d’identification de secret client et les identités managées.
Cette connaissance permet un accès efficace et sécurisé aux ressources Microsoft Entra et Azure sans gérer manuellement les informations d’identification sensibles. Il est essentiel de maintenir des pratiques de sécurité robustes et de simplifier la gestion des accès dans les environnements cloud.
Important
L’accès à l’application uniquement accorde des autorisations directement à une application et exige qu’un administrateur consente aux étendues d’autorisation requises. Pour plus d’informations sur l’accès à l’application uniquement, consultez Plateforme d'identités Microsoft et le flux d’informations d’identification du client OAuth 2.0.
Prerequisites
Pour utiliser l’accès à l’application uniquement avec le module PowerShell Microsoft Entra, vous avez besoin des éléments suivants :
- Un compte Microsoft Entra ID. Si vous n’en avez pas encore, vous pouvez créer un compte gratuitement.
- L’un des rôles suivants :
- Le module PowerShell Microsoft Entra est installé. Suivez le guide d’installation du module Microsoft Entra PowerShell pour installer le module.
- Certificat à utiliser comme informations d’identification pour l’application. Le certificat peut être un certificat auto-signé ou un certificat d’une autorité. Pour plus d’informations sur la création d’un certificat auto-signé, consultez Créer un certificat public auto-signé. Les certificats auto-signés ne sont pas recommandés pour les scénarios de production. Obtenez un certificat auprès d’une autorité de certification pour les scénarios de production.
Utiliser l’authentification basée sur des certificats
Vous devez disposer de ces informations pour vous authentifier à l’aide d’un certificat.
- Objet ou empreinte numérique du certificat chargé dans l'inscription de votre application Microsoft Entra.
- ID d’application pour l’inscription de votre application. Si vous n’avez pas encore d’inscription d’application, consultez Créer une application personnalisée.
- Votre ID de client.
Dans cette section, vous allez apprendre à utiliser un certificat pour vous authentifier auprès du module PowerShell Microsoft Entra. Vous pouvez utiliser l’empreinte numérique du certificat, le nom du certificat ou le certificat lui-même pour s’authentifier. Pour vous authentifier à l’aide des exemples donnés, vous devez vous connecter avec au moins un rôle Administrateur de rôle privilégié .
Utiliser l’empreinte numérique du certificat
$params = @{
ClientId = 'YOUR_APP_ID'
TenantId = 'YOUR_TENANT_ID'
CertificateThumbprint = 'YOUR_CERT_THUMBPRINT'
}
Connect-Entra @params
Pour trouver l’empreinte numérique du certificat dans le centre d’administration Microsoft Entra, accédez à Identity>inscriptions d'applications>Certificates & secrets>Certificates. Sélectionnez le certificat et copiez son empreinte numérique.
Vous pouvez également utiliser la commande PowerShell suivante pour obtenir votre certificat auto-signé :
Get-ChildItem Cert:\CurrentUser\My
Utiliser le nom du certificat
$params = @{
ClientId = 'YOUR_APP_ID'
TenantId = 'YOUR_TENANT_ID'
CertificateName = 'YOUR_CERT_SUBJECT'
}
Connect-Entra @params
Vous pouvez trouver l’objet du certificat en exécutant la commande :
Get-ChildItem Cert:\CurrentUser\My\$CertThumbprint | Select Subject
Utiliser un certificat
$cert = Get-ChildItem Cert:\CurrentUser\My\$CertThumbprint
Connect-Entra -ClientId 'YOUR_APP_ID' -TenantId 'YOUR_TENANT_ID' -Certificate $cert
Pour utiliser un certificat stocké dans le magasin de certificats de votre ordinateur ou un autre emplacement lors de la connexion à Microsoft Entra PowerShell, spécifiez l'emplacement du certificat.
Si l’authentification réussit, le message Welcome To Microsoft Graph!s’affiche. Exécutez Get-EntraContext pour vérifier que vous êtes authentifié avec la méthode d’application uniquement. La sortie doit se présenter comme suit.
ClientId : YOUR_APP_ID
TenantId : YOUR_TENANT_ID
CertificateThumbprint :
Scopes : {Group.Read.All, User.Read.All}
AuthType : AppOnly
CertificateName : YOUR_CERT_SUBJECT
Account :
AppName : {Your Awesome Application Name Here}
ContextScope : Process
Environment : Global
Utiliser les informations d'identification du secret client
L’octroi d’informations d’identification du client est utilisé pour authentifier et autoriser l’application à accéder aux ressources en son propre nom. La prise en charge des informations d’identification basées sur un secret client est ajoutée via l’ajout du paramètre -ClientSecretCredential à Connect-Entra.
# Define the Application (Client) ID and Secret
$applicationClientId = '<application(client)ID>' # Application (Client) ID
$applicationClientSecret = '<secret.value>' # Application Secret Value
$tenantId = 'Tenant_Id' # Tenant ID
# Convert the Client Secret to a Secure String
$secureClientSecret = ConvertTo-SecureString -String $applicationClientSecret -AsPlainText -Force
# Create a PSCredential Object Using the Client ID and Secure Client Secret
$clientSecretCredential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $applicationClientId, $secureClientSecret
# Connect to Microsoft Graph Using the Tenant ID and Client Secret Credential
Connect-Entra -TenantId $tenantId -ClientSecretCredential $clientSecretCredential
Pour créer ou ajouter une clé secrète client, utilisez la commande New-EntraServicePrincipalPasswordCredential ou consultez : Ajouter une clé secrète client dans centre d’administration Microsoft Entra.
Note
Il est recommandé d’utiliser PowerShell 7 ou version ultérieure lors de l’utilisation de la méthode d’authentification des informations d’identification de secret client.
Utiliser l’identité managée
Un défi courant lors de l’écriture de scripts d’automatisation est la gestion des secrets, des informations d’identification, des certificats et des clés utilisés pour sécuriser la communication entre les services. Éliminez la nécessité de gérer les informations d’identification en permettant au module d’obtenir des jetons d’accès pour Azure ressources protégées par Microsoft Entra ID. La plateforme Azure gère l'identité et ne vous oblige pas à créer ou à faire pivoter des secrets.
Identité managée affectée par le système : utilise une identité managée automatiquement sur une instance de service. L’identité est liée au cycle de vie d’une instance de service.
Connect-Entra -IdentityIdentité managée affectée par l’utilisateur : utilise une identité managée créée par l’utilisateur en tant que ressource Azure autonome.
Connect-Entra -Identity -ClientId 'User_Assigned_Managed_identity_Client_Id'