New-AzureRmRoleDefinition

Hiermee maakt u een aangepaste rol in Azure RBAC. Geef een JSON-roldefinitiebestand of een PSRoleDefinition-object op als invoer. Gebruik eerst de opdracht Get-AzureRmRoleDefinition om een basislijnroldefinitieobject te genereren. Wijzig vervolgens de eigenschappen naar behoefte. Gebruik ten slotte deze opdracht om een aangepaste rol te maken met behulp van roldefinitie.

Waarschuwing

De AzureRM PowerShell-module is vanaf 29 februari 2024 officieel afgeschaft. Gebruikers wordt aangeraden om van AzureRM naar de Az PowerShell-module te migreren om ondersteuning en updates te garanderen.

Hoewel de AzureRM-module nog steeds kan functioneren, wordt deze niet meer onderhouden of ondersteund, waardoor het gebruik naar eigen goeddunken en risico van de gebruiker blijft bestaan. Raadpleeg onze migratiebronnen voor hulp bij de overgang naar de Az-module.

Syntax

New-AzureRmRoleDefinition
   [-InputFile] <String>
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
New-AzureRmRoleDefinition
   [-Role] <PSRoleDefinition>
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]

Description

Met de cmdlet New-AzureRmRoleDefinition maakt u een aangepaste rol in op rollen gebaseerd toegangsbeheer van Azure. Geef een roldefinitie op als invoer voor de opdracht als een JSON-bestand of een PSRoleDefinition-object. De definitie van de invoerrol MOET de volgende eigenschappen bevatten:

  1. DisplayName: de naam van de aangepaste rol
  2. Beschrijving: een korte beschrijving van de rol met een overzicht van de toegang die de rol verleent.
  3. Acties: de set bewerkingen waaraan de aangepaste rol toegang verleent. Gebruik Get-AzureRmProviderOperation om de bewerking op te halen voor Azure-resourceproviders die kunnen worden beveiligd met behulp van Azure RBAC. Hier volgen enkele geldige bewerkingstekenreeksen:
  • */read verleent toegang tot leesbewerkingen van alle Azure-resourceproviders.
  • Microsoft.Network/*/read verleent toegang tot leesbewerkingen voor alle resourcetypen in de Microsoft.Network-resourceprovider van Azure.
  • 'Microsoft.Compute/virtualMachines/*' verleent toegang tot alle bewerkingen van virtuele machines en de onderliggende resourcetypen.
  1. AssignableScopes: de set bereiken (Azure-abonnementen of resourcegroepen) waarin de aangepaste rol beschikbaar is voor toewijzing. Met AssignableScopes kunt u de aangepaste rol beschikbaar maken voor toewijzing in alleen de abonnementen of resourcegroepen die deze nodig hebben, en de gebruikerservaring voor de rest van de abonnementen of resourcegroepen niet overzichtelijk maken. Hier volgen enkele geldige toewijsbare bereiken:
  • "/subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e", "/subscriptions/e91d47c4-76f3-4271-a796-21b4ecfe3624": maakt de rol beschikbaar voor toewijzing in twee abonnementen.
  • "/subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e": maakt de rol beschikbaar voor toewijzing in één abonnement.
  • "/subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e/resourceGroups/Network": maakt de rol alleen beschikbaar voor toewijzing in de netwerkresourcegroep. De definitie van de invoerrol kan de volgende eigenschappen bevatten:
  1. NotActions: de set bewerkingen die moeten worden uitgesloten van de acties om de effectieve acties voor de aangepaste rol te bepalen. Als er een specifieke bewerking is waartoe u geen toegang wilt verlenen in een aangepaste rol, is het handig om NotActions te gebruiken om deze uit te sluiten, in plaats van alle bewerkingen op te geven anders dan die specifieke bewerking in Acties.
  2. DataActions: de set gegevensbewerkingen waaraan de aangepaste rol toegang verleent.
  3. NotDataActions: de set bewerkingen die moeten worden uitgesloten van de DataActions om de effectieve gegevensacties voor de aangepaste rol te bepalen. Als er een specifieke gegevensbewerking is waartoe u geen toegang wilt verlenen in een aangepaste rol, is het handig om NotDataActions te gebruiken om deze uit te sluiten, in plaats van dat alle bewerkingen anders dan die specifieke bewerking in Acties op te geven. OPMERKING: Als aan een gebruiker een rol is toegewezen waarmee een bewerking in NotActions wordt opgegeven en ook een andere rol is toegewezen, verleent de gebruiker toegang tot dezelfde bewerking. De gebruiker kan die bewerking uitvoeren. NotActions is geen regel voor weigeren. Het is gewoon een handige manier om een set toegestane bewerkingen te maken wanneer specifieke bewerkingen moeten worden uitgesloten. Hieronder volgt een voorbeeld van een JSON-roldefinitie die kan worden opgegeven als invoer { "Name": "Updated Role", "Description": "Can monitor all resources and start and restart virtual machines", "Actions": [ "/read", "Microsoft.ClassicCompute/virtualmachines/restart/action", "Microsoft.ClassicCompute/virtualmachines/start/action" ], "NotActions": [ "/write" ], "DataActions": [ "Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read" ], "NotDataActions": [ "Microsoft. Storage/storageAccounts/blobServices/containers/blobs/write" ], "AssignableScopes": ["/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx"] }

Voorbeelden

Maken met PSRoleDefinitionObject

PS C:\> $role = Get-AzureRmRoleDefinition -Name "Virtual Machine Contributor"
          PS C:\> $role.Id = $null
          PS C:\> $role.Name = "Virtual Machine Operator"
          PS C:\> $role.Description = "Can monitor, start, and restart virtual machines."
          PS C:\> $role.Actions.RemoveRange(0,$role.Actions.Count)
          PS C:\> $role.Actions.Add("Microsoft.Compute/*/read")
          PS C:\> $role.Actions.Add("Microsoft.Compute/virtualMachines/start/action")
          PS C:\> $role.Actions.Add("Microsoft.Compute/virtualMachines/restart/action")
          PS C:\> $role.Actions.Add("Microsoft.Compute/virtualMachines/downloadRemoteDesktopConnectionFile/action")
          PS C:\> $role.Actions.Add("Microsoft.Network/*/read")
          PS C:\> $role.Actions.Add("Microsoft.Storage/*/read")
          PS C:\> $role.Actions.Add("Microsoft.Authorization/*/read")
          PS C:\> $role.Actions.Add("Microsoft.Resources/subscriptions/resourceGroups/read")
          PS C:\> $role.Actions.Add("Microsoft.Resources/subscriptions/resourceGroups/resources/read")
          PS C:\> $role.Actions.Add("Microsoft.Insights/alertRules/*")
          PS C:\> $role.Actions.Add("Microsoft.Support/*")
          PS C:\> $role.AssignableScopes.Clear()
          PS C:\> $role.AssignableScopes.Add("/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")

          PS C:\> New-AzureRmRoleDefinition -Role $role

Maken met JSON-bestand

PS C:\> New-AzureRmRoleDefinition -InputFile C:\Temp\roleDefinition.json

Parameters

-DefaultProfile

De referenties, het account, de tenant en het abonnement dat wordt gebruikt voor communicatie met Azure

Type:IAzureContextContainer
Aliases:AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputFile

Bestandsnaam met één json-roldefinitie.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Role

Roldefinitieobject.

Type:PSRoleDefinition
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

Invoerwaarden

None

Uitvoerwaarden

PSRoleDefinition

Notities

Trefwoorden: azure, azurerm, arm, resource, beheer, manager, resource, groep, sjabloon, implementatie