Gestione del controllo degli accessi in base al ruolo con l'API RESTManage Role-Based Access Control with the REST API

Il controllo degli accessi in base al ruolo nel portale di Azure e nell'API di Azure Resource Manager aiuta a gestire l'accesso alla sottoscrizione e alle risorse a un livello estremamente specifico.Role-Based Access Control (RBAC) in the Azure portal and Azure Resource Manager API helps you manage access to your subscription and resources at a fine-grained level. Con questa funzionalità è possibile concedere l'accesso a utenti, gruppi o entità servizio di Active Directory assegnando loro dei ruoli in un determinato ambito.With this feature, you can grant access for Active Directory users, groups, or service principals by assigning some roles to them at a particular scope.

Elencare tutte le assegnazioni di ruoloList all role assignments

Elenca tutte le assegnazioni di ruolo all'ambito specificato e agli ambiti secondari.Lists all the role assignments at the specified scope and subscopes.

Per elencare le assegnazioni di ruolo, è necessario avere accesso all'operazione Microsoft.Authorization/roleAssignments/read nell'ambito.To list role assignments, you must have access to Microsoft.Authorization/roleAssignments/read operation at the scope. L'accesso a questa operazione viene concesso a tutti i ruoli predefiniti.All the built-in roles are granted access to this operation. Per altre informazioni sulle assegnazioni di ruolo e la gestione dell'accesso per le risorse di Azure, vedere Controllo degli accessi in base al ruolo di Azure.For more information about role assignments and managing access for Azure resources, see Azure Role-Based Access Control.

RichiestaRequest

Usare il metodo GET con l'URI seguente:Use the GET method with the following URI:

https://management.azure.com/{scope}/providers/Microsoft.Authorization/roleAssignments?api-version={api-version}&$filter={filter}

All'interno dell'URI, apportare le sostituzioni seguenti per personalizzare la richiesta:Within the URI, make the following substitutions to customize your request:

  1. Sostituire {scope} con l'ambito per il quale elencare le assegnazioni di ruolo.Replace {scope} with the scope for which you wish to list the role assignments. Gli esempi seguenti illustrano come specificare l'ambito per livelli differenti:The following examples show how to specify the scope for different levels:

    • Sottoscrizione: /subscriptions/{subscription-id}Subscription: /subscriptions/{subscription-id}
    • Gruppo di risorse: /subscriptions/{subscription-id}/resourceGroups/myresourcegroup1Resource Group: /subscriptions/{subscription-id}/resourceGroups/myresourcegroup1
    • Risorsa: /subscriptions/{subscription-id}/resourceGroups/myresourcegroup1/providers/Microsoft.Web/sites/mysite1Resource: /subscriptions/{subscription-id}/resourceGroups/myresourcegroup1/providers/Microsoft.Web/sites/mysite1
  2. Sostituire {api-version} con 2015-07-01.Replace {api-version} with 2015-07-01.
  3. Sostituire {filter} con la condizione da applicare per filtrare l'elenco di assegnazioni di ruolo:Replace {filter} with the condition that you wish to apply to filter the role assignment list:

    • Elencare le assegnazioni di ruolo solo per l'ambito specificato, senza includere le assegnazioni di ruolo negli ambiti secondari: atScope()List role assignments for only the specified scope, not including the role assignments at subscopes: atScope()
    • Elencare le assegnazioni di ruolo solo per l'utente, il gruppo o l'applicazione specifici: principalId%20eq%20'{objectId of user, group, or service principal}'List role assignments for a specific user, group, or application: principalId%20eq%20'{objectId of user, group, or service principal}'
    • Elencare le assegnazioni di ruolo per un utente specifico, incluse quelle ereditate dai gruppi | assignedTo('{objectId of user}')List role assignments for a specific user, including ones inherited from groups | assignedTo('{objectId of user}')

ResponseResponse

Codice di stato: 200Status code: 200

{
  "value": [
    {
      "properties": {
        "roleDefinitionId": "/subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7",
        "principalId": "2f9d4375-cbf1-48e8-83c9-2a0be4cb33fb",
        "scope": "/subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e",
        "createdOn": "2015-10-08T07:28:24.3905077Z",
        "updatedOn": "2015-10-08T07:28:24.3905077Z",
        "createdBy": "877f0ab8-9c5f-420b-bf88-a1c6c7e2643e",
        "updatedBy": "877f0ab8-9c5f-420b-bf88-a1c6c7e2643e"
      },
      "id": "/subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e/providers/Microsoft.Authorization/roleAssignments/baa6e199-ad19-4667-b768-623fde31aedd",
      "type": "Microsoft.Authorization/roleAssignments",
      "name": "baa6e199-ad19-4667-b768-623fde31aedd"
    }
  ],
  "nextLink": null
}

Ottenere informazioni su un'assegnazione di ruoloGet information about a role assignment

È possibile ottenere informazioni su una singola assegnazione di ruolo specificata dall'identificatore di assegnazione di ruolo.Gets information about a single role assignment specified by the role assignment identifier.

Per ottenere informazioni su un'assegnazione di ruolo, è necessario avere accesso all'operazione Microsoft.Authorization/roleAssignments/read .To get information about a role assignment, you must have access to Microsoft.Authorization/roleAssignments/read operation. L'accesso a questa operazione viene concesso a tutti i ruoli predefiniti.All the built-in roles are granted access to this operation. Per altre informazioni sulle assegnazioni di ruolo e la gestione dell'accesso per le risorse di Azure, vedere Controllo degli accessi in base al ruolo di Azure.For more information about role assignments and managing access for Azure resources, see Azure Role-Based Access Control.

