Gestione dei ruoli e delle autorizzazioni di Azure AD con PowerShell. Hai bisogno di aiuto per gestire e automatizzare i ruoli e le autorizzazioni di Azure AD con Windows PowerShell? Questo articolo spiega gli scenari tipici per l’automazione del Controllo degli Accessi Basato sui Ruoli (RBAC) di Azure utilizzando PowerShell.
Per gettare le basi e prepararsi a gestire i ruoli e le autorizzazioni di Azure, iniziamo con una panoramica del controllo degli accessi basato sui ruoli di Azure (RBAC). Successivamente, spieghiamo i tre elementi dell’assegnazione dei ruoli.
C’è anche una sezione che spiega i prerequisiti per la gestione dei ruoli e delle autorizzazioni di Azure AD con Windows PowerShell.
Le sezioni successive sono dedicate a spiegare i passaggi per l’assegnazione dei ruoli di Azure AD utilizzando PowerShell.
Infine, spieghiamo come elencare i ruoli assegnati agli utenti e gruppi utilizzando PowerShell.
Cosa è il Controllo degli Accessi Basato sui Ruoli (RBAC) di Azure
Il controllo degli accessi in base al ruolo (RBAC) di Azure consente agli amministratori di effettuare un controllo degli accessi alle risorse granulare. In altre parole, Azure RBAC consente agli amministratori di controllare chi ha accesso alle risorse.
Inoltre, RBAC controlla il livello di accesso alle risorse in Azure.
Al centro del RBAC ci sono gli assegnamenti di ruolo. Azure ha centinaia di ruoli predefiniti con autorizzazioni predefinite che vengono assegnate agli utenti, ai gruppi o ai principali del servizio.
L’esistenza di ruoli predefiniti con autorizzazioni predefinite rende facili le assegnazioni di ruolo, poiché gli amministratori non devono concedere autorizzazioni agli oggetti direttamente.
Tuttavia, ci sono casi in cui i ruoli predefiniti potrebbero non essere adatti alle esigenze di un’organizzazione. In questa situazione, vengono creati ruoli personalizzati.
Questo articolo copre i passaggi per assegnare ruoli esistenti e anche creare e assegnare ruoli personalizzati Azure AD.
Elementi dell’assegnazione di ruolo di Azure
Assegnare assegnazioni di ruolo coinvolge 3 elementi – entità di sicurezza, definizione di ruolo e ambito. L’entità di sicurezza è l’oggetto di Azure Active Directory che deve essere assegnato al ruolo.
D’altra parte, la definizione di ruolo è il ruolo predefinito o personalizzato di Azure AD che viene assegnato mentre l’ambito è il livello a cui viene assegnato il ruolo. Ci sono 4 ambiti in cui i ruoli vengono assegnati in Azure.
In particolare, i ruoli di Azure vengono assegnati a una risorsa, a un gruppo di risorse, a una sottoscrizione e a un gruppo di gestione. Per assegnare un ruolo a una risorsa, è necessario il relativo ID.
Tuttavia, per assegnare un ruolo a un gruppo di risorse è necessario il nome del gruppo di risorse. Eseguendo il comando Get-AzResourceGroup vengono restituiti tutti i gruppi di risorse, inclusi i loro nomi, nella sottoscrizione corrente.
Se si desidera assegnare un ruolo a livello di sottoscrizione, è necessario l’ID della sottoscrizione. Per elencare tutte le sottoscrizioni nel tenant, eseguire il comando Get-AzSubscription.
Infine, i ruoli vengono assegnati a livello di gruppo di gestione, per il quale è necessario il nome del gruppo di gestione. Per ottenere il nome di un gruppo di gestione, eseguire il comando Get-AzManagementGroup.
Comprendere questi elementi è importante per gestire i ruoli e le autorizzazioni di Azure AD con PowerShell. Nella parte restante dell’articolo, esploreremo come il security principal, la definizione del ruolo e lo scope vengano utilizzati per assegnare e gestire i ruoli in Azure AD utilizzando PowerShell.
Prerequisiti per la gestione dei ruoli e delle autorizzazioni di Azure AD con PowerShell
Prima che un amministratore assegni ruoli, deve soddisfare i seguenti requisiti:
- L’utente deve essere assegnato ai ruoli con le autorizzazioni Microsoft.Authorization/roleAssignments/write. I soli ruoli con questa autorizzazione sono Amministratore di accesso utente, Proprietario o Amministratore globale.
- In secondo luogo, è necessario l’accesso a Cloud Shell di Azure o Azure PowerShell.
- L’account utente che esegue i comandi PowerShell deve avere l’autorizzazione Directory.Read.All di Microsoft Graph.
- Infine, per eseguire alcune delle attività in questo articolo, il tuo account richiede una licenza Azure AD Premium P1 minima.
Man mano che procediamo in questo articolo, spieghiamo i passaggi per assegnare queste autorizzazioni come richiesto.
Passaggi per Assegnare Ruoli Incorporati di Azure AD Usando PowerShell Se fai clic sul link di shell cloud sopra e accedi con il tuo account Azure, viene visualizzata una schermata simile a quella nella schermata seguente. Il vantaggio di Azure Cloud Shell è che non richiede l’installazione di moduli PowerShell sul tuo PC.
I’ll be running the PowerShell commands in this and subsequent sections from Azure Cloud Shell, a browser-based shell that allows running Azure CLI or PowerShell commands. However, I’ll be running the commands from my computer.
Se si fa clic sul collegamento di Azure Cloud Shell riportato sopra e si accede con il proprio account Azure, viene visualizzato uno schermo simile a quello riportato nello screenshot seguente. Il vantaggio di Azure Cloud Shell è che non richiede l’installazione di alcun modulo di PowerShell sul proprio PC.
Passaggio 1: Determinare l’ID oggetto
È necessario ottenere l’ID oggetto prima di assegnare un ruolo a una risorsa di Azure. Seguire questi passaggi per determinare l’ID oggetto di un utente, un gruppo o una sottoscrizione.
1. Aprire Azure Cloud Shell – shell.azure.com e accedere con il proprio account Azure.
Se si apre Azure Cloud Shell per la prima volta, è necessario creare un account di archiviazione.
2. Eseguire i comandi seguenti per ottenere l’ID dell’utente o del gruppo a cui è necessario assegnare un ruolo. Nel primo comando, sto restituendo l’ID di un utente che inizia con
$userid = (Get-AzADUser -UserPrincipalName AnthonyRa@corp.itechguides.com).id
$groupid = (Get-AzADGroup -DisplayName "Helpdesk Admins (AAD)").id
Il primo comando salva l’ID utente nella variabile userid, mentre il secondo salva l’ID gruppo del gruppo nella variabile grouped. Prima di eseguire i comandi, ricordarsi di sostituire UserPrincipalName e DisplayName.
Passaggio 2: Ottenere il ruolo da assegnare
Il prossimo passo per gestire i ruoli e le autorizzazioni di Azure AD con PowerShell è determinare il ruolo da assegnare. Inizia elencando tutti i ruoli disponibili nel tuo tenant di Azure AD utilizzando il seguente comando.
Get-AzRoleDefinition | Format-Table -Property Name, IsCustom, Id
Il comando visualizza il Nome e l’Id di tutti i ruoli nel tenant. Inoltre, restituisce True o False nella colonna IsCustom.
Per dimostrare, voglio assegnare il ruolo Security Admin all’utente e al gruppo che ho determinato nel Passaggio 1. Per visualizzare il nome del ruolo, instrado l’output del comando Get-AzRoleDefinition a Where-Object come mostrato in questo comando.
$roleassignmentname = (Get-AzRoleDefinition | where-object {$_.name -eq "Security Admin"}).Name
Passaggio 3: Identificare il Ruolo da Assegnare Ambito
Il comando qui sotto restituisce il ResourceID di un account di archiviazione (ambito delle risorse) e lo salva nella variabile ResourceID.
In seguito, assegno all’utente nel passaggio 1 il ruolo “Security Admin” in questa risorsa dell’account di archiviazione.
$scoperesourceID = (Get-AzResource | Where-object {$_.name -eq "veeambackup21"}).ResourceID
Passaggio 4: Assegna il Ruolo Azure
Utilizzando le informazioni nei passaggi da 1 a 3, eseguire il comando di seguito per assegnare il ruolo all’utente. Prima di eseguire il comando, il ruolo non è assegnato a questo account di archiviazione, come mostrato nello screenshot qui sotto.
Il primo comando assegna il ruolo “Amministratore della sicurezza” a un utente salvato nella variabile $userid. Allo stesso modo, il secondo comando assegna lo stesso ruolo a un gruppo salvato nella variabile $groupid.
New-AzRoleAssignment -ObjectId $userid -RoleDefinitionName $roleassignmentname -Scope $scoperesourceID
New-AzRoleAssignment -ObjectId $groupid -RoleDefinitionName $roleassignmentname -Scope $scoperesourceID
Dopo aver eseguito i comandi sopra, aggiornando gli account di archiviazione verrà visualizzato il ruolo Amministratore della sicurezza, e l’utente e il gruppo a cui è stato assegnato il ruolo.
Visualizza l’assegnazione dei ruoli di Azure AD utilizzando PowerShell
In precedenza, ho assegnato il ruolo “Amministratore della sicurezza” a un utente con UPN, [email protected]. Se ricordi, l’ID utente per l’utente è stato salvato nella variabile $userid.
Allo stesso modo, l’ID ambito dell’account di archiviazione è stato salvato nella variabile $scoperesourceID. Per visualizzare l’assegnazione del ruolo per l’utente, eseguo il comando qui sotto.
get-AzRoleAssignment -scope $scoperesourceID -ObjectId $userid
Il comando visualizza i dettagli dell’assegnazione del ruolo, inclusi il NomeAssegnazioneRuolo e l’ambito.
get-AzRoleAssignment -scope $scoperesourceID -ObjectId $groupid
Gestire i ruoli e i permessi di Azure AD con PowerShell Conclusione
Amministrare i ruoli di Azure richiede la conoscenza del modello di controllo degli accessi basato sui ruoli. Inoltre, comprendere gli elementi di assegnazione dei ruoli di Azure – principale di sicurezza, definizione del ruolo e ambito – è essenziale per gestire efficacemente le assegnazioni dei ruoli con PowerShell.
Non solo, ma un account che assegna ruoli deve soddisfare alcuni prerequisiti come configurare PowerShell con i moduli richiesti e garantire i privilegi amministrativi appropriati.
La guida passo dopo passo fornita in questo articolo offre una chiara roadmap da seguire quando si assegnano ruoli AD di Azure incorporati utilizzando PowerShell. Dall’identificazione dell’ID Oggetto all’individuazione dell’ambito per l’assegnazione del ruolo, ogni fase è meticolosamente descritta, facilitando un processo di allocazione dei ruoli fluido e controllato.
Source:
https://infrasos.com/managing-azure-ad-roles-and-permissions-with-powershell/