Zelfstudie: Een aangepaste Azure-rol maken met behulp van Azure CLI

Als de ingebouwde rollen van Azure niet voldoen aan de specifieke behoeften van uw organisatie, kunt u uw eigen aangepaste rollen maken. Voor deze zelfstudie gaat u met behulp van Azure CLI een aangepaste rol maken met de naam Reader Support Tickets. Met de aangepaste rol kan de gebruiker alles in het besturingsvlak van een abonnement bekijken en ook ondersteuningstickets openen.

In deze zelfstudie leert u het volgende:

  • Een aangepaste rol maken
  • Aangepaste rollen opvragen
  • Een aangepaste rol bijwerken
  • Een aangepaste rol verwijderen

Als u geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.

Vereisten

Voor het voltooien van deze zelfstudie hebt u het volgende nodig:

Aanmelden bij Azure CLI

Meld u aan bij Azure CLI.

Een aangepaste rol maken

De eenvoudigste manier om een aangepaste rol te maken, is door een JSON-sjabloon als uitgangspunt te nemen, deze te bewerken en zo een nieuwe rol te maken.

  1. Bekijk de lijst met acties voor de resourceprovider Microsoft.Support. Het is handig om te weten welke acties beschikbaar zijn om uw machtigingen te maken.

    Actie Beschrijving
    Microsoft.Support/register/action Hiermee wordt het item geregistreerd bij de resourceprovider voor ondersteuning
    Microsoft.Support/supportTickets/read Hiermee worden gegevens over het ondersteuningsticket opgehaald (inclusief status, ernst, contactgegevens en communicatie) of wordt de lijst met ondersteuningstickets voor de verschillende abonnementen opgehaald.
    Microsoft.Support/supportTickets/write Hiermee wordt een ondersteuningsticket gemaakt of bijgewerkt. U kunt een ondersteuningsticket maken voor problemen van technische aard of op het gebied van facturering, quota's of beheer van abonnementen. U kunt voor bestaande ondersteuningstickets de ernst, de contactgegevens en de communicatiemethoden aanpassen.
  2. Maak een nieuw bestand met de naam ReaderSupportRole.json.

  3. Open ReaderSupportRole.json in een editor en voeg de volgende JSON-code toe.

    Zie Aangepaste Azure-rollen voor informatie over de verschillende eigenschappen.

    {
      "Name": "",
      "IsCustom": true,
      "Description": "",
      "Actions": [],
      "NotActions": [],
      "DataActions": [],
      "NotDataActions": [],
      "AssignableScopes": [
        "/subscriptions/{subscriptionId1}"
      ]
    }
    
  4. Voeg de volgende acties toe aan de Actions eigenschap. Deze acties stellen de gebruiker in staat om alles in het abonnement te zien en ook om ondersteuningstickets te maken.

    "*/read",
    "Microsoft.Support/*"
    
  5. De id van uw abonnement kunt u opvragen met de opdracht az account list.

    az account list --output table
    
  6. Vervang in AssignableScopes{subscriptionId1} door de id van uw abonnement.

    U moet expliciete abonnement-id's toevoegen, anders is het niet mogelijk om de rol in uw abonnement te importeren.

  7. Wijzig de eigenschappen Name en Description in 'Reader Support Tickets' en 'View everything in the subscription and also open support tickets'.

    Uw JSON-bestand moet er nu zo uitzien:

    {
      "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. Gebruik voor het maken van de nieuwe aangepaste rol de opdracht az role definition create en geef het JSON-definitiebestand voor de rol op.

    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"
    }
    

    De nieuwe aangepaste rol is nu beschikbaar en kan worden toegewezen aan gebruikers, groepen of service-principals, net als ingebouwde rollen.

Aangepaste rollen opvragen

  • Als u een overzicht wilt zien van alle aangepaste rollen, gebruikt u de opdracht az role definition list met de parameter --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"
      }
    ]
    

    U kunt de aangepaste rol ook zien in Azure Portal.

    screenshot of custom role imported in the Azure portal

Een aangepaste rol bijwerken

Als u de aangepaste rol wilt bijwerken, moet u eerst het JSON-bestand bijwerken en vervolgens de aangepaste rol.

  1. Open het bestand ReaderSupportRole.json.

  2. Voeg Actionsde actie toe om resourcegroepimplementaties "Microsoft.Resources/deployments/*"te maken en te beheren. Zorg ervoor dat u een komma opneemt na de vorige actie.

    Het bijgewerkte JSON-bestand moet er nu zo uitzien:

    {
      "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. Als u de aangepaste rol wilt bijwerken, gebruikt u de opdracht az role definition update en geeft u het bijgewerkte JSON-bestand op.

    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"
    }
    

Een aangepaste rol verwijderen

  • Gebruik de opdracht az role definition delete en geef de naam of id van de rol op om de aangepaste rol te verwijderen.

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

Volgende stappen