RichiestaRequest

Usare il metodo GET con l'URI seguente:Use the GET method with the following URI:

https://management.azure.com/{scope}/providers/Microsoft.Authorization/roleAssignments/{role-assignment-id}?api-version={api-version}

All'interno dell'URI, apportare le sostituzioni seguenti per personalizzare la richiesta:Within the URI, make the following substitutions to customize your request:

  1. Sostituire {scope} con l'ambito per il quale elencare le assegnazioni di ruolo.Replace {scope} with the scope for which you wish to list the role assignments. Gli esempi seguenti illustrano come specificare l'ambito per livelli differenti:The following examples show how to specify the scope for different levels:

    • Sottoscrizione: /subscriptions/{subscription-id}Subscription: /subscriptions/{subscription-id}
    • Gruppo di risorse: /subscriptions/{subscription-id}/resourceGroups/myresourcegroup1Resource Group: /subscriptions/{subscription-id}/resourceGroups/myresourcegroup1
    • Risorsa: /subscriptions/{subscription-id}/resourceGroups/myresourcegroup1/providers/Microsoft.Web/sites/mysite1Resource: /subscriptions/{subscription-id}/resourceGroups/myresourcegroup1/providers/Microsoft.Web/sites/mysite1
  2. Sostituire {role-assignment-id} con l'identificatore GUID dell'assegnazione di ruolo.Replace {role-assignment-id} with the GUID identifier of the role assignment.
  3. Sostituire {api-version} con 2015-07-01.Replace {api-version} with 2015-07-01.

ResponseResponse

Codice di stato: 200Status code: 200

{
  "properties": {
    "roleDefinitionId": "/subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c",
    "principalId": "672f1afa-526a-4ef6-819c-975c7cd79022",
    "scope": "/subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e",
    "createdOn": "2015-10-05T08:36:26.4014813Z",
    "updatedOn": "2015-10-05T08:36:26.4014813Z",
    "createdBy": "877f0ab8-9c5f-420b-bf88-a1c6c7e2643e",
    "updatedBy": "877f0ab8-9c5f-420b-bf88-a1c6c7e2643e"
  },
  "id": "/subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e/providers/Microsoft.Authorization/roleAssignments/196965ae-6088-4121-a92a-f1e33fdcc73e",
  "type": "Microsoft.Authorization/roleAssignments",
  "name": "196965ae-6088-4121-a92a-f1e33fdcc73e"
}

Creare un'assegnazione di ruoloCreate a Role Assignment

È possibile creare un'assegnazione di ruolo nell'ambito specificato per l'entità specificata, concedendo il ruolo specificato.Create a role assignment at the specified scope for the specified principal granting the specified role.

Per creare un'assegnazione di ruolo, è necessario avere accesso all'operazione Microsoft.Authorization/roleAssignments/write .To create a role assignment, you must have access to Microsoft.Authorization/roleAssignments/write operation. Tra i ruoli predefiniti, l'accesso a questa operazione viene concesso soltanto ai ruoli Proprietario e Amministratore Accesso utenti.Of the built-in roles, only Owner and User Access Administrator are granted access to this operation. Per altre informazioni sulle assegnazioni di ruolo e la gestione dell'accesso per le risorse di Azure, vedere Controllo degli accessi in base al ruolo di Azure.For more information about role assignments and managing access for Azure resources, see Azure Role-Based Access Control.

RichiestaRequest

Usare il metodo PUT con l'URI seguente:Use the PUT method with the following URI:

https://management.azure.com/{scope}/providers/Microsoft.Authorization/roleAssignments/{role-assignment-id}?api-version={api-version}

All'interno dell'URI, apportare le sostituzioni seguenti per personalizzare la richiesta:Within the URI, make the following substitutions to customize your request:

  1. Sostituire {scope} con l'ambito in cui creare le assegnazioni di ruolo.Replace {scope} with the scope at which you wish to create the role assignments. Quando si crea un'assegnazione di ruolo in un ambito padre, tutti gli ambiti figlio ereditano la stessa assegnazione di ruolo.When you create a role assignment at a parent scope, all child scopes inherit the same role assignment. Gli esempi seguenti illustrano come specificare l'ambito per livelli differenti:The following examples show how to specify the scope for different levels:

    • Sottoscrizione: /subscriptions/{subscription-id}Subscription: /subscriptions/{subscription-id}
    • Gruppo di risorse: /subscriptions/{subscription-id}/resourceGroups/myresourcegroup1Resource Group: /subscriptions/{subscription-id}/resourceGroups/myresourcegroup1
    • Risorsa: /subscriptions/{subscription-id}/resourceGroups/myresourcegroup1/providers/Microsoft.Web/sites/mysite1Resource: /subscriptions/{subscription-id}/resourceGroups/myresourcegroup1/providers/Microsoft.Web/sites/mysite1
  2. Sostituire {role-assignment-id} con un nuovo GUID, che diventa l'identificatore GUID della nuova assegnazione di ruolo.Replace {role-assignment-id} with a new GUID, which becomes the GUID identifier of the new role assignment.
  3. Sostituire {api-version} con 2015-07-01.Replace {api-version} with 2015-07-01.

