Esercitazione: Creare un ruolo personalizzato di Azure con l'interfaccia della riga di comando di Azure

Se i ruoli predefiniti di Azure non soddisfano le esigenze specifiche dell'organizzazione, è possibile creare ruoli personalizzati. Per questa esercitazione viene creato un ruolo personalizzato denominato Reader Support Tickets con l'interfaccia della riga di comando di Azure. Il ruolo personalizzato consente all'utente di visualizzare tutti gli elementi nel piano di controllo di una sottoscrizione e di aprire ticket di supporto.

In questa esercitazione apprenderai a:

  • Creare un ruolo personalizzato
  • Elencare ruoli personalizzati
  • Aggiornare un ruolo personalizzato
  • Eliminare un ruolo personalizzato

Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.

Prerequisiti

Per completare questa esercitazione è necessario quanto segue:

Accedere all'interfaccia della riga di comando di Azure

Accedere all'interfaccia della riga di comando di Azure.

Creare un ruolo personalizzato

Il modo più semplice per creare un ruolo personalizzato è quello di iniziare con un modello JSON, aggiungere le modifiche e quindi creare un nuovo ruolo.

  1. Esaminare l'elenco delle azioni per il provider di risorse Microsoft.Support. È utile conoscere le azioni disponibili per creare le autorizzazioni.

    Azione Descrizione
    Microsoft.Support/register/action Esegue la registrazione al provider di risorse di supporto
    Microsoft.Support/supportTickets/read Ottiene i dettagli del ticket di supporto (inclusi stato, gravità, dettagli di contatto e comunicazioni) oppure ottiene l'elenco dei ticket di supporto dalle diverse sottoscrizioni.
    Microsoft.Support/supportTickets/write Crea o aggiorna un ticket di supporto. È possibile creare un ticket di supporto per problemi associati ai settori Tecnico, Fatturazione, Quote o Gestione della sottoscrizione. È possibile aggiornare la gravità, i dettagli di contatto e le comunicazioni dei ticket di supporto esistenti.
  2. Creare un nuovo file denominato ReaderSupportRole.json.

  3. Aprire ReaderSupportRole.json in un editor e aggiungere il codice JSON seguente.

    Per informazioni sulle diverse proprietà, vedere Ruoli personalizzati di Azure.

    {
      "Name": "",
      "IsCustom": true,
      "Description": "",
      "Actions": [],
      "NotActions": [],
      "DataActions": [],
      "NotDataActions": [],
      "AssignableScopes": [
        "/subscriptions/{subscriptionId1}"
      ]
    }
    
  4. Aggiungere le azioni seguenti alla Actions proprietà . Queste azioni consentono all'utente di visualizzare tutti gli elementi nella sottoscrizione e di creare i ticket di supporto.

    "*/read",
    "Microsoft.Support/*"
    
  5. Ottenere l'ID della sottoscrizione con il comando az account list.

    az account list --output table
    
  6. In AssignableScopes sostituire {subscriptionId1} con l'ID sottoscrizione.

    È necessario aggiungere ID sottoscrizione espliciti. In caso contrario non sarà possibile importare il ruolo nella sottoscrizione.

  7. Modificare le proprietà Name e Description con "Reader Support Tickets" e "View everything in the subscription and also open support tickets".

    Il file JSON deve apparire come segue:

    {
      "Name": "Reader Support Tickets",
      "IsCustom": true,
      "Description": "View everything in the subscription and also open support tickets.",
      "Actions": [
        "*/read",
        "Microsoft.Support/*"
      ],
      "NotActions": [],
      "DataActions": [],
      "NotDataActions": [],
      "AssignableScopes": [
        "/subscriptions/00000000-0000-0000-0000-000000000000"
      ]
    }
    
  8. Per creare il nuovo ruolo personalizzato, usare il comando az role definition create e specificare il file di definizione del ruolo JSON.

    az role definition create --role-definition "~/CustomRoles/ReaderSupportRole.json"
    
    {
      "additionalProperties": {},
      "assignableScopes": [
        "/subscriptions/00000000-0000-0000-0000-000000000000"
      ],
      "description": "View everything in the subscription and also open support tickets.",
      "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/22222222-2222-2222-2222-222222222222",
      "name": "22222222-2222-2222-2222-222222222222",
      "permissions": [
        {
          "actions": [
            "*/read",
            "Microsoft.Support/*"
          ],
          "additionalProperties": {},
          "dataActions": [],
          "notActions": [],
          "notDataActions": []
        }
      ],
      "roleName": "Reader Support Tickets",
      "roleType": "CustomRole",
      "type": "Microsoft.Authorization/roleDefinitions"
    }
    

    Il nuovo ruolo personalizzato è ora disponibile e può essere assegnato a utenti, gruppi o entità servizio come i ruoli predefiniti.

