Zelfstudie: Een aangepaste Azure-rol maken met Azure PowerShellTutorial: Create an Azure custom role using Azure PowerShell

Als de ingebouwde rollen van Azure niet voldoen aan de specifieke behoeften van uw organisatie, kunt u uw eigen aangepaste rollen maken.If the Azure built-in roles don't meet the specific needs of your organization, you can create your own custom roles. Voor deze zelfstudie gaat u met behulp van Azure PowerShell een aangepaste rol maken met de naam Reader Support Tickets.For this tutorial, you create a custom role named Reader Support Tickets using Azure PowerShell. De aangepaste rol stelt de gebruiker in staat om alles in het beheersvenster van een abonnement te zien en ook om ondersteuningstickets te openen.The custom role allows the user to view everything in the management plane of a subscription and also open support tickets.

In deze zelfstudie leert u het volgende:In this tutorial, you learn how to:

  • Een aangepaste rol makenCreate a custom role
  • Aangepaste rollen opvragenList custom roles
  • Een aangepaste rol bijwerkenUpdate a custom role
  • Een aangepaste rol verwijderenDelete a custom role

Als u nog geen abonnement op Azure hebt, maak dan een gratis account aan voordat u begint.If you don't have an Azure subscription, create a free account before you begin.

Notitie

Dit artikel is bijgewerkt om gebruik te maken van de Azure Az PowerShell-module.This article has been updated to use the Azure Az PowerShell module. De Az PowerShell-module is de aanbevolen PowerShell-module voor interactie met Azure.The Az PowerShell module is the recommended PowerShell module for interacting with Azure. Raadpleeg Azure PowerShell installeren om aan de slag te gaan met de Az PowerShell-module.To get started with the Az PowerShell module, see Install Azure PowerShell. Raadpleeg Azure PowerShell migreren van AzureRM naar Az om te leren hoe u naar de Azure PowerShell-module migreert.To learn how to migrate to the Az PowerShell module, see Migrate Azure PowerShell from AzureRM to Az.

VereistenPrerequisites

Voor het voltooien van deze zelfstudie hebt u het volgende nodig:To complete this tutorial, you will need:

Aanmelden bij Azure PowerShellSign in to Azure PowerShell

Meld u aan bij Azure PowerShell.Sign in to Azure PowerShell.

Een aangepaste rol makenCreate a custom role

