Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo illustra come autenticare in modo sicuro le applicazioni per automatizzare le attività usando il modulo di PowerShell Microsoft Entra. Tratta l'autenticazione basata su certificati, le credenziali del segreto client e le identità gestite.
Queste conoscenze consentono l'accesso efficiente e sicuro alle risorse Microsoft Entra e Azure senza gestire manualmente le credenziali sensibili. È fondamentale per mantenere procedure di sicurezza affidabili e semplificarne la gestione negli ambienti cloud.
Importante
L'accesso solo app concede le autorizzazioni direttamente a un'applicazione e richiede a un amministratore di fornire il consenso agli ambiti di autorizzazione necessari. Per altre informazioni sull'accesso tramite sola app, vedi Microsoft Identity Platform e il flusso delle credenziali client di OAuth 2.0.
Prerequisiti
Per usare l'accesso solo app con il modulo di PowerShell Microsoft Entra, è necessario:
- Un account di Microsoft Entra ID. Se non è già disponibile, è possibile Creare un account gratuitamente.
- Uno dei ruoli seguenti:
- Modulo PowerShell Microsoft Entra installato. Seguire la guida Installare il modulo di PowerShell Microsoft Entra per installare il modulo.
- Certificato da usare come credenziale per l'applicazione. Il certificato può essere un certificato autofirmato o un certificato di un'autorità. Per altre informazioni su come creare un certificato autofirmato, vedere Creare un certificato pubblico autofirmato. I certificati autofirmati non sono consigliati per gli scenari di produzione. Ottenere un certificato da un'autorità di certificazione per scenari di produzione.
Usare l'autenticazione basata su certificato
Queste informazioni devono essere disponibili per l'autenticazione tramite un certificato.
- Oggetto del certificato o impronta digitale del certificato caricato nella registrazione dell'app Microsoft Entra.
- ID applicazione per la registrazione dell'app. Se non si ha già una registrazione dell'app, vedere Creare un'applicazione personalizzata.
- ID del tenant.
In questa sezione viene illustrato come usare un certificato per l'autenticazione con il modulo di PowerShell Microsoft Entra. È possibile usare l'identificazione personale del certificato, il nome del certificato o il certificato stesso per l'autenticazione. Per eseguire l'autenticazione usando gli esempi specificati, è necessario accedere con almeno un ruolo di amministratore del ruolo con privilegi .
Usare l'impronta digitale del certificato
$params = @{
ClientId = 'YOUR_APP_ID'
TenantId = 'YOUR_TENANT_ID'
CertificateThumbprint = 'YOUR_CERT_THUMBPRINT'
}
Connect-Entra @params
Per trovare l'impronta digitale del certificato nel Interfaccia di amministrazione di Microsoft Entra, passa a Identity>Registrazioni app>Certificates & secrets>Certificates. Selezionare il certificato e copiarne l'impronta digitale.
In alternativa, è possibile usare il comando di PowerShell seguente per ottenere il certificato autofirmato:
Get-ChildItem Cert:\CurrentUser\My
Usa il nome del certificato
$params = @{
ClientId = 'YOUR_APP_ID'
TenantId = 'YOUR_TENANT_ID'
CertificateName = 'YOUR_CERT_SUBJECT'
}
Connect-Entra @params
È possibile trovare l'oggetto del certificato eseguendo il comando :
Get-ChildItem Cert:\CurrentUser\My\$CertThumbprint | Select Subject
Usare un certificato
$cert = Get-ChildItem Cert:\CurrentUser\My\$CertThumbprint
Connect-Entra -ClientId 'YOUR_APP_ID' -TenantId 'YOUR_TENANT_ID' -Certificate $cert
Per usare un certificato archiviato nell'archivio certificati del computer o in un altro percorso durante la connessione a Microsoft Entra PowerShell, specificare il percorso del certificato.
Se l'autenticazione ha esito positivo, viene visualizzato il messaggio Welcome To Microsoft Graph!. Esegui Get-EntraContext per verificare che l'autenticazione sia stata eseguita tramite il metodo di autenticazione solo app. L'output sarà simile al seguente.
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
Usare le credenziali del segreto del client
La concessione delle credenziali client viene usata per autenticare e autorizzare l'app ad accedere alle risorse per proprio conto. Il supporto per le credenziali dei segreti client viene aggiunto aggiungendo il parametro -ClientSecretCredential a 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
Per creare o aggiungere un segreto client, usare il comando New-EntraServicePrincipalPasswordCredential oppure vedere Aggiungere un segreto client in Interfaccia di amministrazione di Microsoft Entra.
Note
È consigliabile usare PowerShell 7 o versione successiva quando si usa il metodo di autenticazione delle credenziali del segreto client.
Usare l'identità gestita
Una sfida comune quando si scrivono script di automazione è la gestione di segreti, credenziali, certificati e chiavi usati per proteggere la comunicazione tra i servizi. Eliminare la necessità di gestire le credenziali consentendo al modulo di ottenere i token di accesso per Azure risorse protette da Microsoft Entra ID. La piattaforma Azure gestisce l'identità e non richiede la creazione o la rotazione di segreti.
Identità gestita assegnata dal sistema : usa un'identità gestita automaticamente in un'istanza del servizio. L'identità è associata al ciclo di vita di un'istanza del servizio.
Connect-Entra -IdentityIdentità gestita assegnata dall'utente: usa un'identità gestita creata dall'utente come risorsa Azure autonoma.
Connect-Entra -Identity -ClientId 'User_Assigned_Managed_identity_Client_Id'