Anpassade roller i Azure
Viktigt
Att lägga till en hanteringsgrupp AssignableScopes i är för närvarande i förhandsversion.
Den här förhandsversionen tillhandahålls utan serviceavtal och rekommenderas inte för produktionsarbetsbelastningar. Vissa funktioner kanske inte stöds eller kan vara begränsade.
Mer information finns i Kompletterande villkor för användning av Microsoft Azure-förhandsversioner.
Om de inbyggda Azure-rollerna inte uppfyller organisationens specifika behov kan du skapa egna anpassade roller. Precis som med inbyggda roller kan du tilldela anpassade roller till användare, grupper och tjänstens huvudnamn i hanteringsgruppen (endast förhandsversion), prenumerations- och resursgruppomfång.
Anpassade roller kan delas mellan prenumerationer som litar på samma Azure AD-katalog. Det finns en gräns på 5 000 anpassade roller per katalog. (För Azure Tyskland Azure China 21Vianet är gränsen 2 000 anpassade roller.) Anpassade roller kan skapas med hjälp av Azure Portal, Azure PowerShell, Azure CLI eller REST API.
Steg för att skapa en anpassad roll
Här är de grundläggande stegen för att skapa en anpassad roll.
Bestäm vilka behörigheter du behöver.
När du skapar en anpassad roll måste du känna till vilka åtgärder som är tillgängliga för att definiera dina behörigheter. Normalt börjar du med en befintlig inbyggd roll och ändrar den sedan efter dina behov. Du lägger till åtgärderna i egenskaperna
ActionsNotActionseller för rolldefinitionen. Om du har dataåtgärder lägger du till dem iDataActionsegenskapernaNotDataActionseller .Mer information finns i nästa avsnitt Så här fastställer du de behörigheter som du behöver.
Bestäm hur du vill skapa den anpassade rollen.
Du kan skapa anpassade roller med Azure Portal, Azure PowerShell, Azure CLIeller REST API.
Skapa den anpassade rollen.
Det enklaste sättet är att använda Azure Portal. Anvisningar om hur du skapar en anpassad roll med hjälp av Azure Portal finns i Skapa eller uppdatera anpassade Azure-roller med hjälp av Azure Portal.
Testa den anpassade rollen.
När du har din anpassade roll måste du testa den för att kontrollera att den fungerar som förväntat. Om du behöver göra justeringar senare kan du uppdatera den anpassade rollen.
Så här fastställer du de behörigheter du behöver
Azure har tusentals behörigheter som du potentiellt kan inkludera i din anpassade roll. Här är några metoder som kan hjälpa dig att fastställa de behörigheter som du vill lägga till i din anpassade roll:
Titta på befintliga inbyggda roller.
Du kanske vill ändra en befintlig roll eller kombinera behörigheter som används i flera roller.
Visa en lista över de Azure-tjänster som du vill bevilja åtkomst till.
Fastställ de resursproviders som mappar till Azure-tjänsterna.
Azure-tjänster exponerar sina funktioner och behörigheter via resursproviders. Resursprovidern Microsoft.Compute tillhandahåller till exempel virtuella datorresurser och resursprovidern Microsoft.Billing tillhandahåller prenumerations- och faktureringsresurser. Att känna till resursproviders kan hjälpa dig att begränsa och fastställa vilka behörigheter du behöver för din anpassade roll.
När du skapar en anpassad roll med Azure Portal kan du också fastställa resursproviders genom att söka efter nyckelord. Den här sökfunktionen beskrivs i Skapa eller uppdatera anpassade Azure-roller med hjälp av Azure Portal.

Sök efter de tillgängliga behörigheterna för att hitta behörigheter som du vill inkludera.
När du skapar en anpassad roll med Azure Portal kan du söka efter behörigheter efter nyckelord. Du kan till exempel söka efter behörigheter för virtuell dator eller fakturering. Du kan också ladda ned alla behörigheter som en CSV-fil och sedan söka i den här filen. Den här sökfunktionen beskrivs i Skapa eller uppdatera anpassade Azure-roller med hjälp av Azure Portal.