Per il corpo della richiesta, specificare i valori nel formato seguente:For the request body, provide the values in the following format:

{
  "properties": {
    "roleDefinitionId": "/subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e/resourceGroups/Network/providers/Microsoft.Network/virtualNetworks/EASTUS-VNET-01/subnets/Devices-Engineering-ProjectRND/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c",
    "principalId": "5ac84765-1c8c-4994-94b2-629461bd191b"
  }
}
Nome dell'elementoElement Name ObbligatorioRequired TipoType DescrizioneDescription
roleDefinitionIdroleDefinitionId Yes StringString Identificatore del ruolo.The identifier of the role. Il formato dell'identificatore è: {scope}/providers/Microsoft.Authorization/roleDefinitions/{role-definition-id-guid}The format of the identifier is: {scope}/providers/Microsoft.Authorization/roleDefinitions/{role-definition-id-guid}
principalIdprincipalId Yes StringString objectId dell'entità di Azure AD (utente, gruppo o entità servizio) a cui deve essere assegnato il ruolo.objectId of the Azure AD principal (user, group, or service principal) to which the role is assigned.

ResponseResponse

Codice di stato: 201Status code: 201

{
  "properties": {
    "roleDefinitionId": "/subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c",
    "principalId": "5ac84765-1c8c-4994-94b2-629461bd191b",
    "scope": "/subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e/resourceGroups/Network/providers/Microsoft.Network/virtualNetworks/EASTUS-VNET-01/subnets/Devices-Engineering-ProjectRND",
    "createdOn": "2015-12-16T00:27:19.6447515Z",
    "updatedOn": "2015-12-16T00:27:19.6447515Z",
    "createdBy": null,
    "updatedBy": "877f0ab8-9c5f-420b-bf88-a1c6c7e2643e"
  },
  "id": "/subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e/resourceGroups/Network/providers/Microsoft.Network/virtualNetworks/EASTUS-VNET-01/subnets/Devices-Engineering-ProjectRND/providers/Microsoft.Authorization/roleAssignments/2e9e86c8-0e91-4958-b21f-20f51f27bab2",
  "type": "Microsoft.Authorization/roleAssignments",
  "name": "2e9e86c8-0e91-4958-b21f-20f51f27bab2"
}

Eliminare un'assegnazione di ruoloDelete a Role Assignment

È possibile eliminare un'assegnazione di ruolo nell'ambito specificato.Delete a role assignment at the specified scope.

Per eliminare un'assegnazione di ruolo, è necessario avere accesso all'operazione Microsoft.Authorization/roleAssignments/delete .To delete a role assignment, you must have access to the Microsoft.Authorization/roleAssignments/delete operation. Tra i ruoli predefiniti, l'accesso a questa operazione viene concesso soltanto ai ruoli Proprietario e Amministratore Accesso utenti.Of the built-in roles, only Owner and User Access Administrator are granted access to this operation. Per altre informazioni sulle assegnazioni di ruolo e la gestione dell'accesso per le risorse di Azure, vedere Controllo degli accessi in base al ruolo di Azure.For more information about role assignments and managing access for Azure resources, see Azure Role-Based Access Control.

RichiestaRequest

Usare il metodo DELETE con l'URI seguente:Use the DELETE method with the following URI:

https://management.azure.com/{scope}/providers/Microsoft.Authorization/roleAssignments/{role-assignment-id}?api-version={api-version}

All'interno dell'URI, apportare le sostituzioni seguenti per personalizzare la richiesta:Within the URI, make the following substitutions to customize your request:

  1. Sostituire {scope} con l'ambito in cui creare le assegnazioni di ruolo.Replace {scope} with the scope at which you wish to create the role assignments. Gli esempi seguenti illustrano come specificare l'ambito per livelli differenti:The following examples show how to specify the scope for different levels:

    • Sottoscrizione: /subscriptions/{subscription-id}Subscription: /subscriptions/{subscription-id}
    • Gruppo di risorse: /subscriptions/{subscription-id}/resourceGroups/myresourcegroup1Resource Group: /subscriptions/{subscription-id}/resourceGroups/myresourcegroup1
    • Risorsa: /subscriptions/{subscription-id}/resourceGroups/myresourcegroup1/providers/Microsoft.Web/sites/mysite1Resource: /subscriptions/{subscription-id}/resourceGroups/myresourcegroup1/providers/Microsoft.Web/sites/mysite1
  2. Sostituire {role-assignment-id} con l'identificatore GUID dell'assegnazione di ruolo.Replace {role-assignment-id} with the role assignment id GUID.
  3. Sostituire {api-version} con 2015-07-01.Replace {api-version} with 2015-07-01.

ResponseResponse

Codice di stato: 200Status code: 200

{
  "properties": {
    "roleDefinitionId": "/subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c",
    "principalId": "5ac84765-1c8c-4994-94b2-629461bd191b",
    "scope": "/subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e/resourceGroups/Network/providers/Microsoft.Network/virtualNetworks/EASTUS-VNET-01/subnets/Devices-Engineering-ProjectRND",
    "createdOn": "2015-12-17T23:21:40.8921564Z",
    "updatedOn": "2015-12-17T23:21:40.8921564Z",
    "createdBy": "877f0ab8-9c5f-420b-bf88-a1c6c7e2643e",
    "updatedBy": "877f0ab8-9c5f-420b-bf88-a1c6c7e2643e"
  },
  "id": "/subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e/resourceGroups/Network/providers/Microsoft.Network/virtualNetworks/EASTUS-VNET-01/subnets/Devices-Engineering-ProjectRND/providers/Microsoft.Authorization/roleAssignments/5eec22ee-ea5c-431e-8f41-82c560706fd2",
  "type": "Microsoft.Authorization/roleAssignments",
  "name": "5eec22ee-ea5c-431e-8f41-82c560706fd2"
}

