Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
L’ambito è il set di risorse a cui si applica l'accesso. Quando si assegna un ruolo, è importante comprendere l’ambito in modo da concedere all’entità di sicurezza solo l’accesso di cui ha bisogno. Limitando l’ambito, si limitano anche le risorse a rischio in caso di compromissione dell’entità di sicurezza.
Livelli dell’ambito
In Azure è possibile specificare quattro livelli per l’ambito: gruppo di gestione, sottoscrizione, gruppo di risorse e risorsa. Gli ambiti sono strutturati in una relazione padre-figlio. Ogni livello di gerarchia rende più specifico l'ambito. È possibile assegnare ruoli a uno di questi livelli di ambito. Il livello selezionato determina la portata dell'applicazione del ruolo. I livelli inferiori ereditano le autorizzazioni del ruolo da quelli superiori.
I gruppi di gestione rappresentano un livello di ambito superiore alle sottoscrizione, ma supportano gerarchi più complesse. Il diagramma seguente mostra un esempio di una gerarchia di gruppi di gestione e sottoscrizioni che è possibile definire. Per altre informazioni sui gruppi di gestione, vedere Informazioni sui gruppi di gestione di Azure.
Formato dell’ambito
Se si assegnano ruoli utilizzando la riga di comando, sarà necessario specificare l’ambito. Per gli strumenti della riga di comando, l’ambito è una stringa potenzialmente lunga che identifica l’ambito esatto dell’assegnazione di ruolo. Nel portale di Azure, questo ambito è generalmente elencato come ID risorsa.
L'ambito è costituito da una serie di identificatori separati dal carattere barra (/). Questa stringa può essere considerata come espressione della seguente gerarchia, in cui il testo senza segnaposto ({}
) è rappresentato da identificatori fissi:
/subscriptions
/{subscriptionId}
/resourcegroups
/{resourceGroupName}
/providers
/{providerName}
/{resourceType}
/{resourceSubType1}
/{resourceSubType2}
/{resourceName}
{subscriptionId}
è l'ID della sottoscrizione da usare (GUID).{resourceGroupName}
è il nome del gruppo di risorse che contiene la risorsa.{providerName}
è il nome del provider di risorse che gestisce la risorsa, quindi{resourceType}
e{resourceSubType*}
identificano altri livelli all’interno del provider di risorse.{resourceName}
è l'ultima parte della stringa che identifica una risorsa specifica.
I gruppi di gestione appartengono a un livello superiore rispetto alle sottoscrizioni e hanno un ambito più ampio (meno specifico). Le assegnazioni di ruolo a questo livello si applicano alle sottoscrizioni all’interno del gruppo di gestione. L’ambito di un gruppo di gestione ha il seguente formato:
/providers
/Microsoft.Management
/managementGroups
/{managementGroupName}
Esempi di ambito
Ambito | Esempio |
---|---|
Gruppo di gestione | /providers/Microsoft.Management/managementGroups/marketing-group |
Abbonamento | /subscriptions/00000000-0000-0000-0000-000000000000 |
Gruppo di risorse | /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Example-Storage-rg |
/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales |
|
Risorsa | /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Example-Storage-rg/providers/Microsoft.Storage/storageAccounts/azurestorage12345/blobServices/default/containers/blob-container-01 |
/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyVirtualNetworkResourceGroup/providers/Microsoft.Network/virtualNetworks/MyVirtualNetwork12345 |
Come determinare l’ambito di una risorsa
È abbastanza semplice determinare l’ambito per un gruppo di gestione, una sottoscrizione o un gruppo di risorse. È sufficiente conoscere il nome e l’ID sottoscrizione. Tuttavia, determinare l’ambito per una risorsa richiede un po’ più di lavoro. Di seguito sono illustrati un paio di modi che è possibile utilizzare l’ambito per una risorsa.
Nel portale di Azure aprire la risorsa e quindi esaminare le proprietà. La risorsa dovrebbe visualizzare l’ID risorsa in cui è possibile determinare l’ambito. Ad esempio, questi sono gli ID risorsa per l’account di archiviazione.
Un altro modo consiste nell’utilizzare il portale di Azure per assegnare temporaneamente un ruolo a un ambito e quindi utilizzare Azure PowerShell o l’interfaccia della riga di comando di Azure per elencare l’assegnazione di ruolo. Nell’output, l’ambito verrà elencato come proprietà.
RoleAssignmentId : /subscriptions/<subscriptionId>/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/azurestorage12345/blobServices/default/containers/blob-container-01/pro viders/Microsoft.Authorization/roleAssignments/<roleAssignmentId> Scope : /subscriptions/<subscriptionId>/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/azurestorage12345/blobServices/default/containers/blob-container-01 DisplayName : User SignInName : [email protected] RoleDefinitionName : Storage Blob Data Reader RoleDefinitionId : 2a2b9908-6ea1-4ae2-8e65-a410df84e7d1 ObjectId : <principalId> ObjectType : User CanDelegate : False Description : ConditionVersion : Condition :
{ "canDelegate": null, "condition": null, "conditionVersion": null, "description": null, "id": "/subscriptions/{subscriptionId}/resourceGroups/Example-Storage-rg/providers/Microsoft.Storage/storageAccounts/azurestorage12345/blobServices/default/containers/blob-container-01/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId}", "name": "{roleAssignmentId}", "principalId": "{principalId}", "principalName": "[email protected]", "principalType": "User", "resourceGroup": "test-rg", "roleDefinitionId": "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleDefinitions/2a2b9908-6ea1-4ae2-8e65-a410df84e7d1", "roleDefinitionName": "Storage Blob Data Reader", "scope": "/subscriptions/{subscriptionId}/resourceGroups/Example-Storage-rg/providers/Microsoft.Storage/storageAccounts/azurestorage12345/blobServices/default/containers/blob-container-01", "type": "Microsoft.Authorization/roleAssignments" }
Ambiti e modelli di Azure Resource Manager
Un’assegnazione di ruolo rappresenta un tipo speciale in Azure Resource Manager ed è denominato risorsa di estensione. Una risorsa di estensione è una risorsa che viene aggiunta alle funzionalità di un'altra risorsa. Esistono sempre come estensione (come figlio) di un’altra estensione. Ad esempio, un’assegnazione di ruolo a livello di ambito di sottoscrizione è una risorsa dell’estensione della sottoscrizione. Il nome di un’assegnazione di ruolo corrisponde sempre al nome della risorsa che si sta estendendo e di /Microsoft.Authorization/roleAssignments/{roleAssignmentId}
. Quando si assegnano ruoli utilizzando il modello di Azure Resource Manager (modello dii ARM), non è in genere necessario specificare l’ambito. Questo perché il campo dell’ambito finisce sempre per essere l’ID della risorsa che si sta estendendo. È possibile determinare l’ambito dall’ID dell’assegnazione di ruolo stesso. La tabella seguente mostra esempi di un ID di un’assegnazione di ruolo e l’ambito corrispondente:
ID assegnazione di ruolo | Ambito |
---|---|
/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId} |
/subscriptions/{subscriptionId} |
/subscriptions/{subscriptionId}/resourceGroups/Example-Storage-rg/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId} |
/subscriptions/{subscriptionId}/resourceGroups/Example-Storage-rg |
Per altre informazioni sull’ambito e sui modelli di Azure Resource Manager, vedere Assegnare ruoli di Azure utilizzando i modelli di Azure Resource Manager. Per un elenco completo dei tipi di risorse di estensione, vedere Tipi di risorse che estendono le funzionalità di altre risorse.