New-AzRoleDefinition

Vytvoří vlastní roli v Azure RBAC. Zadejte jako vstup soubor definice role JSON nebo objekt PSRoleDefinition. Nejprve pomocí příkazu Get-AzRoleDefinition vygenerujte základní objekt definice role. Potom podle potřeby upravte jeho vlastnosti. Nakonec pomocí tohoto příkazu vytvořte vlastní roli pomocí definice role.

Syntax

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

Description

Rutina New-AzRoleDefinition vytvoří vlastní roli v řízení přístupu na základě role v Azure. Zadejte definici role jako vstup příkazu jako soubor JSON nebo OBJEKT PSRoleDefinition. Definice vstupní role musí obsahovat následující vlastnosti:

  1. DisplayName: název vlastní role
  2. Popis: Stručný popis role, která shrnuje přístup, který role uděluje.
  3. Akce: sada operací, ke kterým vlastní role uděluje přístup. Pomocí rutiny Get-AzProviderOperation získejte operaci pro poskytovatele prostředků Azure, kteří je možné zabezpečit pomocí Azure RBAC. Následuje několik platných provozních řetězců:
  • */read uděluje přístup ke operacím čtení všech poskytovatelů prostředků Azure.
  • Microsoft.Network/*/read uděluje přístup k operacím čtení pro všechny typy prostředků v poskytovateli prostředků Microsoft.Network v Azure.
  • Microsoft.Compute/virtualMachines/*uděluje přístup ke všem operacím virtuálních počítačů a jeho podřízeným typům prostředků.
  1. AssignableScopes: sada oborů (předplatná Azure nebo skupiny prostředků), ve kterých bude vlastní role k dispozici pro přiřazení. Pomocí assignableScopes můžete vlastní roli zpřístupnit pro přiřazení pouze v předplatných nebo skupinách prostředků, které ho potřebují, a nepotřebné uživatelské prostředí pro zbývající předplatná nebo skupiny prostředků. Tady jsou některé platné přiřaditelné obory:
  • "/subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e", "/subscriptions/e91d47c4-76f3-4271-a796-21b4ecfe3624": zpřístupňuje roli pro přiřazení ve dvou předplatných.
  • "/subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e": zpřístupňuje roli pro přiřazení v jednom předplatném.
  • "/subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e/resourceGroups/Network": zpřístupňuje roli pro přiřazení pouze ve skupině síťových prostředků. Definice vstupní role může obsahovat následující vlastnosti:
  1. NotActions: sada operací, které musí být vyloučeny z akcí, aby bylo možné určit efektivní akce pro vlastní roli. Pokud existuje konkrétní operace, ke které nechcete udělit přístup ve vlastní roli, je vhodné ji pomocí NotActions vyloučit, a nikoli určit všechny operace jiné než konkrétní operace v akcích.
  2. DataActions: sada datových operací, ke kterým vlastní role uděluje přístup.
  3. NotDataActions: sada operací, které musí být vyloučeny z DataActions, aby bylo možné určit efektivní akce dat pro vlastní roli. Pokud existuje konkrétní datová operace, ke které nechcete udělit přístup ve vlastní roli, je vhodné ji vyloučit pomocí NotDataActions, a nikoli zadat všechny operace jiné než konkrétní operace v akcích. POZNÁMKA: Pokud je uživateli přiřazena role, která určuje operaci v NotActions a také přiřazena jiná role uděluje přístup ke stejné operaci – uživatel bude moci tuto operaci provést. NotActions není pravidlo zamítnutí – jednoduše je to pohodlný způsob, jak vytvořit sadu povolených operací, když je potřeba vyloučit konkrétní operace. Následuje ukázková definice role JSON, kterou je možné zadat jako vstup { "Name": "Updated Role", "Description": "Can monitor all resources and start and restart virtual machines" (Může monitorovat všechny prostředky a spustit a restartovat virtuální počítače). "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-xxxxxxxx"] }

Příklady

Příklad 1: Vytvoření pomocí 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

Příklad 2: Vytvoření pomocí souboru JSON

New-AzRoleDefinition -InputFile C:\Temp\roleDefinition.json

Parametry

-DefaultProfile

Přihlašovací údaje, účet, tenant a předplatné používané ke komunikaci s Azure

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

-InputFile

Název souboru obsahující jednu definici role JSON.

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

-Role

Objekt definice role.

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

-SkipClientSideScopeValidation

Pokud je zadáno, přeskočte ověření oboru na straně klienta.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Vstupy

None

Výstupy

PSRoleDefinition

Poznámky

Klíčová slova: azure, azurerm, arm, resource, management, manager, resource, group, template, deployment