Elencare tutti i ruoliList all Roles

Elenca tutti i ruoli disponibili per l'assegnazione nell'ambito specificato.Lists all the roles that are available for assignment at the specified scope.

Per elencare i ruoli, è necessario avere accesso all'operazione Microsoft.Authorization/roleDefinitions/read nell'ambito.To list roles, you must have access to Microsoft.Authorization/roleDefinitions/read operation at the scope. L'accesso a questa operazione viene concesso a tutti i ruoli predefiniti.All the built-in roles are granted access to this operation. Per altre informazioni sulle assegnazioni di ruolo e la gestione dell'accesso per le risorse di Azure, vedere Controllo degli accessi in base al ruolo di Azure.For more information about role assignments and managing access for Azure resources, see Azure Role-Based Access Control.

RichiestaRequest

Usare il metodo GET con l'URI seguente:Use the GET method with the following URI:

https://management.azure.com/{scope}/providers/Microsoft.Authorization/roleDefinitions?api-version={api-version}&$filter={filter}

All'interno dell'URI, apportare le sostituzioni seguenti per personalizzare la richiesta:Within the URI, make the following substitutions to customize your request:

  1. Sostituire {scope} con l'ambito per il quale elencare i ruoli.Replace {scope} with the scope for which you wish to list the roles. Gli esempi seguenti illustrano come specificare l'ambito per livelli differenti:The following examples show how to specify the scope for different levels:

    • Sottoscrizione: /subscriptions/{subscription-id}Subscription: /subscriptions/{subscription-id}
    • Gruppo di risorse: /subscriptions/{subscription-id}/resourceGroups/myresourcegroup1Resource Group: /subscriptions/{subscription-id}/resourceGroups/myresourcegroup1
    • Risorsa: /subscriptions/{subscription-id}/resourceGroups/myresourcegroup1/providers/Microsoft.Web/sites/mysite1Resource /subscriptions/{subscription-id}/resourceGroups/myresourcegroup1/providers/Microsoft.Web/sites/mysite1
  2. Sostituire {api-version} con 2015-07-01.Replace {api-version} with 2015-07-01.
  3. Sostituire {filter} con la condizione da applicare per filtrare l'elenco di ruoli:Replace {filter} with the condition that you wish to apply to filter the list of roles:

    • Elencare i ruoli disponibili per l'assegnazione nell'ambito specificato e in tutti i relativi ambiti figlio: atScopeAndBelow()List roles available for assignment at the specified scope and any of its child scopes: atScopeAndBelow()
    • Cercare un ruolo usando l'esatto nome visualizzato: roleName%20eq%20'{role-display-name}'.Search for a role using exact display name: roleName%20eq%20'{role-display-name}'. Usare il form con codifica URL dell'esatto nome visualizzato del ruolo.Use the URL encoded form of the exact display name of the role. Ad esempio: $filter=roleName%20eq%20'Virtual%20Machine%20Contributor' |For instance, $filter=roleName%20eq%20'Virtual%20Machine%20Contributor' |

ResponseResponse

Codice di stato: 200Status code: 200

{
  "value": [
    {
      "properties": {
        "roleName": "Virtual Machine Contributor",
        "type": "BuiltInRole",
        "description": "Lets you manage virtual machines, but not access to them, and not the virtual network or storage account they\u2019re connected to.",
        "assignableScopes": [
          "/"
        ],
        "permissions": [
          {
            "actions": [
              "Microsoft.Authorization/*/read",
              "Microsoft.Compute/availabilitySets/*",
              "Microsoft.Compute/locations/*",
              "Microsoft.Compute/virtualMachines/*",
              "Microsoft.Compute/virtualMachineScaleSets/*",
              "Microsoft.Insights/alertRules/*",
              "Microsoft.Network/applicationGateways/backendAddressPools/join/action",
              "Microsoft.Network/loadBalancers/backendAddressPools/join/action",
              "Microsoft.Network/loadBalancers/inboundNatPools/join/action",
              "Microsoft.Network/loadBalancers/inboundNatRules/join/action",
              "Microsoft.Network/loadBalancers/read",
              "Microsoft.Network/locations/*",
              "Microsoft.Network/networkInterfaces/*",
              "Microsoft.Network/networkSecurityGroups/join/action",
              "Microsoft.Network/networkSecurityGroups/read",
              "Microsoft.Network/publicIPAddresses/join/action",
              "Microsoft.Network/publicIPAddresses/read",
              "Microsoft.Network/virtualNetworks/read",
              "Microsoft.Network/virtualNetworks/subnets/join/action",
              "Microsoft.Resources/deployments/*",
              "Microsoft.Resources/subscriptions/resourceGroups/read",
              "Microsoft.Storage/storageAccounts/listKeys/action",
              "Microsoft.Storage/storageAccounts/read",
              "Microsoft.Support/*"
            ],
            "notActions": []
          }
        ],
        "createdOn": "2015-06-02T00:18:27.3542698Z",
        "updatedOn": "2015-12-08T03:16:55.6170255Z",
        "createdBy": null,
        "updatedBy": null
      },
      "id": "/subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c",
      "type": "Microsoft.Authorization/roleDefinitions",
      "name": "9980e02c-c2be-4d73-94e8-173b1dc7cf3c"
    }
  ],
  "nextLink": null
}