Elencare ruoli personalizzati

  • Per elencare tutti i ruoli personalizzati, usare il comando az role definition list con il parametro --custom-role-only.

    az role definition list --custom-role-only true
    
    [
      {
        "additionalProperties": {},
        "assignableScopes": [
          "/subscriptions/00000000-0000-0000-0000-000000000000"
        ],
        "description": "View everything in the subscription and also open support tickets.",
        "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/22222222-2222-2222-2222-222222222222",
        "name": "22222222-2222-2222-2222-222222222222",
        "permissions": [
          {
            "actions": [
              "*/read",
              "Microsoft.Support/*",
              "Microsoft.Resources/deployments/*",
              "Microsoft.Insights/diagnosticSettings/*/read"
            ],
            "additionalProperties": {},
            "dataActions": [],
            "notActions": [],
            "notDataActions": []
          }
        ],
        "roleName": "Reader Support Tickets",
        "roleType": "CustomRole",
        "type": "Microsoft.Authorization/roleDefinitions"
      }
    ]
    

    È anche possibile visualizzare il ruolo personalizzato nel portale di Azure.

    screenshot of custom role imported in the Azure portal

Aggiornare un ruolo personalizzato

Per aggiornare il ruolo personalizzato, aggiornare il file JSON e quindi aggiornare il ruolo personalizzato.

  1. Aprire il file ReaderSupportRole.json.

  2. In Actionsaggiungere l'azione per creare e gestire le distribuzioni di "Microsoft.Resources/deployments/*"gruppi di risorse . Assicurarsi di includere una virgola dopo l'azione precedente.

    Il file JSON aggiornato deve apparire come segue:

    {
      "Name": "Reader Support Tickets",
      "IsCustom": true,
      "Description": "View everything in the subscription and also open support tickets.",
      "Actions": [
        "*/read",
        "Microsoft.Support/*",
        "Microsoft.Resources/deployments/*"
      ],
      "NotActions": [],
      "DataActions": [],
      "NotDataActions": [],
      "AssignableScopes": [
        "/subscriptions/00000000-0000-0000-0000-000000000000"
      ]
    }
    
  3. Per aggiornare il ruolo personalizzato, usare il comando az role definition update e specificare il file JSON aggiornato.

    az role definition update --role-definition "~/CustomRoles/ReaderSupportRole.json"
    
    {
      "additionalProperties": {},
      "assignableScopes": [
        "/subscriptions/00000000-0000-0000-0000-000000000000"
      ],
      "description": "View everything in the subscription and also open support tickets.",
      "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/22222222-2222-2222-2222-222222222222",
      "name": "22222222-2222-2222-2222-222222222222",
      "permissions": [
        {
          "actions": [
            "*/read",
            "Microsoft.Support/*",
            "Microsoft.Resources/deployments/*"
          ],
          "additionalProperties": {},
          "dataActions": [],
          "notActions": [],
          "notDataActions": []
        }
      ],
      "roleName": "Reader Support Tickets",
      "roleType": "CustomRole",
      "type": "Microsoft.Authorization/roleDefinitions"
    }
    

Eliminare un ruolo personalizzato

  • Usare il comando az role definition delete e specificare il nome del ruolo o l'ID ruolo per eliminare il ruolo personalizzato.

    az role definition delete --name "Reader Support Tickets"
    

Passaggi successivi