Eseguire la migrazione da un account RunAs esistente a identità gestite
Importante
Gli account RunAs di Automazione di Azure, inclusi gli account Run as classici, sono stati ritirati 30 settembre 2023 e sostituiti con Identità gestite. Non sarà più possibile creare o rinnovare gli account Runas tramite il portale di Azure.
Per altre informazioni sulla frequenza di migrazione e sulla sequenza temporale del supporto per la creazione e il rinnovo dell'account RunAs, vedere le domande frequenti.
Gli account RunAs in Automazione di Azure forniscono l'autenticazione per la gestione delle risorse distribuite tramite Azure Resource Manager o il modello di distribuzione classico. Ogni volta che viene creato un account RunAs, viene registrata un'applicazione Microsoft Entra e viene generato un certificato autofirmato. Il certificato è valido per un mese. Il rinnovo del certificato ogni mese prima della scadenza mantiene funzionante l'account di Automazione, ma aumenta il sovraccarico.
Ora è possibile configurare gli account di Automazione per usare un'identità gestita, ovvero l'opzione predefinita quando si crea un account di Automazione. Con questa funzionalità, un account di Automazione può eseguire l'autenticazione alle risorse di Azure senza dover scambiare credenziali. Un'identità gestita elimina la necessità di rinnovare il certificato o gestire l'entità servizio.
Un'identità gestita può essere assegnata dal sistema o assegnata dall'utente. Quando viene creato un nuovo account di Automazione, viene abilitata un'identità gestita assegnata dal sistema.
Prerequisiti
Prima di eseguire la migrazione da un account RunAs o da un account RunAs classico a un'identità gestita:
Creare un'identità gestita assegnata dal sistema o dall'utente oppure creare entrambi i tipi. Per altre informazioni sulle differenze tra di esse, vedere Tipi di identità gestita.
Nota
- Le identità assegnate dall'utente sono supportate solo per i processi cloud. Non è possibile usare l'identità gestita dall'utente dell'account di automazione in un ruolo di lavoro ibrido per runbook. Per usare i processi ibridi, è necessario creare identità assegnate dal sistema.
- Esistono due modi per usare le identità gestite negli script di lavoro ibridi per runbook: l'identità gestita assegnata dal sistema per l'account di Automazione o l'identità gestita della macchina virtuale per una macchina virtuale di Azure in esecuzione come ruolo di lavoro ibrido per runbook.
- L'identità gestita assegnata dall'utente della macchina virtuale e l'identità gestita assegnata dal sistema della macchina virtuale non funzioneranno in un account di Automazione configurato con l'identità gestita di un account di Automazione. Quando si abilita l'identità gestita dell'account di automazione, è possibile usare solo l'identità gestita assegnata dal sistema dell'account di automazione e non l'identità gestita della macchina virtuale. Per altre informazioni, vedere Usare l'autenticazione del runbook con identità gestite.
Assegnare lo stesso ruolo all'identità gestita per accedere alle risorse di Azure corrispondenti all'account RunAs. Usare questo script per abilitare l'identità assegnata dal sistema in un account di Automazione e assegnare lo stesso set di autorizzazioni presenti in Automazione di Azure Account Runas all'identità assegnata dal sistema dell'account di Automazione.
Ad esempio, se l'account di Automazione è necessario solo per avviare o arrestare una macchina virtuale di Azure, le autorizzazioni assegnate all'account RunAs devono essere relative soltanto all'avvio e all'arresto della macchina virtuale. Analogamente, assegnare autorizzazioni di sola lettura se un runbook viene letto da Archiviazione BLOB di Azure. Per altre informazioni, vedere Linee guida sulla sicurezza di Automazione di Azure.
Se si usano account RunAs classici, assicurarsi di aver eseguito la migrazione delle risorse distribuite tramite il modello di distribuzione classica in Azure Resource Manager.
Usare questo script per scoprire quali account di Automazione usano un account RunAs. Se gli account Automazione di Azure contengono un account RunAs, il ruolo di collaboratore predefinito è assegnato per impostazione predefinita. È possibile usare lo script per controllare gli account RunAs di Automazione di Azure e determinare se l'assegnazione di ruolo è quella predefinita o se è stata modificata in una definizione di ruolo diversa.
Usare questo script per scoprire se tutti i runbook nell'account di Automazione usano l'account RunAs.
Eseguire la migrazione da un account RunAs di Automazione a un'identità gestita
Per eseguire la migrazione da un account RunAs di Automazione o da un account RunAs classico a un'identità gestita per l'autenticazione del runbook, seguire questa procedura:
Modificare il codice del runbook per usare un'identità gestita.
È consigliabile testare l'identità gestita per verificare se il runbook funziona come previsto creando una copia del runbook di produzione. Aggiornare il codice del runbook di test per l'autenticazione usando l'identità gestita. Questo metodo garantisce di non eseguire l'override
AzureRunAsConnection
nel runbook di produzione e di interrompere l'istanza di Automazione esistente. Dopo avere verificato che il codice del runbook venga eseguito come previsto tramite l'identità gestita, aggiornare il runbook di produzione per usare l'identità gestita.Per il supporto delle identità gestite, usare il cmdlet
Connect-AzAccount
. Per altre informazioni su questo cmdlet, vedere Connect-AzAccount nel riferimento a PowerShell.- Se si usano
Az
i moduli, eseguire l'aggiornamento alla versione più recente seguendo la procedura descritta nell'articolo Aggiornare i moduli di Azure PowerShell. - Se si usano moduli AzureRM, eseguire l'aggiornamento di
AzureRM.Profile
alla versione più recente e sostituirlo usando il cmdletAdd-AzureRMAccount
conConnect-AzureRMAccount –Identity
.
Per comprendere le modifiche apportate al codice del runbook necessario prima di poter usare le identità gestite, usare gli script di esempio.
- Se si usano
Quando si è certi che il runbook sia in esecuzione correttamente usando le identità gestite, è possibile eliminare in modo sicuro l'account RunAs se nessun altro runbook usa tale account.
Script di esempio
Gli esempi seguenti di script del runbook recuperano le risorse di Resource Manager usando l'account RunAs (entità servizio) e l'identità gestita. Si noterà la differenza nel codice del runbook all'inizio del runbook, in cui esegue l'autenticazione sulla risorsa.
Nota
Abilitare le autorizzazioni di controllo degli accessi in base al ruolo appropriate per l'identità di sistema di questo account di Automazione. In caso contrario, il runbook potrebbe non riuscire.
try
{
"Logging in to Azure..."
Connect-AzAccount -Identity
}
catch {
Write-Error -Message $_.Exception
throw $_.Exception
}
#Get all Resource Manager resources from all resource groups
$ResourceGroups = Get-AzResourceGroup
foreach ($ResourceGroup in $ResourceGroups)
{
Write-Output ("Showing resources in resource group " + $ResourceGroup.ResourceGroupName)
$Resources = Get-AzResource -ResourceGroupName $ResourceGroup.ResourceGroupName
foreach ($Resource in $Resources)
{
Write-Output ($Resource.Name + " of type " + $Resource.ResourceType)
}
Write-Output ("")
}
Visualizzare l'ID client dell'identità assegnata dall'utente
Nell'account di Automazione, in Impostazioni account selezionare Identità.
Nella scheda Assegnata dall'utente selezionare identità assegnata dall'utente.
Passare a Panoramica>informazioni di base per visualizzare l'ID client.
Runbook grafici
Controllare se un account RunAs viene usato nei runbook grafici
Controllare ogni attività all'interno del runbook per verificare se usa l'account RunAs quando chiama qualsiasi cmdlet di accesso o alias, ad esempio
Add-AzRmAccount/Connect-AzRmAccount/Add-AzAccount/Connect-AzAccount
.Esaminare i parametri usati dal cmdlet.
Per l'uso con l'account RunAs, il cmdlet usa il
ServicePrinicipalCertificate
parametro impostato suApplicationId
.CertificateThumbprint
sarà daRunAsAccountConnection
.
Modificare un runbook grafico per usare un'identità gestita
È necessario testare l'identità gestita per verificare che il runbook grafico funzioni come previsto. Creare una copia del runbook di produzione per usare l'identità gestita e quindi aggiornare il codice del runbook grafico di test per l'autenticazione usando l'identità gestita. È possibile aggiungere questa funzionalità a un runbook grafico aggiungendo il Connect-AzAccount
cmdlet .
I passaggi seguenti includono un esempio per illustrare come un runbook grafico che usa un account RunAs può usare le identità gestite:
Accedere al portale di Azure.
Aprire l'account di Automazione e quindi selezionare Runbook di Automazione>processi.
Selezionare un runbook. Ad esempio, selezionare il runbook Avvia macchine virtuali di Azure V2 dall'elenco e quindi selezionare Modifica o passare a Sfoglia raccolta e selezionare Avvia macchine virtuali di Azure V2.
Sostituire la connessione RunAs che usa
AzureRunAsConnection
e l'asset di connessione che usa internamente il cmdlet di PowerShellGet-AutomationConnection
con ilConnect-AzAccount
cmdlet .Selezionare Elimina per eliminare le
Get Run As Connection
attività eConnect to Azure
.Nel pannello sinistro, in RUNBOOK CONTROL, selezionare Codice e quindi selezionare Aggiungi all'area di disegno.
Modificare l'attività del codice, assegnare qualsiasi nome di etichetta appropriato e selezionare Crea logica di attività.
Nella pagina Editor codice immettere il codice di PowerShell seguente e selezionare OK.
try { Write-Output ("Logging in to Azure...") Connect-AzAccount -Identity } catch { Write-Error -Message $_.Exception throw $_.Exception }
Connettere la nuova attività alle attività connesse in precedenza da Connetti ad Azure e salvare il runbook.
Ad esempio, nel runbook Avviare macchine virtuali di Azure V2 nella raccolta di runbook è necessario sostituire le Get Run As Connection
attività e Connect to Azure
con l'attività di codice che usa il Connect-AzAccount
cmdlet come descritto in precedenza.
Per altre informazioni, vedere il nome del runbook di esempio AzureAutomationTutorialWithIdentityGraphical creato con l'account di Automazione.
Nota
I moduli di AzureRM PowerShell vengono ritirati il 29 febbraio 2024. Se si usano i moduli di AzureRM PowerShell nei runbook grafici, è necessario aggiornarli per usare i moduli Az PowerShell. Altre informazioni.
Passaggi successivi
Esaminare le domande frequenti per la migrazione alle identità gestite
Se i runbook non vengono completati correttamente, vedere Risolvere i problemi di identità gestita Automazione di Azure.
Per altre informazioni sulle identità gestite assegnate dal sistema, vedere Uso di un'identità gestita assegnata dal sistema per un account Automazione di Azure.
Per altre informazioni sulle identità gestite assegnate dall'utente, vedere Uso di un'identità gestita assegnata dall'utente per un account Automazione di Azure.
Per informazioni sulla sicurezza degli account Automazione di Azure, vedere Automazione di Azure panoramica dell'autenticazione dell'account.