Ottenere informazioni su un ruoloGet information about a Role

È possibile ottenere informazioni su un singolo ruolo specificato dall'identificatore di definizione.Gets information about a single role specified by the role definition identifier. Per ottenere informazioni su un singolo ruolo usando il relativo nome visualizzato, vedere Elencare tutti i ruoli.To get information about a single role using its display name, see List all roles.

Per ottenere informazioni su un ruolo, è necessario avere accesso all'operazione Microsoft.Authorization/roleDefinitions/read .To get information about a role, you must have access to Microsoft.Authorization/roleDefinitions/read operation. L'accesso a questa operazione viene concesso a tutti i ruoli predefiniti.All the built-in roles are granted access to this operation. Per altre informazioni sulle assegnazioni di ruolo e la gestione dell'accesso per le risorse di Azure, vedere Controllo degli accessi in base al ruolo di Azure.For more information about role assignments and managing access for Azure resources, see Azure Role-Based Access Control.

RichiestaRequest

Usare il metodo GET con l'URI seguente:Use the GET method with the following URI:

https://management.azure.com/{scope}/providers/Microsoft.Authorization/roleDefinitions/{role-definition-id}?api-version={api-version}

All'interno dell'URI, apportare le sostituzioni seguenti per personalizzare la richiesta:Within the URI, make the following substitutions to customize your request:

  1. Sostituire {scope} con l'ambito per il quale elencare le assegnazioni di ruolo.Replace {scope} with the scope for which you wish to list the role assignments. Gli esempi seguenti illustrano come specificare l'ambito per livelli differenti:The following examples show how to specify the scope for different levels:

    • Sottoscrizione: /subscriptions/{subscription-id}Subscription: /subscriptions/{subscription-id}
    • Gruppo di risorse: /subscriptions/{subscription-id}/resourceGroups/myresourcegroup1Resource Group: /subscriptions/{subscription-id}/resourceGroups/myresourcegroup1
    • Risorsa: /subscriptions/{subscription-id}/resourceGroups/myresourcegroup1/providers/Microsoft.Web/sites/mysite1Resource: /subscriptions/{subscription-id}/resourceGroups/myresourcegroup1/providers/Microsoft.Web/sites/mysite1
  2. Sostituire {role-definition-id} con l'identificatore GUID della definizione di ruolo.Replace {role-definition-id} with the GUID identifier of the role definition.
  3. Sostituire {api-version} con 2015-07-01.Replace {api-version} with 2015-07-01.

ResponseResponse

Codice di stato: 200Status code: 200

{
  "value": [
    {
      "properties": {
        "roleName": "Virtual Machine Contributor",
        "type": "BuiltInRole",
        "description": "Lets you manage virtual machines, but not access to them, and not the virtual network or storage account they\u2019re connected to.",
        "assignableScopes": [
          "/"
        ],
        "permissions": [
          {
            "actions": [
              "Microsoft.Authorization/*/read",
              "Microsoft.Compute/availabilitySets/*",
              "Microsoft.Compute/locations/*",
              "Microsoft.Compute/virtualMachines/*",
              "Microsoft.Compute/virtualMachineScaleSets/*",
              "Microsoft.Insights/alertRules/*",
              "Microsoft.Network/applicationGateways/backendAddressPools/join/action",
              "Microsoft.Network/loadBalancers/backendAddressPools/join/action",
              "Microsoft.Network/loadBalancers/inboundNatPools/join/action",
              "Microsoft.Network/loadBalancers/inboundNatRules/join/action",
              "Microsoft.Network/loadBalancers/read",
              "Microsoft.Network/locations/*",
              "Microsoft.Network/networkInterfaces/*",
              "Microsoft.Network/networkSecurityGroups/join/action",
              "Microsoft.Network/networkSecurityGroups/read",
              "Microsoft.Network/publicIPAddresses/join/action",
              "Microsoft.Network/publicIPAddresses/read",
              "Microsoft.Network/virtualNetworks/read",
              "Microsoft.Network/virtualNetworks/subnets/join/action",
              "Microsoft.Resources/deployments/*",
              "Microsoft.Resources/subscriptions/resourceGroups/read",
              "Microsoft.Storage/storageAccounts/listKeys/action",
              "Microsoft.Storage/storageAccounts/read",
              "Microsoft.Support/*"
            ],
            "notActions": []
          }
        ],
        "createdOn": "2015-06-02T00:18:27.3542698Z",
        "updatedOn": "2015-12-08T03:16:55.6170255Z",
        "createdBy": null,
        "updatedBy": null
      },
      "id": "/subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c",
      "type": "Microsoft.Authorization/roleDefinitions",
      "name": "9980e02c-c2be-4d73-94e8-173b1dc7cf3c"
    }
  ],
  "nextLink": null
}

Creare un ruolo personalizzatoCreate a Custom Role

È possibile creare un ruolo personalizzato.Create a custom role.

