Skapa anpassade roller för rollbaserad åtkomstkontrollCreate custom roles for Azure Role-Based Access Control

Skapa en anpassad roll i rollbaserad åtkomstkontroll (RBAC) om ingen av de inbyggda rollerna uppfyller dina specifika behov.Create a custom role in Azure Role-Based Access Control (RBAC) if none of the built-in roles meet your specific access needs. Anpassade roller kan skapas med Azure PowerShell, Azure-kommandoradsgränssnittet (CLI) och REST API.Custom roles can be created using Azure PowerShell, Azure Command-Line Interface (CLI), and the REST API. Du kan tilldela anpassade roller till användare, grupper och program på prenumerationen, resursgruppen och resursen omfattningar precis som inbyggda roller.Just like built-in roles, you can assign custom roles to users, groups, and applications at subscription, resource group, and resource scopes. Anpassade roller lagras i Azure AD-klient och kan delas mellan prenumerationer.Custom roles are stored in an Azure AD tenant and can be shared across subscriptions.

Varje klient kan skapa upp till 2000 anpassade roller.Each tenant can create up to 2000 custom roles.

I följande exempel visas en anpassad roll för övervakning och starta om virtuella datorer:The following example shows a custom role for monitoring and restarting virtual machines:

{
  "Name": "Virtual Machine Operator",
  "Id": "cadb4a5a-4e7a-47be-84db-05cad13b6769",
  "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.Resources/subscriptions/resourceGroups/read",
    "Microsoft.Insights/alertRules/*",
    "Microsoft.Insights/diagnosticSettings/*",
    "Microsoft.Support/*"
  ],
  "NotActions": [

  ],
  "AssignableScopes": [
    "/subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e",
    "/subscriptions/e91d47c4-76f3-4271-a796-21b4ecfe3624",
    "/subscriptions/34370e90-ac4a-4bf9-821f-85eeedeae1a2"
  ]
}

ÅtgärderActions

Den åtgärder -egenskapen för en anpassad roll anger Azure operationer som rollen ger åtkomst.The Actions property of a custom role specifies the Azure operations to which the role grants access. Det är en samling med åtgärden strängar som identifierar skyddbara drift av Azure-resursprovidrar.It is a collection of operation strings that identify securable operations of Azure resource providers. Åtgärden strängar följa formatet för Microsoft.<ProviderName>/<ChildResourceType>/<action>.Operation strings follow the format of Microsoft.<ProviderName>/<ChildResourceType>/<action>. Åtgärden strängar som innehåller jokertecken (*) bevilja åtkomst till alla åtgärder som motsvarar den åtgärd-strängen.Operation strings that contain wildcards (*) grant access to all operations that match the operation string. Exempel:For instance:

  • */readger åtkomst till Läs-och skrivåtgärder för alla typer av resurser för alla Azure-resurs-providers.*/read grants access to read operations for all resource types of all Azure resource providers.
  • Microsoft.Compute/*ger åtkomst till alla åtgärder för alla typer av resurser i Microsoft.Compute-resursprovidern.Microsoft.Compute/* grants access to all operations for all resource types in the Microsoft.Compute resource provider.
  • Microsoft.Network/*/readger åtkomst till Läs-och skrivåtgärder för alla typer av resurser i resursen Microsoft.Network-providern på Azure.Microsoft.Network/*/read grants access to read operations for all resource types in the Microsoft.Network resource provider of Azure.
  • Microsoft.Compute/virtualMachines/*ger åtkomst till alla åtgärder för virtuella datorer och dess underordnade resurstyper.Microsoft.Compute/virtualMachines/* grants access to all operations of virtual machines and its child resource types.
  • Microsoft.Web/sites/restart/Actionger åtkomst till att starta om webbplatser.Microsoft.Web/sites/restart/Action grants access to restart websites.

Använd Get-AzureRmProviderOperation (i PowerShell) eller azure provider operations show (i Azure CLI) till Liståtgärder över providers som Azure-resurs.Use Get-AzureRmProviderOperation (in PowerShell) or azure provider operations show (in Azure CLI) to list operations of Azure resource providers. Du kan också använda dessa kommandon för att verifiera att en sträng för åtgärden är giltig och att expandera jokertecken åtgärden strängar.You may also use these commands to verify that an operation string is valid, and to expand wildcard operation strings.

Get-AzureRMProviderOperation Microsoft.Compute/virtualMachines/*/action | FT Operation, OperationName

Get-AzureRMProviderOperation Microsoft.Network/*

Skärmbild av PowerShell - Get-AzureRMProviderOperation

azure provider operations show "Microsoft.Compute/virtualMachines/*/action" --js on | jq '.[] | .operation'

azure provider operations show "Microsoft.Network/*"

<span data-ttu-id="1b058-124">Azure CLI skärmbild - azure provider operations visa ”Microsoft.Compute/virtualMachines/ * /Action”</span><span class="sxs-lookup"><span data-stu-id="1b058-124">Azure CLI screenshot - azure provider operations show "Microsoft.Compute/virtualMachines/*/action"</span></span>

