Delen via


New-AzRoleDefinition

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-AzRoleDefinition 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.

Syntaxis

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

Description

Met de cmdlet New-AzRoleDefinition 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-AzProviderOperation 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

Voorbeeld 1: Maken met PSRoleDefinitionObject

$role = New-Object -TypeName Microsoft.Azure.Commands.Resources.Models.Authorization.PSRoleDefinition 
$role.Name = 'Virtual Machine Operator'
$role.Description = 'Can monitor, start, and restart virtual machines.'
$role.IsCustom = $true
$role.AssignableScopes = @("/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")
$role.Actions = @(
    "Microsoft.Compute/*/read"
    "Microsoft.Compute/virtualMachines/start/action"
    "Microsoft.Compute/virtualMachines/restart/action"
    "Microsoft.Compute/virtualMachines/downloadRemoteDesktopConnectionFile/action"
    "Microsoft.Network/*/read"
    "Microsoft.Storage/*/read"
    "Microsoft.Authorization/*/read"
    "Microsoft.Resources/subscriptions/resourceGroups/read"
    "Microsoft.Resources/subscriptions/resourceGroups/resources/read"
    "Microsoft.Insights/alertRules/*"
    "Microsoft.Support/*"
)

New-AzRoleDefinition -Role $role

Voorbeeld 2: Maken met behulp van JSON-bestand

New-AzRoleDefinition -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
Aliassen:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-InputFile

Bestandsnaam met één json-roldefinitie.

Type:String
Position:0
Default value:None
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Role

Roldefinitieobject.

Type:PSRoleDefinition
Position:0
Default value:None
Vereist:True
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-SkipClientSideScopeValidation

Als u dit hebt opgegeven, slaat u de validatie van het bereik aan de clientzijde over.

Type:SwitchParameter
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

Invoerwaarden

None

Uitvoerwaarden

PSRoleDefinition

Notities

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