Per creare un ruolo personalizzato, è necessario avere accesso all'operazione Microsoft.Authorization/roleDefinitions/write in tutti i AssignableScopes.To create a custom role, you must have access to Microsoft.Authorization/roleDefinitions/write operation on all the AssignableScopes. Tra i ruoli predefiniti, l'accesso a questa operazione viene concesso soltanto ai ruoli Proprietario e Amministratore Accesso utenti.Of the built-in roles, only Owner and User Access Administrator are granted access to this operation. Per altre informazioni sulle assegnazioni di ruolo e la gestione dell'accesso per le risorse di Azure, vedere Controllo degli accessi in base al ruolo di Azure.For more information about role assignments and managing access for Azure resources, see Azure Role-Based Access Control.

RichiestaRequest

Usare il metodo PUT con l'URI seguente:Use the PUT method with the following URI:

https://management.azure.com/{scope}/providers/Microsoft.Authorization/roleDefinitions/{role-definition-id}?api-version={api-version}

All'interno dell'URI, apportare le sostituzioni seguenti per personalizzare la richiesta:Within the URI, make the following substitutions to customize your request:

  1. Sostituire {scope} con il primo AssignableScope del ruolo personalizzato.Replace {scope} with the first AssignableScope of the custom role. Gli esempi seguenti illustrano come specificare l'ambito per livelli differenti:The following examples show how to specify the scope for different levels.

    • Sottoscrizione: /subscriptions/{subscription-id}Subscription: /subscriptions/{subscription-id}
    • Gruppo di risorse: /subscriptions/{subscription-id}/resourceGroups/myresourcegroup1Resource Group: /subscriptions/{subscription-id}/resourceGroups/myresourcegroup1
    • Risorsa: /subscriptions/{subscription-id}/resourceGroups/myresourcegroup1/providers/Microsoft.Web/sites/mysite1Resource: /subscriptions/{subscription-id}/resourceGroups/myresourcegroup1/providers/Microsoft.Web/sites/mysite1
  2. Sostituire {role-definition-id} con un nuovo GUID, che diventa l'identificatore GUID del nuovo ruolo personalizzato.Replace {role-definition-id} with a new GUID, which becomes the GUID identifier of the new custom role.
  3. Sostituire {api-version} con 2015-07-01.Replace {api-version} with 2015-07-01.

Per il corpo della richiesta, specificare i valori nel formato seguente:For the request body, provide the values in the following format:

{
  "name": "7c8c8ccd-9838-4e42-b38c-60f0bbe9a9d7",
  "properties": {
    "roleName": "Virtual Machine Operator",
    "description": "Lets you monitor virtual machines and restart them.",
    "type": "CustomRole",
    "permissions": [
      {
        "actions": [
          "Microsoft.Authorization/*/read",
          "Microsoft.Compute/*/read",
          "Microsoft.Insights/alertRules/*",
          "Microsoft.Network/*/read",
          "Microsoft.Resources/subscriptions/resourceGroups/read",
          "Microsoft.Storage/*/read",
          "Microsoft.Support/*",
          "Microsoft.Compute/virtualMachines/start/action",
          "Microsoft.Compute/virtualMachines/restart/action"
        ],
        "notActions": []
      }
    ],
    "assignableScopes": [
      "/subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e"
    ]
  }
}
Nome dell'elementoElement Name ObbligatorioRequired TipoType DescrizioneDescription
namename Yes StringString Identificatore GUID del ruolo personalizzato.GUID identifier of the custom role.
properties.roleNameproperties.roleName Yes StringString Nome visualizzato del ruolo personalizzato.Display name of the custom role. La dimensione massima è di 128 caratteri.Maximum size 128 characters.
properties.descriptionproperties.description NoNo StringString Descrizione del ruolo personalizzato.Description of the custom role. La dimensione massima è di 1024 caratteri.Maximum size 1024 characters.
properties.typeproperties.type Yes StringString Impostare su "CustomRole".Set to "CustomRole."
properties.permissions.actionsproperties.permissions.actions Yes String[]String[] Matrice di stringhe di azione che specifica le operazioni concesse dal ruolo personalizzato.An array of action strings specifying the operations granted by the custom role.
properties.permissions.notActionsproperties.permissions.notActions NoNo String[]String[] Matrice di stringhe di azione che specifica le operazioni da escludere dalle operazioni concesse dal ruolo personalizzato.An array of action strings specifying the operations to exclude from the operations granted by the custom role.
properties.assignableScopesproperties.assignableScopes Yes String[]String[] Matrice di ambiti in cui il ruolo personalizzato può essere usato.An array of scopes in which the custom role can be used.

ResponseResponse

Codice di stato: 201Status code: 201

{
  "properties": {
    "roleName": "Virtual Machine Operator",
    "type": "CustomRole",
    "description": "Lets you monitor virtual machines and restart them.",
    "assignableScopes": [
      "/subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e"
    ],
    "permissions": [
      {
        "actions": [
          "Microsoft.Authorization/*/read",
          "Microsoft.Compute/*/read",
          "Microsoft.Insights/alertRules/*",
          "Microsoft.Network/*/read",
          "Microsoft.Resources/subscriptions/resourceGroups/read",
          "Microsoft.Storage/*/read",
          "Microsoft.Support/*",
          "Microsoft.Compute/virtualMachines/start/action",
          "Microsoft.Compute/virtualMachines/restart/action"
        ],
        "notActions": []
      }
    ],
    "createdOn": "2015-12-18T00:10:51.4662695Z",
    "updatedOn": "2015-12-18T00:10:51.4662695Z",
    "createdBy": "877f0ab8-9c5f-420b-bf88-a1c6c7e2643e",
    "updatedBy": "877f0ab8-9c5f-420b-bf88-a1c6c7e2643e"
  },
  "id": "/subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e/providers/Microsoft.Authorization/roleDefinitions/7c8c8ccd-9838-4e42-b38c-60f0bbe9a9d7",
  "type": "Microsoft.Authorization/roleDefinitions",
  "name": "7c8c8ccd-9838-4e42-b38c-60f0bbe9a9d7"
}