NotActionsNotActions

Använd den NotActions egenskapen om en uppsättning åtgärder som du vill tillåta definieras enklare genom att utesluta vissa åtgärder.Use the NotActions property if the set of operations that you wish to allow is more easily defined by excluding restricted operations. Åtkomst av en anpassad roll beräknas genom att subtrahera den NotActions åtgärder från den åtgärder åtgärder.The access granted by a custom role is computed by subtracting the NotActions operations from the Actions operations.

Anteckning

Om en användare har tilldelats en roll som inte omfattar en åtgärd i NotActions, och har tilldelats en andra roll som ger åtkomst till samma åtgärd som användaren tillåts att utföra åtgärden.If a user is assigned a role that excludes an operation in NotActions, and is assigned a second role that grants access to the same operation, the user is allowed to perform that operation. NotActions är inte en neka regel – det är ett bekvämt sätt att skapa en uppsättning tillåtna åtgärder när specifika åtgärder måste exkluderas.NotActions is not a deny rule – it is simply a convenient way to create a set of allowed operations when specific operations need to be excluded.

AssignableScopesAssignableScopes

Den AssignableScopes -egenskapen för den anpassade rollen som anger scope (prenumerationer, resursgrupper och resurser) för den anpassade rollen som är tillgängliga för tilldelning.The AssignableScopes property of the custom role specifies the scopes (subscriptions, resource groups, or resources) within which the custom role is available for assignment. Du kan se den anpassade rollen som tillgängliga för tilldelning i prenumerationer eller resursgrupper som kräver det och inte skapar oreda användarupplevelsen för resten av prenumerationer eller resursgrupper.You can make the custom role available for assignment in only the subscriptions or resource groups that require it, and not clutter user experience for the rest of the subscriptions or resource groups.

Exempel på giltiga kan tilldelas omfång:Examples of valid assignable scopes include:

  • ”/ subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e”, ”/ subscriptions/e91d47c4-76f3-4271-a796-21b4ecfe3624” - gör rollen tillgängliga för tilldelning i två prenumerationer.“/subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e”, “/subscriptions/e91d47c4-76f3-4271-a796-21b4ecfe3624” - makes the role available for assignment in two subscriptions.
  • ”/ subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e” - gör rollen tillgängliga för tilldelning i en enda prenumeration.“/subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e” - makes the role available for assignment in a single subscription.
  • ”/ prenumerationer/c276fc76-9cd4-44c9-99a7-4fd71546436e/resursgrupper/nätverk” - tillgängliggör rollen för tilldelning i resursgruppen nätverk.“/subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e/resourceGroups/Network” - makes the role available for assignment only in the Network resource group.

Anteckning

Du måste använda minst en prenumeration, resursgrupp eller resurs-ID.You must use at least one subscription, resource group, or resource ID.

Anpassade roller åtkomstkontrollCustom roles access control

Den AssignableScopes -egenskapen för den anpassade rollen som också styr som kan visa, ändra och ta bort rollen.The AssignableScopes property of the custom role also controls who can view, modify, and delete the role.

  • Vem som kan skapa en anpassad roll?Who can create a custom role? Ägare (och administratörer för användare) för prenumerationer, resursgrupper och resurser kan skapa anpassade roller för användning i dessa scope.Owners (and User Access Administrators) of subscriptions, resource groups, and resources can create custom roles for use in those scopes. Användaren som skapar rollen måste kunna utföra Microsoft.Authorization/roleDefinition/write igen på alla de AssignableScopes av rollen.The user creating the role needs to be able to perform Microsoft.Authorization/roleDefinition/write operation on all the AssignableScopes of the role.
  • Vem som kan ändra en anpassad roll?Who can modify a custom role? Ägare (och administratörer för användare) för prenumerationer, resursgrupper och resurser kan ändra anpassade roller i dessa scope.Owners (and User Access Administrators) of subscriptions, resource groups, and resources can modify custom roles in those scopes. Användarna behöver för att kunna utföra den Microsoft.Authorization/roleDefinition/write igen på alla de AssignableScopes av en anpassad roll.Users need to be able to perform the Microsoft.Authorization/roleDefinition/write operation on all the AssignableScopes of a custom role.
  • Vem som kan visa anpassade roller?Who can view custom roles? Alla inbyggda roller i Azure RBAC Tillåt visning av roller som är tillgängliga för tilldelning.All built-in roles in Azure RBAC allow viewing of roles that are available for assignment. Användare som kan utföra den Microsoft.Authorization/roleDefinition/read åtgärden på ett scope kan visa RBAC-roller som är tillgängliga för tilldelning i detta scope.Users who can perform the Microsoft.Authorization/roleDefinition/read operation at a scope can view the RBAC roles that are available for assignment at that scope.

Se ävenSee also