De eenvoudigste manier om een aangepaste rol te maken, is door een ingebouwde rol als uitgangspunt te nemen, deze te bewerken en zo een nieuwe rol te maken.The easiest way to create a custom role is to start with a built-in role, edit it, and then create a new role.

  1. Gebruik in PowerShell de opdracht Get-AzProviderOperation om de lijst met bewerkingen voor de Microsoft.Support-resourceprovider op te vragen.In PowerShell, use the Get-AzProviderOperation command to get the list of operations for the Microsoft.Support resource provider. Het is handig om te weten welke bewerkingen er beschikbaar zijn voor het maken van machtigingen.It's helpful to know the operations that are available to create your permissions. U kunt ook in Bewerkingen van Azure-resourceprovider een overzicht zien van alle bewerkingen.You can also see a list of all the operations at Azure resource provider operations.

    Get-AzProviderOperation "Microsoft.Support/*" | FT Operation, Description -AutoSize
    
    Operation                              Description
    ---------                              -----------
    Microsoft.Support/register/action      Registers to Support Resource Provider
    Microsoft.Support/supportTickets/read  Gets Support Ticket details (including status, severity, contact ...
    Microsoft.Support/supportTickets/write Creates or Updates a Support Ticket. You can create a Support Tic...
    
  2. Gebruik de opdracht Get-AzRoleDefinition om de rol Lezer uit te voeren in de JSON-indeling.Use the Get-AzRoleDefinition command to output the Reader role in JSON format.

    Get-AzRoleDefinition -Name "Reader" | ConvertTo-Json | Out-File C:\CustomRoles\ReaderSupportRole.json
    
  3. Open het bestand ReaderSupportRole.json in een teksteditor.Open the ReaderSupportRole.json file in an editor.

    Hieronder ziet u de JSON-uitvoer.The following shows the JSON output. Zie Aangepaste Azure-rollen voor informatie over de verschillende eigenschappen.For information about the different properties, see Azure custom roles.

    {
      "Name": "Reader",
      "Id": "acdd72a7-3385-48ef-bd42-f606fba81ae7",
      "IsCustom": false,
      "Description": "Lets you view everything, but not make any changes.",
      "Actions": [
        "*/read"
      ],
      "NotActions": [],
      "DataActions": [],
      "NotDataActions": [],
      "AssignableScopes": [
        "/"
      ]
    }
    
  4. Bewerk het JSON-bestand om de bewerking "Microsoft.Support/*" toe te voegen aan de eigenschap Actions.Edit the JSON file to add the "Microsoft.Support/*" operation to the Actions property. Vergeet niet om een komma toe te voegen na de read-bewerking.Be sure to include a comma after the read operation. Deze actie stelt de gebruiker in staat om ondersteuningstickets aan te maken.This action will allow the user to create support tickets.

  5. Vraag de id van uw abonnement op met de opdracht Get-AzSubscription.Get the ID of your subscription using the Get-AzSubscription command.

    Get-AzSubscription
    
  6. Voeg in AssignableScopes uw abonnements-id toe met de volgende indeling: "/subscriptions/00000000-0000-0000-0000-000000000000"In AssignableScopes, add your subscription ID with the following format: "/subscriptions/00000000-0000-0000-0000-000000000000"

    U moet expliciete abonnement-id's toevoegen, anders is het niet mogelijk om de rol in uw abonnement te importeren.You must add explicit subscription IDs, otherwise you won't be allowed to import the role into your subscription.

  7. Verwijder de regel met de eigenschap Id en wijzig de eigenschap IsCustom in true.Delete the Id property line and change the IsCustom property to true.

  8. Wijzig de eigenschappen Name en Description in 'Reader Support Tickets' en 'View everything in the subscription and also open support tickets'.Change the Name and Description properties to "Reader Support Tickets" and "View everything in the subscription and also open support tickets."

    Uw JSON-bestand moet er nu zo uitzien:Your JSON file should look like the following:

    {
      "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"
      ]
    }
    
  9. Gebruik voor het maken van de nieuwe aangepaste rol de opdracht New-AzRoleDefinition en geef het JSON-definitiebestand voor de rol op.To create the new custom role, use the New-AzRoleDefinition command and specify the JSON role definition file.

    New-AzRoleDefinition -InputFile "C:\CustomRoles\ReaderSupportRole.json"
    
    Name             : Reader Support Tickets
    Id               : 22222222-2222-2222-2222-222222222222
    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}
    

    De nieuwe aangepaste rol is nu beschikbaar in Azure Portal en kan worden toegewezen aan gebruikers, groepen of service-principals, net als ingebouwde rollen.The new custom role is now available in the Azure portal and can be assigned to users, groups, or service principals just like built-in roles.

Aangepaste rollen opvragenList custom roles

  • Gebruik de opdracht Get-AzRoleDefinition om alle aangepaste rollen weer te geven.To list all your custom roles, use the Get-AzRoleDefinition command.

    Get-AzRoleDefinition | ? {$_.IsCustom -eq $true} | FT Name, IsCustom
    
    Name                   IsCustom
    ----                   --------
    Reader Support Tickets     True
    

    U kunt de aangepaste rol ook zien in Azure Portal.You can also see the custom role in the Azure portal.

    schermafbeelding van aangepaste rol geïmporteerd in Azure Portal

Een aangepaste rol bijwerkenUpdate a custom role