Exempel på anpassad roll
Nedan visas hur en anpassad roll ser ut som den visas med hjälp Azure PowerShell JSON-format. Den här anpassade rollen kan användas för övervakning och omstart av virtuella datorer.
{
"Name": "Virtual Machine Operator",
"Id": "88888888-8888-8888-8888-888888888888",
"IsCustom": true,
"Description": "Can monitor and restart virtual machines.",
"Actions": [
"Microsoft.Storage/*/read",
"Microsoft.Network/*/read",
"Microsoft.Compute/*/read",
"Microsoft.Compute/virtualMachines/start/action",
"Microsoft.Compute/virtualMachines/restart/action",
"Microsoft.Authorization/*/read",
"Microsoft.ResourceHealth/availabilityStatuses/read",
"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Insights/alertRules/*",
"Microsoft.Insights/diagnosticSettings/*",
"Microsoft.Support/*"
],
"NotActions": [],
"DataActions": [],
"NotDataActions": [],
"AssignableScopes": [
"/subscriptions/{subscriptionId1}",
"/subscriptions/{subscriptionId2}",
"/providers/Microsoft.Management/managementGroups/{groupId1}"
]
}
Följande visar samma anpassade roll som visas med Azure CLI.
[
{
"assignableScopes": [
"/subscriptions/{subscriptionId1}",
"/subscriptions/{subscriptionId2}",
"/providers/Microsoft.Management/managementGroups/{groupId1}"
],
"description": "Can monitor and restart virtual machines.",
"id": "/subscriptions/{subscriptionId1}/providers/Microsoft.Authorization/roleDefinitions/88888888-8888-8888-8888-888888888888",
"name": "88888888-8888-8888-8888-888888888888",
"permissions": [
{
"actions": [
"Microsoft.Storage/*/read",
"Microsoft.Network/*/read",
"Microsoft.Compute/*/read",
"Microsoft.Compute/virtualMachines/start/action",
"Microsoft.Compute/virtualMachines/restart/action",
"Microsoft.Authorization/*/read",
"Microsoft.ResourceHealth/availabilityStatuses/read",
"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Insights/alertRules/*",
"Microsoft.Insights/diagnosticSettings/*",
"Microsoft.Support/*"
],
"dataActions": [],
"notActions": [],
"notDataActions": []
}
],
"roleName": "Virtual Machine Operator",
"roleType": "CustomRole",
"type": "Microsoft.Authorization/roleDefinitions"
}
]
Anpassade rollegenskaper
I följande tabell beskrivs vad egenskaperna för den anpassade rollen innebär.
| Egenskap | Krävs | Typ | Beskrivning |
|---|---|---|---|
NameroleName |
Ja | Sträng | Visningsnamnet för den anpassade rollen. Även om en rolldefinition är en resurs på hanteringsgrupps- eller prenumerationsnivå kan en rolldefinition användas i flera prenumerationer som delar samma Azure AD-katalog. Det här visningsnamnet måste vara unikt i omfånget för Azure AD-katalogen. Kan innehålla bokstäver, siffror, blanksteg och specialtecken. Det maximala antalet tecken är 128. |
Idname |
Ja | Sträng | Unikt ID för den anpassade rollen. För Azure PowerShell och Azure CLI genereras det här ID:t automatiskt när du skapar en ny roll. |
IsCustomroleType |
Ja | Sträng | Anger om det här är en anpassad roll. Ange till true eller CustomRole för anpassade roller. Ange till false BuiltInRole eller för inbyggda roller. |
Descriptiondescription |
Ja | Sträng | Beskrivning av den anpassade rollen. Kan innehålla bokstäver, siffror, blanksteg och specialtecken. Det maximala antalet tecken är 1 024. |
Actionsactions |
Ja | Sträng[] | En matris med strängar som anger de kontrollplansåtgärder som rollen tillåter att utföras. Mer information finns i Åtgärder. |
NotActionsnotActions |
Inga | Sträng[] | En matris med strängar som anger de kontrollplansåtgärder som undantas från den tillåtna Actions . Mer information finns i NotActions. |
DataActionsdataActions |
Inga | Sträng[] | En matris med strängar som anger de dataplansåtgärder som rollen tillåter att utföras på dina data i objektet. Om du skapar en anpassad roll med DataActions kan rollen inte tilldelas i hanteringsgruppens omfång. Mer information finns i DataActions. |
NotDataActionsnotDataActions |
Inga | Sträng[] | En matris med strängar som anger de dataplansåtgärder som undantas från den tillåtna DataActions . Mer information finns i NotDataActions. |
AssignableScopesassignableScopes |
Ja | Sträng[] | En matris med strängar som anger de omfång som den anpassade rollen är tillgänglig för tilldelning. Du kan bara definiera en hanteringsgrupp i AssignableScopes en anpassad roll. Att lägga till en hanteringsgrupp AssignableScopes i är för närvarande i förhandsversion. Mer information finns i AssignableScopes. |
Behörighetssträngar är icke-casekänsliga. När du skapar dina anpassade roller är konventionen att matcha det fall som du ser för behörigheter i Azure-resursprovideråtgärder.
Behörigheter med jokertecken
Actions, NotActions , och har stöd för DataActions NotDataActions jokertecken ( ) för att definiera * behörigheter. Ett jokertecken ( * ) utökar en behörighet till allt som matchar den åtgärdssträng som du anger. Anta till exempel att du vill lägga till alla behörigheter som är relaterade Azure Cost Management och exporter. Du kan lägga till alla dessa åtgärdssträngar:
Microsoft.CostManagement/exports/action
Microsoft.CostManagement/exports/read
Microsoft.CostManagement/exports/write
Microsoft.CostManagement/exports/delete
Microsoft.CostManagement/exports/run/action
I stället för att lägga till alla dessa strängar behöver du bara lägga till en jokerteckensträng. Till exempel motsvarar följande jokerteckenssträng de föregående fem strängarna. Detta omfattar även eventuella framtida exportbehörigheter som kan läggas till.
Microsoft.CostManagement/exports/*
Vem kan skapa, ta bort, uppdatera eller visa en anpassad roll
Precis som inbyggda roller anger AssignableScopes egenskapen de omfång som rollen är tillgänglig för tilldelning. Egenskapen AssignableScopes för en anpassad roll styr också vem som kan skapa, ta bort, uppdatera eller visa den anpassade rollen.
| Uppgift | Åtgärd | Beskrivning |
|---|---|---|
| Skapa/ta bort en anpassad roll | Microsoft.Authorization/ roleDefinitions/write |
Användare som beviljas den här åtgärden för alla anpassade roller kan skapa (eller ta AssignableScopes bort) anpassade roller för användning i dessa omfång. Det kan till exempel vara Ägare och Administratörer av användaråtkomst för hanteringsgrupper, prenumerationer och resursgrupper. |
| Uppdatera en anpassad roll | Microsoft.Authorization/ roleDefinitions/write |
Användare som beviljas den här åtgärden för alla AssignableScopes anpassade roller kan uppdatera anpassade roller i dessa omfång. Det kan till exempel vara Ägare och Administratörer av användaråtkomst för hanteringsgrupper, prenumerationer och resursgrupper. |
| Visa en anpassad roll | Microsoft.Authorization/ roleDefinitions/read |
Användare som beviljas den här åtgärden i ett omfång kan visa de anpassade roller som är tillgängliga för tilldelning i det omfånget. Alla inbyggda roller tillåter att anpassade roller är tillgängliga för tilldelning. |
Anpassade rollbegränsningar
I följande lista beskrivs gränserna för anpassade roller.
- Varje katalog kan ha upp till 5 000 anpassade roller.
- Azure Tyskland och Azure China 21Vianet kan ha upp till 2 000 anpassade roller för varje katalog.
- Du kan inte
AssignableScopesange rotomfånget ("/"). - Du kan inte använda jokertecken (
*) iAssignableScopes. Den här begränsningen med jokertecken hjälper till att säkerställa att en användare inte kan få åtkomst till ett omfång genom att uppdatera rolldefinitionen. - Du kan bara definiera en hanteringsgrupp i
AssignableScopesen anpassad roll. Att lägga till en hanteringsgruppAssignableScopesi är för närvarande i förhandsversion. - Du kan bara ha ett jokertecken i en åtgärdssträng.
- Anpassade roller med
DataActionskan inte tilldelas i hanteringsgruppomfånget. - Azure Resource Manager verifierar inte att hanteringsgruppen finns i rolldefinitionens tilldelningsbara omfång.
Mer information om anpassade roller och hanteringsgrupper finns i Vad är Azure-hanteringsgrupper?.
Indata- och utdataformat
Om du vill skapa en anpassad roll med hjälp av kommandoraden använder du vanligtvis JSON för att ange de egenskaper som du vill använda för den anpassade rollen. Beroende på vilka verktyg du använder ser indata- och utdataformaten lite annorlunda ut. I det här avsnittet visas indata- och utdataformaten beroende på verktyget.
Azure PowerShell
Om du vill skapa en anpassad roll Azure PowerShell måste du ange följande indata.
{
"Name": "",
"Description": "",
"Actions": [],
"NotActions": [],
"DataActions": [],
"NotDataActions": [],
"AssignableScopes": []
}
Om du vill uppdatera en anpassad Azure PowerShell måste du ange följande indata. Observera att Id egenskapen har lagts till.
{
"Name": "",
"Id": "",
"Description": "",
"Actions": [],
"NotActions": [],
"DataActions": [],
"NotDataActions": [],
"AssignableScopes": []
}
Nedan visas ett exempel på utdata när du visar en anpassad roll med hjälp Azure PowerShell och kommandot ConvertTo-Json.
{
"Name": "",
"Id": "",
"IsCustom": true,
"Description": "",
"Actions": [],
"NotActions": [],
"DataActions": [],
"NotDataActions": [],
"AssignableScopes": []
}
Azure CLI
Om du vill skapa eller uppdatera en anpassad roll med Hjälp av Azure CLI måste du ange följande indata. Det här formatet är samma format när du skapar en anpassad roll med Azure PowerShell.
{
"Name": "",
"Description": "",
"Actions": [],
"NotActions": [],
"DataActions": [],
"NotDataActions": [],
"AssignableScopes": []
}
Nedan visas ett exempel på utdata när du visar en anpassad roll med hjälp av Azure CLI.
[
{
"assignableScopes": [],
"description": "",
"id": "",
"name": "",
"permissions": [
{
"actions": [],
"dataActions": [],
"notActions": [],
"notDataActions": []
}
],
"roleName": "",
"roleType": "CustomRole",
"type": "Microsoft.Authorization/roleDefinitions"
}
]
REST-API
Om du vill skapa eller uppdatera en anpassad roll med REST API måste du ange följande indata. Det här formatet är samma format som genereras när du skapar en anpassad roll med hjälp av Azure Portal.
{
"properties": {
"roleName": "",
"description": "",
"assignableScopes": [],
"permissions": [
{
"actions": [],
"notActions": [],
"dataActions": [],
"notDataActions": []
}
]
}
}
Nedan visas ett exempel på utdata när du visar en anpassad roll med hjälp av REST API.
{
"properties": {
"roleName": "",
"type": "CustomRole",
"description": "",
"assignableScopes": [],
"permissions": [
{
"actions": [],
"notActions": [],
"dataActions": [],
"notDataActions": []
}
],
"createdOn": "",
"updatedOn": "",
"createdBy": "",
"updatedBy": ""
},
"id": "",
"type": "Microsoft.Authorization/roleDefinitions",
"name": ""
}