Självstudie: Skapa en anpassad Azure-roll med Hjälp av Azure PowerShell
Om de inbyggda Azure-rollerna inte uppfyller organisationens specifika behov kan du skapa egna anpassade roller. För den här självstudien skapar du en anpassad roll med namnet Reader Support Tickets (Läsare av supportbegäranden) med hjälp av Azure PowerShell. Med den anpassade rollen kan användaren visa allt i kontrollplanet för en prenumeration och även öppna supportärenden.
I den här självstudien lär du dig att:
- Skapa en anpassad roll
- Lista anpassade roller
- Uppdatera en anpassad roll
- Ta bort en anpassad roll
Om du inte har någon Azure-prenumeration skapar du ett kostnadsfritt konto innan du börjar.
Kommentar
Vi rekommenderar att du använder Azure Az PowerShell-modulen för att interagera med Azure. Information om hur du kommer igång finns i Installera Azure PowerShell. Information om hur du migrerar till Az PowerShell-modulen finns i artikeln om att migrera Azure PowerShell från AzureRM till Az.
Förutsättningar
För att kunna genomföra den här kursen behöver du följande:
- Behörigheter för att skapa anpassade roller, till exempel administratör för användaråtkomst
- Azure Cloud Shell eller Azure PowerShell
Logga in till Azure PowerShell
Logga in till Azure PowerShell.
Skapa en anpassad roll
Det enklaste sättet att skapa en anpassad roll är att utgå från en inbyggd roll, redigera den och sedan skapa en ny roll.
I PowerShell använder du kommandot Get-AzProviderOperation för att hämta listan över åtgärder för resursprovidern Microsoft.Support. Det är bra att känna till de åtgärder som är tillgängliga för att skapa dina behörigheter. Du kan också se en lista över alla åtgärder i Azure-resursprovideråtgärder.
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...
Använd kommandot Get-AzRoleDefinition för att mata ut rollen Reader (Läsare) i JSON-format.
Get-AzRoleDefinition -Name "Reader" | ConvertTo-Json | Out-File C:\CustomRoles\ReaderSupportRole.json
Öppna filen ReaderSupportRole.json i en textredigerare.
Följande visar JSON-utdata. Information om de olika egenskaperna finns i Anpassade Azure-roller.
{ "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": [ "/" ] }
Redigera JSON-filen för att lägga till åtgärden
"Microsoft.Support/*"
iActions
egenskapen. Se till att inkludera ett kommatecken efter läsåtgärden. Den här åtgärden tillåter att användare skapar supportbegäranden.Hämta ID för din prenumeration med hjälp av kommandot Get-AzSubscription.
Get-AzSubscription
I
AssignableScopes
lägger du till ditt prenumerations-ID i följande format:"/subscriptions/00000000-0000-0000-0000-000000000000"
Du måste lägga till explicita prenumerations-ID:n; annars tillåts du inte importera rollen i din prenumeration.
Ta bort egenskapsraden
Id
och ändra egenskapenIsCustom
tilltrue
.Ändra egenskaperna
Name
ochDescription
till ”Reader Support Tickets” (Läsare av supportbegäranden) och ”View everything in the subscription and also open support tickets” (Visa allt i prenumerationen och även öppna supportbegäranden).Din JSON-fil ska se ut så här:
{ "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" ] }
För att skapa en ny anpassad roll använder du kommandot New-AzRoleDefinition och anger JSON-rolldefinitionsfilen.
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}
Den nya anpassade rollen är nu tillgänglig i Azure-portalen och kan tilldelas till användare, grupper eller tjänstens huvudnamn precis som inbyggda roller.
Lista anpassade roller
Om du vill lista alla dina anpassade roller använder du kommandot Get-AzRoleDefinition.
Get-AzRoleDefinition | ? {$_.IsCustom -eq $true} | FT Name, IsCustom
Name IsCustom ---- -------- Reader Support Tickets True
Du kan även visa den anpassade rollen i Azure-portalen.
Uppdatera en anpassad roll
Om du vill uppdatera den anpassade rollen kan du uppdatera JSON-filen eller använda objektet PSRoleDefinition
.
För att uppdatera JSON-filen använder du kommandot Get-AzRoleDefinition för att mata ut den anpassade rollen i JSON-format.
Get-AzRoleDefinition -Name "Reader Support Tickets" | ConvertTo-Json | Out-File C:\CustomRoles\ReaderSupportRole2.json
Öppna filen i en textredigerare.
I
Actions
lägger du till åtgärden för att skapa och hantera resursgruppsdistributioner"Microsoft.Resources/deployments/*"
.Din uppdaterade JSON-fil ska se ut så här:
{ "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" ] }
För att uppdatera den anpassade rollen använder du kommandot Set-AzRoleDefinition och anger den uppdaterade JSON-filen.
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}
Om du vill använda objektet
PSRoleDefintion
för att uppdatera din anpassade roll använder du först kommandot Get-AzRoleDefinition för att hämta rollen.$role = Get-AzRoleDefinition "Reader Support Tickets"
Add
Anropa metoden för att lägga till åtgärden för att läsa diagnostikinställningar.$role.Actions.Add("Microsoft.Insights/diagnosticSettings/*/read")
Använd kommandot Set-AzRoleDefinition för att uppdatera rollen.
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}
Ta bort en anpassad roll
Använd kommandot Get-AzRoleDefinition för att hämta ID för den anpassade rollen.
Get-AzRoleDefinition "Reader Support Tickets"
Använd kommandot Remove-AzRoleDefinition och ange roll-ID för att ta bort den anpassade rollen.
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"):
När du ombeds bekräfta skriver du Y.