Gestire le credenziali in Automazione di Azure
Un asset di credenziali di Automazione contiene un oggetto con credenziali di sicurezza, ad esempio un nome utente e una password. I runbook e le configurazioni DSC usano cmdlet che accettano un oggetto PSCredential per l'autenticazione. In alternativa, è possibile estrarre il nome utente e la password dell'oggetto PSCredential
per fornirli ad applicazioni o servizi che richiedono l'autenticazione.
Nota
Gli asset sicuri in Automazione di Azure includono credenziali, certificati, connessioni e variabili crittografate. Tali asset vengono crittografati e archiviati in Automazione di Azure usando una chiave univoca generata per ogni account di Automazione. Automazione di Azure memorizza la chiave nel Key Vault gestito dal sistema. Prima di archiviare un asset sicuro, Automazione carica la chiave da Key Vault e quindi la usa per crittografare l'asset.
Nota
Per informazioni sulla visualizzazione o l'eliminazione di dati personali, vedere Richieste generali dell'interessato per il GDPR, richieste dell'interessato di Azure per il GDPR o richieste dell'interessato windows per il GDPR, a seconda dell'area e delle esigenze specifiche. Per altre informazioni sul Regolamento generale sulla protezione dei dati (GDPR), vedere la sezione del GDPR del Centro protezione di Microsoft e la sezione del GDPR del Service Trust Portal.
Cmdlet di PowerShell usati per accedere alle credenziali
I cmdlet nella tabella seguente creano e gestiscono le credenziali di Automazione con PowerShell. Sono inclusi nei moduli Az.
Cmdlet | Descrizione |
---|---|
Get-AzAutomationCredential | Recupera un oggetto CredentialInfo contenente i metadati relativi alla credenziale. Il cmdlet non recupera l'oggetto PSCredential stesso. |
New-AzAutomationCredential | Crea nuove credenziali di Automazione. |
Remove-AzAutomationCredential | Rimuove le credenziali di Automazione. |
Set-AzAutomationCredential | Imposta le proprietà per le credenziali di Automazione esistenti. |
Altri cmdlet usati per accedere alle credenziali
I cmdlet nella tabella seguente vengono usati per accedere alle credenziali nei runbook e nelle configurazioni DSC.
Cmdlet | Descrizione |
---|---|
Get-AutomationPSCredential |
Ottiene un oggetto PSCredential da usare in un runbook o in una configurazione DSC. Nella maggior parte dei casi è consigliabile usare questo cmdlet interno anziché il cmdlet Get-AzAutomationCredential , perché quest'ultimo recupera solo le informazioni sulle credenziali. Queste informazioni non sono in genere utili da passare a un altro cmdlet. |
Get-Credential | Ottiene una credenziale con una richiesta di nome utente e password. Questo cmdlet fa parte del modulo Microsoft.PowerShell.Security predefinito. Vedere Moduli predefiniti. |
New-AzureAutomationCredential | Crea un asset di credenziali. Questo cmdlet fa parte del modulo di Azure predefinito. Vedere Moduli predefiniti. |
Per recuperare oggetti PSCredential
nel codice è necessario importare il modulo Orchestrator.AssetManagement.Cmdlets
. Per altre informazioni, vedere Gestire i moduli in Automazione di Azure.
Import-Module Orchestrator.AssetManagement.Cmdlets -ErrorAction SilentlyContinue
Nota
È consigliabile evitare di usare le variabili nel parametro Name
di Get-AutomationPSCredential
. Il loro uso può complicare l'individuazione delle dipendenze tra runbook o configurazioni DSC e gli asset di credenziali in fase di progettazione.
Funzioni Python che accedono alle credenziali
La funzione nella tabella seguente viene usata per accedere alle credenziali in un runbook Python 2 e 3. I runbook Python 3 sono attualmente in anteprima.
Funzione | Descrizione |
---|---|
automationassets.get_automation_credential |
Recupera informazioni riguardo un asset credenziali. |
Nota
Importare il modulo automationassets
nella parte superiore del runbook Python per accedere alle funzioni di asset.
Creare un nuovo asset di credenziali
È possibile creare un nuovo asset di credenziali usando il portale di Azure o Windows PowerShell.
Creare un nuovo asset di credenziali con il portale di Azure
Dall’account Automazione selezionare Credenziali in Risorse condivise nel riquadro sinistro.
Nella pagina Credenziali selezionare Aggiungi una credenziale.
Nel riquadro Nuove credenziali immettere un nome di credenziale appropriato secondo gli standard di denominazione.
Digitare l'ID di accesso nel campo nome utente.
Per entrambi i campi password immettere la chiave di accesso segreta.
Se la casella di autenticazione a più fattori è selezionata, deselezionarla.
Fare clic su Crea per salvare il nuovo asset di credenziali.
Nota
Automazione di Azure non supporta gli account utente che usano l'autenticazione a più fattori.
Creare un nuovo asset di credenziali con Windows PowerShell
L'esempio seguente illustra come creare un nuovo asset di credenziali di Automazione. Viene prima creato un oggetto PSCredential
con il nome e la password, che verrà quindi usato per creare l'asset di credenziali. In alternativa è possibile usare il cmdlet Get-Credential
per richiedere all'utente di digitare un nome e una password.
$user = "MyDomain\MyUser"
$pw = ConvertTo-SecureString "PassWord!" -AsPlainText -Force
$cred = New-Object –TypeName System.Management.Automation.PSCredential –ArgumentList $user, $pw
New-AzureAutomationCredential -AutomationAccountName "MyAutomationAccount" -Name "MyCredential" -Value $cred
Ottenere un asset di credenziali
Un runbook o una configurazione DSC recupera un asset di credenziali con il cmdlet Get-AutomationPSCredential
interno. Questo cmdlet ottiene un oggetto PSCredential
che è possibile usare con un cmdlet che richiede una credenziale. È anche possibile recuperare le proprietà dell'oggetto credenziali da usare individualmente. L'oggetto ha proprietà per il nome utente e la password di sicurezza.
Nota
Il cmdlet Get-AzAutomationCredential
non recupera un oggetto PSCredential
che può essere usato per l'autenticazione. Fornisce solo informazioni sulle credenziali. Se è necessario usare una credenziale in un runbook, è necessario recuperarla come oggetto PSCredential
usando Get-AutomationPSCredential
.
In alternativa è possibile usare il metodo GetNetworkCredential per recuperare un oggetto NetworkCredential che rappresenta una versione non protetta della password.
Esempio di runbook testuale
L'esempio seguente mostra come usare una credenziale PowerShell in un runbook. Recupera la credenziale e assegna il nome utente e la password alle variabili.
$myCredential = Get-AutomationPSCredential -Name 'MyCredential'
$userName = $myCredential.UserName
$securePassword = $myCredential.Password
$password = $myCredential.GetNetworkCredential().Password
È anche possibile usare una credenziale per eseguire l'autenticazione in Azure con Connect-AzAccount dopo essersi connessi a un’identità gestita. Questo esempio usa un'identità gestita assegnata dal sistema.
# Ensures you do not inherit an AzContext in your runbook
Disable-AzContextAutosave -Scope Process
# Connect to Azure with system-assigned managed identity
$AzureContext = (Connect-AzAccount -Identity).context
# set and store context
$AzureContext = Set-AzContext -SubscriptionName $AzureContext.Subscription -DefaultProfile $AzureContext
# Get credential
$myCred = Get-AutomationPSCredential -Name "MyCredential"
$userName = $myCred.UserName
$securePassword = $myCred.Password
$password = $myCred.GetNetworkCredential().Password
$myPsCred = New-Object System.Management.Automation.PSCredential ($userName,$securePassword)
# Connect to Azure with credential
$AzureContext = (Connect-AzAccount -Credential $myPsCred -TenantId $AzureContext.Subscription.TenantId).context
# set and store context
$AzureContext = Set-AzContext -SubscriptionName $AzureContext.Subscription `
-TenantId $AzureContext.Subscription.TenantId `
-DefaultProfile $AzureContext
Esempio di runbook grafico
È possibile aggiungere un'attività a un runbook grafico per il cmdlet interno Get-AutomationPSCredential
facendo clic con il pulsante destro del mouse sulla credenziale nel riquadro Libreria dell'editor grafico e scegliendo Aggiungi ad area di disegno.
La figura seguente mostra un esempio dell'uso di credenziali in un Runbook grafico. In questo caso, la credenziale fornisce l'autenticazione per un runbook di risorse di Azure, come descritto in Usare Microsoft Entra ID in Automazione di Azure per l'autenticazione in Azure. La prima attività recupera le credenziali che possono accedere alla sottoscrizione di Azure. L'attività di connessione account usa quindi questa credenziale per fornire l'autenticazione per eventuali attività successive. Viene usato un collegamento pipeline perché Get-AutomationPSCredential
prevede un singolo oggetto.
Usare le credenziali in una configurazione DSC
Anche se le configurazioni DSC in Automazione di Azure possono funzionare con asset di credenziali usando Get-AutomationPSCredential
, possono anche passare le risorse di credenziali tramite parametri. Per ulteriori informazioni vedere Compilazione di configurazioni in Azure Automation DSC.
Passaggi successivi
- Per altre informazioni sui cmdlet usati per accedere ai certificati, vedere Gestire i moduli in Automazione di Azure.
- Per informazioni generali sui runbook, vedere Esecuzione di runbook in Automazione di Azure.
- Per informazioni dettagliate sulle configurazioni DSC, vedere Panoramica di State Configuration di Automazione di Azure.