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 objekt definice základní role. Potom podle potřeby upravte jeho vlastnosti. Nakonec pomocí tohoto příkazu vytvořte vlastní roli pomocí definice role.
Syntaxe
New-AzRoleDefinition
[-InputFile] <String>
[-SkipClientSideScopeValidation]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
New-AzRoleDefinition
[-Role] <PSRoleDefinition>
[-SkipClientSideScopeValidation]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
Description
Rutina New-AzRoleDefinition vytvoří vlastní roli v Azure Role-Based Řízení přístupu. Zadejte definici role jako vstup příkazu jako soubor JSON nebo OBJEKT PSRoleDefinition. Definice vstupní role musí obsahovat následující vlastnosti:
- DisplayName: název vlastní role
- Popis: Stručný popis role, která shrnuje přístup, který role uděluje.
- Akce: sada operací, ke kterým vlastní role uděluje přístup. Pomocí 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ů.
- 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:
- 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.
- DataActions: sada datových operací, ke kterým vlastní role uděluje přístup.
- 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
Typ: | IAzureContextContainer |
Aliasy: | AzContext, AzureRmContext, AzureCredential |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-InputFile
Název souboru obsahující jednu definici role JSON.
Typ: | String |
Position: | 0 |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Role
Objekt definice role.
Typ: | PSRoleDefinition |
Position: | 0 |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-SkipClientSideScopeValidation
Pokud je zadáno, přeskočte ověření oboru na straně klienta.
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
Vstupy
None
Výstupy
Poznámky
Klíčová slova: azure, azurerm, arm, resource, management, manager, resource, group, template, deployment
Související odkazy
Azure PowerShell