Kurz: Vytvoření vlastní role Azure pomocí Azure PowerShellu
Pokud předdefinované role Azure nevyhovují konkrétním potřebám vaší organizace, můžete vytvořit vlastní role. V tomto kurzu pomocí Azure PowerShellu vytvoříte vlastní roli Čtenář lístků podpory. Vlastní role umožňuje uživateli zobrazit vše v řídicí rovině předplatného a také otevřít lístky podpory.
V tomto kurzu se naučíte:
- Vytvoření vlastní role
- Výpis vlastních rolí
- Aktualizace vlastní role
- Odstranění vlastní role
Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.
Poznámka:
Při práci s Azure doporučujeme používat modul Azure Az PowerShellu. Pokud chcete začít, přečtěte si téma Instalace Azure PowerShellu. Informace o tom, jak migrovat na modul Az PowerShell, najdete v tématu Migrace Azure PowerShellu z AzureRM na Az.
Požadavky
Pro absolvování tohoto kurzu potřebujete:
- Oprávnění k vytváření vlastních rolí, jako je uživatelský přístup Správa istrator
- Azure Cloud Shell nebo Azure PowerShell
Přihlášení k Azure PowerShellu
Přihlaste se k Azure PowerShellu.
Vytvoření vlastní role
Nejjednodušší způsob, jak vytvořit vlastní roli, je začít s předdefinovanou rolí, upravit ji a pak vytvořit novou roli.
V PowerShellu pomocí příkazu Get-AzProviderOperation získejte seznam operací pro poskytovatele prostředků Microsoft.Support. Je užitečné znát operace, které máte k dispozici k vytváření oprávnění. Můžete také zobrazit seznam všech operací v operacích poskytovatele prostředků Azure.
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...
K výstupu role Čtenář ve formátu JSON použijte příkaz Get-AzRoleDefinition.
Get-AzRoleDefinition -Name "Reader" | ConvertTo-Json | Out-File C:\CustomRoles\ReaderSupportRole.json
V editoru otevřete soubor ReaderSupportRole.json.
Následuje ukázka výstupu JSON. Informace o různých vlastnostech najdete v tématu Vlastní role Azure.
{ "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": [ "/" ] }
Upravte soubor JSON a přidejte
"Microsoft.Support/*"
akci doActions
vlastnosti. Nezapomeňte za akci čtení zahrnout čárku. Tato akce umožní uživateli vytvářet lístky podpory.Pomocí příkazu Get-AzSubscription získejte ID vašeho předplatného.
Get-AzSubscription
Do vlastnosti
AssignableScopes
přidejte ID vašeho předplatného v následujícím formátu:"/subscriptions/00000000-0000-0000-0000-000000000000"
.Musíte přidat explicitní ID předplatných, jinak tuto roli nebudete moct importovat do svého předplatného.
Odstraňte řádek vlastnosti
Id
a změňte vlastnostIsCustom
na hodnotutrue
.Změňte vlastnost
Name
na Čtenář lístků podpory a vlastnostDescription
na Zobrazení všeho v předplatném a také otevírání lístků podpory.Váš soubor JSON by měl vypadat následovně:
{ "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" ] }
Pokud chcete vytvořit novou vlastní roli, použijte příkaz New-AzRoleDefinition a zadejte definiční soubor role JSON.
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}
Nová vlastní role je teď k dispozici na webu Azure Portal a můžete ji přiřadit uživatelům, skupinám nebo instančním objektům stejně jako předdefinované role.
Výpis vlastních rolí
Pokud chcete zobrazit seznam všech vlastních rolí, použijte příkaz Get-AzRoleDefinition .
Get-AzRoleDefinition | ? {$_.IsCustom -eq $true} | FT Name, IsCustom
Name IsCustom ---- -------- Reader Support Tickets True
Vlastní roli můžete zobrazit také na webu Azure Portal.
Aktualizace vlastní role
Pokud chcete aktualizovat vlastní roli, můžete aktualizovat soubor JSON nebo použít objekt PSRoleDefinition
.
Pokud chcete aktualizovat soubor JSON, použijte příkaz Get-AzRoleDefinition k výstupu vlastní role ve formátu JSON.
Get-AzRoleDefinition -Name "Reader Support Tickets" | ConvertTo-Json | Out-File C:\CustomRoles\ReaderSupportRole2.json
Otevřete soubor v editoru.
V
Actions
aplikaci přidejte akci pro vytvoření a správu nasazení"Microsoft.Resources/deployments/*"
skupin prostředků .Váš aktualizovaný soubor JSON by měl vypadat následovně:
{ "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" ] }
Pokud chcete aktualizovat vlastní roli, použijte příkaz Set-AzRoleDefinition a zadejte aktualizovaný soubor JSON.
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}
Pokud chcete objekt použít
PSRoleDefintion
k aktualizaci vlastní role, nejprve pomocí příkazu Get-AzRoleDefinition získejte roli.$role = Get-AzRoleDefinition "Reader Support Tickets"
Add
Voláním metody přidejte akci pro čtení nastavení diagnostiky.$role.Actions.Add("Microsoft.Insights/diagnosticSettings/*/read")
K aktualizaci role použijte Set-AzRoleDefinition.
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}
Odstranění vlastní role
Pomocí příkazu Get-AzRoleDefinition získejte ID vlastní role.
Get-AzRoleDefinition "Reader Support Tickets"
Použijte příkaz Remove-AzRoleDefinition a zadejte ID role k odstranění vlastní 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"):
Když se zobrazí výzva k potvrzení, zadejte Y.