Delen via


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 maakt u een aangepaste rol met de naam Reader Support Tickets met behulp van Azure CLI. 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 nog geen abonnement op Azure hebt, maak dan een gratis account aan voordat u begint.

Vereiste voorwaarden

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 te beginnen met een JSON-sjabloon, uw wijzigingen toe te voegen en vervolgens een nieuwe rol te maken.

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

    Handeling Beschrijving
    Microsoft.Support/register/action Registreert bij de ondersteuningsresourceprovider
    Microsoft.Support/supportTickets/lezen Hiermee haalt u details van het ondersteuningsticket op (inclusief status, ernst, contactgegevens en communicatie) of haalt u de lijst met ondersteuningstickets voor alle abonnementen op.
    Microsoft.Support/supportTickets/write Hiermee maakt of werkt u een ondersteuningsticket bij. U kunt een ondersteuningsticket maken voor problemen met betrekking tot technische, facturering, quota of abonnementsbeheer. U kunt de ernst, contactgegevens en communicatie voor bestaande ondersteuningstickets bijwerken.
  2. Maak een nieuw bestand met de naamReaderSupportRole.json.

  3. Open ReaderSupportRole.json in een editor en voeg de volgende JSON 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. Met deze acties kan de gebruiker alles in het abonnement bekijken en ondersteuningstickets maken.

    "*/read",
    "Microsoft.Support/*"
    
  5. Haal de id van uw abonnement op met behulp van de opdracht az account list .

    az account list --output table
    
  6. In AssignableScopes, vervang {subscriptionId1} door uw abonnements-id.

    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 'Bekijk alles in het abonnement en open ook supporttickets'.

    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. Als u de nieuwe aangepaste rol wilt maken, gebruikt u de opdracht az role definition create en geeft u het JSON-roldefinitiebestand 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 al uw aangepaste rollen wilt weergeven, gebruikt u de opdracht az role definition list met de --custom-role-only parameter.

    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.

    schermafbeelding van aangepaste rol geïmporteerd in Azure Portal

Een aangepaste rol bijwerken

Als u de aangepaste rol wilt bijwerken, werkt u het JSON-bestand bij en werkt u vervolgens de aangepaste rol bij.

  1. Open het ReaderSupportRole.json-bestand.

  2. Voeg in Actions de actie toe om resourcegroep-implementaties "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 rolnaam of rol-id op om de aangepaste rol te verwijderen.

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

Volgende stappen