Aangepaste Azure-rollen
Belangrijk
Het toevoegen van een beheergroep aan AssignableScopes is momenteel in de preview-fase.
Deze preview-versie wordt aangeboden zonder service level agreement en wordt niet aanbevolen voor productieworkloads. Misschien worden bepaalde functies niet ondersteund of zijn de mogelijkheden ervan beperkt.
Zie Supplemental Terms of Use for Microsoft Azure Previews (Aanvullende gebruiksvoorwaarden voor Microsoft Azure-previews) voor meer informatie.
Als de ingebouwde rollen van Azure niet voldoen aan de specifieke behoeften van uw organisatie, kunt u uw eigen aangepaste rollen maken. Net als bij ingebouwde rollen kunt u aangepaste rollen toewijzen aan gebruikers, groepen en service-principals in beheergroepen (alleen in preview), abonnementen en resourcegroepbereiken.
Aangepaste rollen kunnen worden gedeeld tussen abonnementen die dezelfde Azure AD-directory vertrouwen. Er geldt een limiet van 5000 aangepaste rollen per directory. (Voor Azure Duitsland en Azure China 21Vianet is de limiet 2000 aangepaste rollen.) Aangepaste rollen kunnen worden gemaakt met de Azure Portal, Azure PowerShell, Azure CLI of de REST API.
Stappen voor het maken van een aangepaste rol
Hier volgen de basisstappen voor het maken van een aangepaste rol.
Bepaal de machtigingen die u nodig hebt.
Wanneer u een aangepaste rol maakt, moet u weten welke acties beschikbaar zijn om uw machtigingen te definiëren. Normaal gesproken begint u met een bestaande ingebouwde rol en past u deze vervolgens aan uw behoeften aan. U voegt de acties toe aan de
Actionseigenschappen of van deNotActionsroldefinitie. Als u gegevensacties hebt, voegt u deze toe aan deDataActionseigenschappenNotDataActionsof .Zie de volgende sectie Bepalen welke machtigingen u nodig hebt voor meer informatie.
Bepaal hoe u de aangepaste rol wilt maken.
U kunt aangepaste rollen maken met Azure Portal, Azure PowerShell, Azure CLIof de REST API.
Maak de aangepaste rol.
De eenvoudigste manier is het gebruik van de Azure Portal. Zie Aangepaste Azure-rollen maken of bijwerken met behulp van de Azure Portal voor stappen voor het maken van een aangepaste Azure Portal.
Test de aangepaste rol.
Zodra u uw aangepaste rol hebt, moet u deze testen om te controleren of deze werkt zoals verwacht. Als u later wijzigingen moet aanbrengen, kunt u de aangepaste rol bijwerken.
Bepalen welke machtigingen u nodig hebt
Azure heeft duizenden machtigingen die u mogelijk kunt opnemen in uw aangepaste rol. Hier zijn enkele methoden die u kunnen helpen bij het bepalen van de machtigingen die u aan uw aangepaste rol wilt toevoegen:
Bekijk bestaande ingebouwde rollen.
Mogelijk wilt u een bestaande rol wijzigen of machtigingen combineren die in meerdere rollen worden gebruikt.
Geef de Azure-services weer die u toegang wilt verlenen.
Bepaal de resourceproviders die zijn toe te staan aan de Azure-services.
Azure-services stellen hun functionaliteit en machtigingen beschikbaar via resourceproviders. De resourceprovider Microsoft.Compute levert bijvoorbeeld virtuele-machineresources en de resourceprovider Microsoft.Billing levert abonnements- en factureringsresources. Als u de resourceproviders kent, kunt u de machtigingen bepalen die u nodig hebt voor uw aangepaste rol.
Wanneer u een aangepaste rol maakt met behulp van Azure Portal, kunt u ook de resourceproviders bepalen door te zoeken naar trefwoorden. Deze zoekfunctionaliteit wordt beschreven in Aangepaste Azure-rollen maken ofbijwerken met behulp van de Azure Portal .

Zoek in de beschikbare machtigingen naar de machtigingen die u wilt opnemen.
Wanneer u een aangepaste rol maakt met behulp van Azure Portal, kunt u zoeken naar machtigingen op trefwoord. U kunt bijvoorbeeld zoeken naar virtuele machine of factureringsmachtigingen. U kunt ook alle machtigingen downloaden als een CSV-bestand en vervolgens in dit bestand zoeken. Deze zoekfunctionaliteit wordt beschreven in Aangepaste Azure-rollen maken ofbijwerken met behulp van de Azure Portal .