Aggiornare un ruolo personalizzatoUpdate a Custom Role

È possibile modificare un ruolo personalizzato.Modify a custom role.

Per modificare un ruolo personalizzato, è necessario avere accesso all'operazione Microsoft.Authorization/roleDefinitions/write in tutti i AssignableScopes.To modify a custom role, you must have access to Microsoft.Authorization/roleDefinitions/write operation on all the AssignableScopes. Tra i ruoli predefiniti, l'accesso a questa operazione viene concesso soltanto ai ruoli Proprietario e Amministratore Accesso utenti.Of the built-in roles, only Owner and User Access Administrator are granted access to this operation. Per altre informazioni sulle assegnazioni di ruolo e la gestione dell'accesso per le risorse di Azure, vedere Controllo degli accessi in base al ruolo di Azure.For more information about role assignments and managing access for Azure resources, see Azure Role-Based Access Control.

RichiestaRequest

Usare il metodo PUT con l'URI seguente:Use the PUT method with the following URI:

https://management.azure.com/{scope}/providers/Microsoft.Authorization/roleDefinitions/{role-definition-id}?api-version={api-version}

All'interno dell'URI, apportare le sostituzioni seguenti per personalizzare la richiesta:Within the URI, make the following substitutions to customize your request:

  1. Sostituire {scope} con il primo AssignableScope del ruolo personalizzato.Replace {scope} with the first AssignableScope of the custom role. Gli esempi seguenti illustrano come specificare l'ambito per livelli differenti:The following examples show how to specify the scope for different levels:

    • Sottoscrizione: /subscriptions/{subscription-id}Subscription: /subscriptions/{subscription-id}
    • Gruppo di risorse: /subscriptions/{subscription-id}/resourceGroups/myresourcegroup1Resource Group: /subscriptions/{subscription-id}/resourceGroups/myresourcegroup1
    • Risorsa: /subscriptions/{subscription-id}/resourceGroups/myresourcegroup1/providers/Microsoft.Web/sites/mysite1Resource: /subscriptions/{subscription-id}/resourceGroups/myresourcegroup1/providers/Microsoft.Web/sites/mysite1
  2. Sostituire {role-definition-id} con l'identificatore GUID del ruolo personalizzato.Replace {role-definition-id} with the GUID identifier of the custom role.
  3. Sostituire {api-version} con 2015-07-01.Replace {api-version} with 2015-07-01.

Per il corpo della richiesta, specificare i valori nel formato seguente:For the request body, provide the values in the following format:

{
  "name": "7c8c8ccd-9838-4e42-b38c-60f0bbe9a9d7",
  "properties": {
    "roleName": "Virtual Machine Operator",
    "description": "Lets you monitor virtual machines and restart them.",
    "type": "CustomRole",
    "permissions": [
      {
        "actions": [
          "Microsoft.Authorization/*/read",
          "Microsoft.Compute/*/read",
          "Microsoft.Insights/alertRules/*",
          "Microsoft.Network/*/read",
          "Microsoft.Resources/subscriptions/resourceGroups/read",
          "Microsoft.Storage/*/read",
          "Microsoft.Support/*",
          "Microsoft.Compute/virtualMachines/start/action",
          "Microsoft.Compute/virtualMachines/restart/action"
        ],
        "notActions": []
      }
    ],
    "assignableScopes": [
      "/subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e"
    ]
  }
}
Nome dell'elementoElement Name ObbligatorioRequired TipoType DescrizioneDescription
namename Yes StringString Identificatore GUID del ruolo personalizzato.GUID identifier of the custom role.
properties.roleNameproperties.roleName Yes StringString Nome visualizzato del ruolo personalizzato aggiornato.Display name of the updated custom role.
properties.descriptionproperties.description NoNo StringString Descrizione del ruolo personalizzato aggiornato.Description of the updated custom role.
properties.typeproperties.type Yes StringString Impostare su "CustomRole".Set to "CustomRole."
properties.permissions.actionsproperties.permissions.actions Yes String[]String[] Matrice di stringhe di azione che specifica le operazioni alle quali il ruolo personalizzato aggiornato concede l'accesso.An array of action strings specifying the operations to which the updated custom role grants access.
properties.permissions.notActionsproperties.permissions.notActions NoNo String[]String[] Matrice di stringhe di azione che specifica le operazioni da escludere dalle operazione alle quali il ruolo personalizzato aggiornato concede l'accesso.An array of action strings specifying the operations to exclude from the operations which the updated custom role grants.
properties.assignableScopesproperties.assignableScopes Yes String[]String[] Matrice di ambiti in cui il ruolo personalizzato aggiornato può essere usato.An array of scopes in which the updated custom role can be used.

ResponseResponse

Codice di stato: 201Status code: 201