Als u de aangepaste rol wilt bijwerken, kunt u het JSON-bestand bijwerken of het object PSRoleDefinition gebruiken.To update the custom role, you can update the JSON file or use the PSRoleDefinition object.

  1. Als u het JSON-bestand wilt bijwerken, gebruikt u de opdracht Get-AzRoleDefinition om de aangepaste rol uit te voeren in de JSON-indeling.To update the JSON file, use the Get-AzRoleDefinition command to output the custom role in JSON format.

    Get-AzRoleDefinition -Name "Reader Support Tickets" | ConvertTo-Json | Out-File C:\CustomRoles\ReaderSupportRole2.json
    
  2. Open het bestand in een editor.Open the file in an editor.

  3. Voeg in Actions de bewerking toe voor het maken en beheren van implementaties van resourcegroepen"Microsoft.Resources/deployments/*".In Actions, add the operation to create and manage resource group deployments "Microsoft.Resources/deployments/*".

    Het bijgewerkte JSON-bestand moet er nu zo uitzien:Your updated JSON file should look like the following:

    {
      "Name": "Reader Support Tickets",
      "Id": "22222222-2222-2222-2222-222222222222",
      "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"
      ]
    }
    
  4. Als u de aangepaste rol wilt bijwerken, gebruikt u de opdracht Set-AzRoleDefinition en geeft u het bijgewerkte JSON-bestand op.To update the custom role, use the Set-AzRoleDefinition command and specify the updated JSON file.

    Set-AzRoleDefinition -InputFile "C:\CustomRoles\ReaderSupportRole2.json"
    
    Name             : Reader Support Tickets
    Id               : 22222222-2222-2222-2222-222222222222
    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}
    
  5. Als u het object PSRoleDefintion wilt gebruiken om de aangepaste rol bij te werken, gebruikt u eerst de opdracht Get-AzRoleDefinition om de rol op te vragen.To use the PSRoleDefintion object to update your custom role, first use the Get-AzRoleDefinition command to get the role.

    $role = Get-AzRoleDefinition "Reader Support Tickets"
    
  6. Roep de methode Add aan om de bewerking toe te voegen waarmee diagnostische instellingen worden gelezen.Call the Add method to add the operation to read diagnostic settings.

    $role.Actions.Add("Microsoft.Insights/diagnosticSettings/*/read")
    
  7. Gebruik Set-AzRoleDefinition om de rol bij te werken.Use the Set-AzRoleDefinition to update the role.

    Set-AzRoleDefinition -Role $role
    
    Name             : Reader Support Tickets
    Id               : 22222222-2222-2222-2222-222222222222
    IsCustom         : True
    Description      : View everything in the subscription and also open support tickets.
    Actions          : {*/read, Microsoft.Support/*, Microsoft.Resources/deployments/*,
                       Microsoft.Insights/diagnosticSettings/*/read}
    NotActions       : {}
    DataActions      : {}
    NotDataActions   : {}
    AssignableScopes : {/subscriptions/00000000-0000-0000-0000-000000000000}
    

Een aangepaste rol verwijderenDelete a custom role

  1. Gebruik de opdracht Get-AzRoleDefinition om de id van de aangepaste rol op te vragen.Use the Get-AzRoleDefinition command to get the ID of the custom role.

    Get-AzRoleDefinition "Reader Support Tickets"
    
  2. Gebruik de opdracht Remove-AzRoleDefinition en geef de id van de rol op om de aangepaste rol te verwijderen.Use the Remove-AzRoleDefinition command and specify the role ID to delete the custom role.

    Remove-AzRoleDefinition -Id "22222222-2222-2222-2222-222222222222"
    
    Confirm
    Are you sure you want to remove role definition with id '22222222-2222-2222-2222-222222222222'.
    [Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"):
    
  3. Wanneer u wordt gevraagd om de bewerking te bevestigen, typt u Y.When asked to confirm, type Y.

Volgende stappenNext steps