Voorbeeld van aangepaste rol
Hieronder ziet u hoe een aangepaste rol eruitziet zoals wordt weergegeven met Azure PowerShell in JSON-indeling. Deze aangepaste rol kan worden gebruikt voor het bewaken en opnieuw opstarten van virtuele machines.
{
"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}"
]
}
Hieronder ziet u dezelfde aangepaste rol als die wordt weergegeven met behulp van 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"
}
]
Eigenschappen van aangepaste rollen
In de volgende tabel wordt beschreven wat de eigenschappen van de aangepaste rol betekenen.
| Eigenschap | Vereist | Type | Beschrijving |
|---|---|---|---|
NameroleName |
Ja | Tekenreeks | De weergavenaam van de aangepaste rol. Hoewel een roldefinitie een beheergroep of resource op abonnementsniveau is, kan een roldefinitie worden gebruikt in meerdere abonnementen die dezelfde Azure AD-directory delen. Deze weergavenaam moet uniek zijn binnen het bereik van de Azure AD-directory. Kan letters, cijfers, spaties en speciale tekens bevatten. Het maximumaantal tekens is 128. |
Idname |
Ja | Tekenreeks | De unieke id van de aangepaste rol. Voor Azure PowerShell en Azure CLI wordt deze id automatisch gegenereerd wanneer u een nieuwe rol maakt. |
IsCustomroleType |
Ja | Tekenreeks | Geeft aan of dit een aangepaste rol is. Stel in true op of voor aangepaste CustomRole rollen. Stel in false op BuiltInRole of voor ingebouwde rollen. |
Descriptiondescription |
Ja | Tekenreeks | De beschrijving van de aangepaste rol. Kan letters, cijfers, spaties en speciale tekens bevatten. Het maximum aantal tekens is 1024. |
Actionsactions |
Yes | Tekenreeks[] | Een matrix met tekenreeksen die de besturingsvlakacties specificeert die door de rol kunnen worden uitgevoerd. Zie Acties voor meer informatie. |
NotActionsnotActions |
No | Tekenreeks[] | Een matrix met tekenreeksen die de besturingsvlakacties specificeert die zijn uitgesloten van de toegestane Actions . Zie NotActions voor meer informatie. |
DataActionsdataActions |
No | Tekenreeks[] | Een matrix met tekenreeksen die de gegevensvlakacties specificeert die de rol toestaat om te worden uitgevoerd op uw gegevens in dat object. Als u een aangepaste rol maakt met , kan die rol DataActions niet worden toegewezen in het bereik van de beheergroep. Zie DataActions voor meer informatie. |
NotDataActionsnotDataActions |
No | Tekenreeks[] | Een matrix met tekenreeksen die de gegevensvlakacties specificeert die zijn uitgesloten van de toegestane DataActions . Zie NotDataActions voor meer informatie. |
AssignableScopesassignableScopes |
Yes | Tekenreeks[] | Een matrix met tekenreeksen die de scopes specificeert die de aangepaste rol beschikbaar is voor toewijzing. U kunt slechts één beheergroep in AssignableScopes van een aangepaste rol definiëren. Het toevoegen van een beheergroep aan AssignableScopes is momenteel in de preview-fase. Zie AssignableScopes voor meer informatie. |
Machtigingsreeksen zijn niet-gevoelig. Wanneer u uw aangepaste rollen maakt, is de conventie om overeen te komen met de case die u ziet voor machtigingen in bewerkingen van azure-resourceproviders.
Machtigingen voor jokertekens
Actions, NotActions , en ondersteunen DataActions NotDataActions jokertekens ( * ) om machtigingen te definiëren. Met een jokerteken ( * ) wordt een machtiging uitgebreid naar alles dat overeenkomt met de actietekenreeks die u opneemt. Stel bijvoorbeeld dat u alle machtigingen wilt toevoegen die betrekking hebben op Azure Cost Management export. U kunt al deze actiereeksen toevoegen:
Microsoft.CostManagement/exports/action
Microsoft.CostManagement/exports/read
Microsoft.CostManagement/exports/write
Microsoft.CostManagement/exports/delete
Microsoft.CostManagement/exports/run/action
In plaats van al deze tekenreeksen toe te voegen, kunt u gewoon een tekenreeks met jokertekens toevoegen. De volgende jokertekenreeks is bijvoorbeeld gelijk aan de vorige vijf tekenreeksen. Dit omvat ook eventuele toekomstige exportmachtigingen die kunnen worden toegevoegd.
Microsoft.CostManagement/exports/*
Wie kunt een aangepaste rol maken, verwijderen, bijwerken of weergeven
Net als ingebouwde rollen geeft de eigenschap de scopes aan AssignableScopes dat de rol beschikbaar is voor toewijzing. De eigenschap voor een aangepaste rol bepaalt ook wie de aangepaste rol kan AssignableScopes maken, verwijderen, bijwerken of weergeven.
| Taak | Actie | Beschrijving |
|---|---|---|
| Een aangepaste rol maken/verwijderen | Microsoft.Authorization/ roleDefinitions/write |
Gebruikers aan wie deze actie is verleend voor alle aangepaste rollen, kunnen aangepaste rollen maken AssignableScopes (of verwijderen) voor gebruik in deze scopes. Bijvoorbeeld eigenaars en beheerders van gebruikerstoegang van beheergroepen, abonnementen en resourcegroepen. |
| Een aangepaste rol bijwerken | Microsoft.Authorization/ roleDefinitions/write |
Gebruikers aan wie deze actie is verleend voor alle aangepaste rollen, kunnen AssignableScopes aangepaste rollen in deze scopes bijwerken. Bijvoorbeeld eigenaars en beheerders van gebruikerstoegang van beheergroepen, abonnementen en resourcegroepen. |
| Een aangepaste rol weergeven | Microsoft.Authorization/ roleDefinitions/read |
Gebruikers aan deze actie voor een bereik kunnen de aangepaste rollen bekijken die beschikbaar zijn voor toewijzing in dat bereik. Bij alle ingebouwde rollen is toegestaan dat aangepaste rollen beschikbaar zijn voor toewijzing. |
Aangepaste rollimieten
In de volgende lijst worden de limieten voor aangepaste rollen beschreven.
- Elke directory kan maximaal 5000 aangepaste rollen hebben.
- Azure Duitsland en Azure China 21Vianet maximaal 2000 aangepaste rollen voor elke directory.
- U kunt niet
AssignableScopesinstellen op het hoofdbereik ("/"). - U kunt geen jokertekens (
*) gebruiken inAssignableScopes. Deze beperking met jokertekens zorgt ervoor dat een gebruiker mogelijk geen toegang kan krijgen tot een bereik door de roldefinitie bij te werken. - U kunt slechts één beheergroep definiëren in
AssignableScopesvan een aangepaste rol. Het toevoegen van een beheergroep aanAssignableScopesis momenteel in de preview-fase. - U kunt slechts één jokerteken in een actietekenreeks hebben.
- Aangepaste rollen met
DataActionskunnen niet worden toegewezen in het bereik van de beheergroep. - Azure Resource Manager controleert niet of de beheergroep bestaat in het toewijsbare bereik van de roldefinitie.
Zie Wat zijn Azure-beheergroepen? voor meer informatie over aangepaste rollen en beheergroepen.
Invoer- en uitvoerindelingen
Als u een aangepaste rol wilt maken met behulp van de opdrachtregel, gebruikt u doorgaans JSON om de gepersonaliseerde eigenschappen voor de aangepaste rol op te geven. Afhankelijk van de hulpprogramma's die u gebruikt, zien de invoer- en uitvoerindelingen er iets anders uit. In deze sectie worden de invoer- en uitvoerindelingen vermeld, afhankelijk van het hulpprogramma.
Azure PowerShell
Als u een aangepaste rol wilt maken met Azure PowerShell, moet u de volgende invoer invoeren.
{
"Name": "",
"Description": "",
"Actions": [],
"NotActions": [],
"DataActions": [],
"NotDataActions": [],
"AssignableScopes": []
}
Als u een aangepaste rol wilt bijwerken Azure PowerShell, moet u de volgende invoer invoeren. Houd er rekening mee Id dat de eigenschap is toegevoegd.
{
"Name": "",
"Id": "",
"Description": "",
"Actions": [],
"NotActions": [],
"DataActions": [],
"NotDataActions": [],
"AssignableScopes": []
}
Hieronder ziet u een voorbeeld van de uitvoer wanneer u een aangepaste rol vermeldt met behulp van Azure PowerShell en de opdracht ConvertTo-Json.
{
"Name": "",
"Id": "",
"IsCustom": true,
"Description": "",
"Actions": [],
"NotActions": [],
"DataActions": [],
"NotDataActions": [],
"AssignableScopes": []
}
Azure CLI
Als u een aangepaste rol wilt maken of bijwerken met behulp van Azure CLI, moet u de volgende invoer invoeren. Deze indeling is dezelfde indeling wanneer u een aangepaste rol maakt met behulp van Azure PowerShell.
{
"Name": "",
"Description": "",
"Actions": [],
"NotActions": [],
"DataActions": [],
"NotDataActions": [],
"AssignableScopes": []
}
Hieronder ziet u een voorbeeld van de uitvoer wanneer u een aangepaste rol vermeldt met behulp van Azure CLI.
[
{
"assignableScopes": [],
"description": "",
"id": "",
"name": "",
"permissions": [
{
"actions": [],
"dataActions": [],
"notActions": [],
"notDataActions": []
}
],
"roleName": "",
"roleType": "CustomRole",
"type": "Microsoft.Authorization/roleDefinitions"
}
]
REST-API
Als u een aangepaste rol wilt maken of bijwerken met behulp van REST API, moet u de volgende invoer invoeren. Deze indeling is dezelfde indeling die wordt gegenereerd wanneer u een aangepaste rol maakt met behulp van de Azure Portal.
{
"properties": {
"roleName": "",
"description": "",
"assignableScopes": [],
"permissions": [
{
"actions": [],
"notActions": [],
"dataActions": [],
"notDataActions": []
}
]
}
}
Hieronder ziet u een voorbeeld van de uitvoer wanneer u een aangepaste rol vermeldt met behulp van de REST API.
{
"properties": {
"roleName": "",
"type": "CustomRole",
"description": "",
"assignableScopes": [],
"permissions": [
{
"actions": [],
"notActions": [],
"dataActions": [],
"notDataActions": []
}
],
"createdOn": "",
"updatedOn": "",
"createdBy": "",
"updatedBy": ""
},
"id": "",
"type": "Microsoft.Authorization/roleDefinitions",
"name": ""
}