{
  "properties": {
    "roleName": "Virtual Machine Operator",
    "type": "CustomRole",
    "description": "Lets you monitor virtual machines and restart them.",
    "assignableScopes": [
      "/subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e"
    ],
    "permissions": [
      {
        "actions": [
          "Microsoft.Authorization/*/read",
          "Microsoft.Compute/*/read",
          "Microsoft.Insights/alertRules/*",
          "Microsoft.Network/*/read",
          "Microsoft.Resources/subscriptions/resourceGroups/read",
          "Microsoft.Storage/*/read",
          "Microsoft.Support/*",
          "Microsoft.Compute/virtualMachines/start/action",
          "Microsoft.Compute/virtualMachines/restart/action"
        ],
        "notActions": []
      }
    ],
    "createdOn": "2015-12-18T00:10:51.4662695Z",
    "updatedOn": "2015-12-18T00:10:51.4662695Z",
    "createdBy": "877f0ab8-9c5f-420b-bf88-a1c6c7e2643e",
    "updatedBy": "877f0ab8-9c5f-420b-bf88-a1c6c7e2643e"
  },
  "id": "/subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e/providers/Microsoft.Authorization/roleDefinitions/7c8c8ccd-9838-4e42-b38c-60f0bbe9a9d7",
  "type": "Microsoft.Authorization/roleDefinitions",
  "name": "7c8c8ccd-9838-4e42-b38c-60f0bbe9a9d7"
}

Eliminare un ruolo personalizzatoDelete a Custom Role

È possibile eliminare un ruolo personalizzato.Delete a custom role.

Per eliminare un ruolo personalizzato, è necessario avere accesso all'operazione Microsoft.Authorization/roleDefinitions/delete in tutti i AssignableScopes.To delete a custom role, you must have access to Microsoft.Authorization/roleDefinitions/delete operation on all the AssignableScopes. Tra i ruoli predefiniti, l'accesso a questa operazione viene concesso soltanto ai ruoli Proprietario e Amministratore Accesso utenti.Of the built-in roles, only Owner and User Access Administrator are granted access to this operation. Per altre informazioni sulle assegnazioni di ruolo e la gestione dell'accesso per le risorse di Azure, vedere Controllo degli accessi in base al ruolo di Azure.For more information about role assignments and managing access for Azure resources, see Azure Role-Based Access Control.

RichiestaRequest

Usare il metodo DELETE con l'URI seguente:Use the DELETE method with the following URI:

https://management.azure.com/{scope}/providers/Microsoft.Authorization/roleDefinitions/{role-definition-id}?api-version={api-version}

All'interno dell'URI, apportare le sostituzioni seguenti per personalizzare la richiesta:Within the URI, make the following substitutions to customize your request:

  1. Sostituire {scope} con l'ambito in cui eliminare la definizione di ruolo.Replace {scope} with the scope at which you wish to delete the role definition. Gli esempi seguenti illustrano come specificare l'ambito per livelli differenti:The following examples show how to specify the scope for different levels:

    • Sottoscrizione: /subscriptions/{subscription-id}Subscription: /subscriptions/{subscription-id}
    • Gruppo di risorse: /subscriptions/{subscription-id}/resourceGroups/myresourcegroup1Resource Group: /subscriptions/{subscription-id}/resourceGroups/myresourcegroup1
    • Risorsa: /subscriptions/{subscription-id}/resourceGroups/myresourcegroup1/providers/Microsoft.Web/sites/mysite1Resource: /subscriptions/{subscription-id}/resourceGroups/myresourcegroup1/providers/Microsoft.Web/sites/mysite1
  2. Sostituire {role-definition-id} con l'identificatore GUID della definizione di ruolo del ruolo personalizzato.Replace {role-definition-id} with the GUID role definition id of the custom role.
  3. Sostituire {api-version} con 2015-07-01.Replace {api-version} with 2015-07-01.

ResponseResponse

Codice di stato: 200Status code: 200

{
  "properties": {
    "roleName": "Virtual Machine Operator",
    "type": "CustomRole",
    "description": "Lets you monitor virtual machines and restart them.",
    "assignableScopes": [
      "/subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e"
    ],
    "permissions": [
      {
        "actions": [
          "Microsoft.Authorization/*/read",
          "Microsoft.Compute/*/read",
          "Microsoft.Insights/alertRules/*",
          "Microsoft.Network/*/read",
          "Microsoft.Resources/subscriptions/resourceGroups/read",
          "Microsoft.Storage/*/read",
          "Microsoft.Support/*",
          "Microsoft.Compute/virtualMachines/start/action",
          "Microsoft.Compute/virtualMachines/restart/action"
        ],
        "notActions": []
      }
    ],
    "createdOn": "2015-12-16T00:07:02.9236555Z",
    "updatedOn": "2015-12-16T00:07:02.9236555Z",
    "createdBy": "877f0ab8-9c5f-420b-bf88-a1c6c7e2643e",
    "updatedBy": "877f0ab8-9c5f-420b-bf88-a1c6c7e2643e"
  },
  "id": "/subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e/providers/Microsoft.Authorization/roleDefinitions/0bd62a70-e1b8-4e0b-a7c2-75cab365c95b",
  "type": "Microsoft.Authorization/roleDefinitions",
  "name": "0bd62a70-e1b8-4e0b-a7c2-75cab365c95b"
}

Passaggi successiviNext steps