Guida introduttiva: Assegnare un ruolo di Azure usando un modello di Resource Manager
Articolo
Per gestire l'accesso alle risorse di Azure, si usa il controllo degli accessi in base al ruolo Azure. Questa guida introduttiva illustra come creare un gruppo di risorse e come concedere l'accesso a un utente in modo che possa creare e gestire macchine virtuali nel gruppo di risorse. In questo argomento di avvio rapido si usa un modello di Azure Resource Manager (modello di Resource Manager) per concedere l'accesso.
Un modello di Azure Resource Manager è un file JSON (JavaScript Object Notation) che definisce l'infrastruttura e la configurazione del progetto. Il modello utilizza la sintassi dichiarativa. Si descrive la distribuzione prevista senza scrivere la sequenza di comandi di programmazione necessari per creare la distribuzione.
Se l'ambiente soddisfa i prerequisiti e si ha familiarità con l'uso dei modelli di Resource Manager, selezionare il pulsante Distribuisci in Azure. Il modello verrà aperto nel portale di Azure.
Prerequisiti
Per assegnare ruoli di Azure e rimuovere le assegnazioni di ruolo, è necessario disporre di:
Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.
Per assegnare un ruolo, è necessario specificare tre elementi: entità di sicurezza, definizione del ruolo e ambito. Per questa guida introduttiva, l'entità di sicurezza è l'utente o un altro utente nella directory, la definizione del ruolo è Collaboratore macchina virtuale e l'ambito è un gruppo di risorse specificato.
Rivedere il modello
Il modello usato in questo avvio rapido proviene dai modelli di avvio rapido di Azure. Il modello ha due parametri e una sezione resources. In tale sezione sono presenti i tre elementi di un'assegnazione di ruolo, ovvero l'entità di sicurezza, la definizione del ruolo e l'ambito.
JSON
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "15160858749942476090"
}
},
"parameters": {
"roleDefinitionID": {
"type": "string",
"metadata": {
"description": "Specifies the role definition ID used in the role assignment."
}
},
"principalId": {
"type": "string",
"metadata": {
"description": "Specifies the principal ID assigned to the role."
}
}
},
"variables": {
"roleAssignmentName": "[guid(parameters('principalId'), parameters('roleDefinitionID'), resourceGroup().id)]"
},
"resources": [
{
"type": "Microsoft.Authorization/roleAssignments",
"apiVersion": "2022-04-01",
"name": "[variables('roleAssignmentName')]",
"properties": {
"roleDefinitionId": "[resourceId('Microsoft.Authorization/roleDefinitions', parameters('roleDefinitionID'))]",
"principalId": "[parameters('principalId')]"
}
}
],
"outputs": {
"name": {
"type": "string",
"value": "[variables('roleAssignmentName')]"
},
"resourceGroupName": {
"type": "string",
"value": "[resourceGroup().name]"
},
"resourceId": {
"type": "string",
"value": "[resourceId('Microsoft.Authorization/roleAssignments', variables('roleAssignmentName'))]"
}
}
}
Determinare l'indirizzo e-mail elettronica associato alla sottoscrizione di Azure. In alternativa, determinare l'indirizzo e-mail di un altro utente nella directory.
Aprire Azure Cloud Shell per PowerShell.
Copiare e incollare lo script seguente in Cloud Shell.
Azure PowerShell
$resourceGroupName = Read-Host -Prompt"Enter a resource group name (i.e. ExampleGrouprg)"$emailAddress = Read-Host -Prompt"Enter an email address for a user in your directory"$location = Read-Host -Prompt"Enter a location (i.e. centralus)"$roleAssignmentName = New-Guid$principalId = (Get-AzAdUser -Mail$emailAddress).id
$roleDefinitionId = (Get-AzRoleDefinition -name"Virtual Machine Contributor").id
$templateUri = "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.authorization/rbac-builtinrole-resourcegroup/azuredeploy.json"New-AzResourceGroup -Name$resourceGroupName -Location$locationNew-AzResourceGroupDeployment -ResourceGroupName$resourceGroupName -TemplateUri$templateUri -roleDefinitionID$roleDefinitionId -principalId$principalId
Immettere un nome per il gruppo di risorse, ad esempio ExampleGrouprg.
Immettere un indirizzo e-mail per se stessi o per un altro utente nella directory.
Immettere un percorso per il gruppo di risorse, ad esempio centralus.
Se necessario, premere INVIO per eseguire il comando New-AzResourceGroupDeployment.
Nel portale di Azure aprire il gruppo di risorse creato.
Nel menu a sinistra fare clic su Controllo di accesso (IAM).
Fare clic sulla scheda Assegnazioni di ruolo.
Verificare che il ruolo Collaboratore macchina virtuale sia assegnato all'utente specificato.
Pulire le risorse
Per rimuovere l'assegnazione di ruolo e il gruppo di risorse creato, eseguire queste operazioni.
Copiare e incollare lo script seguente in Cloud Shell.
Azure PowerShell
$emailAddress = Read-Host -Prompt"Enter the email address of the user with the role assignment to remove"$resourceGroupName = Read-Host -Prompt"Enter the resource group name to remove (i.e. ExampleGrouprg)"$principalId = (Get-AzAdUser -Mail$emailAddress).id
Remove-AzRoleAssignment -ObjectId$principalId -RoleDefinitionName"Virtual Machine Contributor" -ResourceGroupName$resourceGroupNameRemove-AzResourceGroup -Name$resourceGroupName
Immettere l'indirizzo e-mail dell'utente con l'assegnazione di ruolo da rimuovere.
Immettere il nome del gruppo di risorse da rimuovere, ad esempio ExampleGrouprg.
Se necessario, premere INVIO per eseguire il comando Remove-AzResourceGroup.
Immettere Y per confermare che si intende rimuovere il gruppo di risorse.
Di seguito viene descritto come usare il controllo degli accessi in base al ruolo di Azure per gestire efficacemente l'accesso del team alle risorse di Azure.
Informazioni su come consentire l'accesso alle risorse di Azure per utenti, gruppi ed entità servizio tramite i modelli di Azure Resource Manager e il controllo degli accessi in base al ruolo di Azure.
Informazioni su come concedere l'accesso alle risorse di Azure per un utente nell'ambito del gruppo di risorse usando Bicep e il controllo degli accessi in base al ruolo di Azure.
Informazioni su come aggiungere condizioni di controllo degli accessi in base all'attributo nelle assegnazioni di ruolo di Azure usando i modelli di Azure Resource Manager e il controllo degli accessi in base al ruolo di Azure.
Informazioni su come creare o aggiornare ruoli personalizzati di Azure usando un modello di Azure Resource Manager e il controllo degli accessi in base al ruolo di Azure.
Sintassi e proprietà di Azure Microsoft.Authorization/roleDefinitions da usare nei modelli di Azure Resource Manager per la distribuzione della risorsa. Versione più recente dell'API
Sintassi e proprietà Microsoft.Authorization/roleAssignments da usare nei modelli di Azure Resource Manager per la distribuzione della risorsa. Versione più recente dell'API
Informazioni sulle assegnazioni di ruolo di Azure nel controllo degli accessi in base al ruolo di Azure per la gestione granulare degli accessi delle risorse di Azure.