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

  1. Dall’account Automazione selezionare Credenziali in Risorse condivise nel riquadro sinistro.

  2. Nella pagina Credenziali selezionare Aggiungi una credenziale.

  3. Nel riquadro Nuove credenziali immettere un nome di credenziale appropriato secondo gli standard di denominazione.

  4. Digitare l'ID di accesso nel campo nome utente.

  5. Per entrambi i campi password immettere la chiave di accesso segreta.

    Creare nuove credenziali

  6. Se la casella di autenticazione a più fattori è selezionata, deselezionarla.

  7. 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.

Aggiungere cmdlet credenziali all'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.

Esempio di flusso di lavoro delle credenziali con collegamento alla pipeline

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