Gestire i ruoli personalizzati di Azure
In questa unità si apprenderà chi può gestire i ruoli personalizzati di Azure e in che modo.
Chi può gestire i ruoli personalizzati?
In generale, gli amministratori con il ruolo Owner (Proprietario) o User Access Administrator (Amministratore Accesso utenti) dispongono delle autorizzazioni di creazione e gestione di ruoli personalizzati. Per impostazione predefinita, tali ruoli dispongono dell'autorizzazione Microsoft.Authorization/roleDefinitions/write
per tutti gli ambiti di assegnazione dei ruoli. Questa autorizzazione è necessaria per creare, eliminare o aggiornare ruoli personalizzati.
Gli ambiti di assegnazione di ruolo sono definiti nella definizione del ruolo personalizzato in Ambiti assegnabili. Come illustrato nell'unità 2, AssignableScopes potrebbe corrispondere a una o più sottoscrizioni, gruppi di risorse o risorse.
La tabella seguente elenca le autorizzazioni necessarie per creare, eliminare, aggiornare o visualizzare i ruoli personalizzati. Per gestire i ruoli personalizzati, è necessario disporre di un ruolo che contenga Azioni e Ambiti assegnabili correlati nella definizione del ruolo.
Attività | Azioni | Descrizione |
---|---|---|
Creazione/Eliminazione | Microsoft.Authorization/roleDefinitions/write |
Gli utenti possono creare o eliminare ruoli personalizzati per l'uso negli ambiti. Ad esempio, gli utenti con ruolo di Proprietario o di Amministratore Accesso utenti di sottoscrizioni, gruppi di risorse e risorse. |
Aggiornamento | Microsoft.Authorization/roleDefinitions/write |
Gli utenti possono aggiornare i ruoli personalizzati negli ambiti. Ad esempio, gli utenti con ruolo di Proprietario o di Amministratore Accesso utenti di sottoscrizioni, gruppi di risorse e risorse. |
Visualizza | Microsoft.Authorization/roleDefinitions/read |
Gli utenti possono visualizzare i ruoli personalizzati disponibili per l'assegnazione in un ambito. Tutti i ruoli predefiniti consentono di rendere disponibili i ruoli personalizzati per l'assegnazione. |
Creare ruoli personalizzati
Nell'unità precedente è stato creato un ruolo personalizzato usando l'interfaccia della riga di comando di Azure. È possibile creare un ruolo personalizzato anche con il portale di Azure o Azure PowerShell.
Creare ruoli personalizzati usando il portale di Azure
Nel portale di Azure passare alla sottoscrizione o al gruppo di risorse a cui si desidera applicare l'ambito del ruolo personalizzato, quindi passare a Controllo di accesso (IAM) e selezionare Aggiungi>Aggiungi ruolo personalizzato.
Si può scegliere di clonare un ruolo esistente o iniziare da zero.
Con entrambe le selezioni è possibile modificare le autorizzazioni, gli ambiti e il codice JSON risultante.
Creare il ruolo personalizzato usando Azure PowerShell
I passaggi necessari per creare un ruolo usando Azure PowerShell sono simili a quanto illustrato nelle due unità precedenti. Dopo aver definito il ruolo personalizzato in un file JSON, usare il comando seguente nell'interfaccia della riga di comando di Azure per creare il ruolo personalizzato:
az role definition create --role-definition vm-operator-role.json
Per creare il ruolo in Azure PowerShell, eseguire il comando seguente:
New-AzRoleDefinition -InputFile "vm-operator-role.json"
Aggiornare i ruoli personalizzati
Per aggiornare un ruolo personalizzato è possibile usare l'interfaccia della riga di comando di Azure o Azure PowerShell. Verranno illustrati i passaggi specifici per aggiornare la definizione del ruolo personalizzato nell'unità successiva, ma in generale, dopo aver aggiornato il file JSON con le modifiche, si eseguirà uno dei comandi seguenti.
Per aggiornare il ruolo personalizzato usando l'interfaccia della riga di comando di Azure, eseguire il comando seguente con il percorso del file JSON che contiene gli aggiornamenti:
az role definition update --role-definition "<<path-to-json-file>>"
In Azure PowerShell, eseguire il comando seguente con il percorso del file JSON aggiornato:
Set-AzRoleDefinition -InputFile "<<path-to-json-file>>"
Visualizzare i ruoli personalizzati
Nella prossima unità verrà illustrato come visualizzare i ruoli personalizzati nel portale di Azure. Si può ottenere un elenco dei ruoli personalizzati anche usando l'interfaccia della riga di comando di Azure o PowerShell.
Per elencare tutti i ruoli personalizzati con l'interfaccia della riga di comando di Azure, usare il comando seguente:
az role definition list --custom-role-only true --output json | jq '.[] | {"roleName":.roleName, "roleType":.roleType}'
Come si può notare, il comando chiede solo il nome del ruolo e il tipo di ruolo. In questo modo è più semplice visualizzare un numero elevato di ruoli.
Per elencare tutti i ruoli personalizzati con Azure PowerShell, usare il comando seguente. Questo comando elenca i ruoli personalizzati disponibili per l'assegnazione nella sottoscrizione. Se la sottoscrizione non è nell'ambito AssignableScopes del ruolo, il ruolo personalizzato non viene elencato.
Get-AzRoleDefinition | ? {$_.IsCustom -eq $true} | FT Name, IsCustom
Visualizzare la definizione del ruolo
Per visualizzare la definizione completa di un ruolo specifico, usare il comando seguente dell'interfaccia della riga di comando di Azure:
az role definition list --name "Virtual Machine Operator"
Per visualizzare la definizione in PowerShell, usare il comando seguente:
Get-AzRoleDefinition "Virtual Machine Operator"
Visualizzare l'assegnazione del ruolo personalizzato
Il comando seguente consente di vedere a chi è stato assegnato il ruolo personalizzato creato nell'interfaccia della riga di comando di Azure:
az role assignment list --role "Virtual Machine Operator"
In PowerShell usare il comando seguente:
Get-AzRoleAssignment -RoleDefinitionName "Virtual Machine Operator"
Eliminare i ruoli personalizzati
Il ruolo personalizzato creato nell'unità precedente è necessario per svolgere gli esercizi dell'unità successiva, quindi tale ruolo per ora non deve essere eliminato. Iniziamo a vedere come si elimina un ruolo personalizzato.
Rimuovere le assegnazioni di ruolo
Se si decide di non avere più bisogno del ruolo personalizzato, occorre rimuovere le assegnazioni di ruolo prima di poter eliminare il ruolo.
Nel portale di Azure è possibile rimuovere le assegnazioni passando alla sottoscrizione, al gruppo di risorse o alla risorsa a cui si applica l'ambito del ruolo personalizzato. Passare quindi a Controllo di accesso (IAM)>Assegnazioni di ruolo. Filtrare in base al nome del ruolo, selezionare tutti gli utenti assegnati al ruolo e quindi selezionare Rimuovi.
Nell'interfaccia della riga di comando di Azure usare il comando seguente con il nome del ruolo personalizzato:
az role assignment delete --role "role name"
In Azure PowerShell usare il cmdlet Remove-AzRoleAssignment
. Il comando potrebbe essere simile al seguente:
Remove-AzRoleAssignment -ObjectId <object_id> -RoleDefinitionName "role name" -Scope /subscriptions/<subscription_id>
ObjectID
è l’ ObjectId Microsoft Entra dell'utente, del gruppo o dell'entità servizio.
Eliminare un ruolo personalizzato
È possibile eliminare un ruolo personalizzato usando il portale di Azure, l'interfaccia della riga di comando di Azure o Azure PowerShell.
Nel portale di Azure passare alla sottoscrizione, al gruppo di risorse o alla risorsa a cui si applica l'ambito del ruolo personalizzato, quindi passare a Controllo di accesso (IAM)>Ruoli. Per trovare il ruolo, selezionare Tipo>CustomRole.
Selezionare il ruolo e quindi scegliere Rimuovi.
Nella prossima unità si userà il comando seguente per eliminare il ruolo personalizzato mediante l'interfaccia della riga di comando di Azure:
az role definition delete --name "role name"
In PowerShell, per eliminare un ruolo occorre usare il comando seguente:
Get-AzRoleDefinition "role name" | Remove-AzRoleDefinition