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 beheergroep (alleen in preview), abonnements- en resourcegroepbereiken.
Aangepaste rollen kunnen worden gedeeld tussen abonnementen die dezelfde Azure AD tenant vertrouwen. Er is een limiet van 5000 aangepaste rollen per tenant. (Voor Azure China 21Vianet is de limiet 2000 aangepaste rollen.) Aangepaste rollen kunnen worden gemaakt met behulp van 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
Actions
eigenschappen ofNotActions
van de roldefinitie. Als u gegevensacties hebt, voegt u deze toe aan deDataActions
eigenschappen ofNotDataActions
.Zie de volgende sectie De benodigde machtigingen bepalen voor meer informatie.
Bepaal hoe u de aangepaste rol wilt maken.
U kunt aangepaste rollen maken met behulp van Azure Portal, Azure PowerShell, Azure CLI of de REST API.
Maak de aangepaste rol.
De eenvoudigste manier is om de Azure Portal te gebruiken. Zie Aangepaste Azure-rollen maken of bijwerken met behulp van de Azure Portal voor stappen voor het maken van een aangepaste rol met behulp van de Azure Portal.
Test de aangepaste rol.
Zodra u uw aangepaste rol hebt, moet u deze testen om te controleren of deze werkt zoals u verwacht. Als u later wijzigingen wilt 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 volgen enkele methoden die u kunnen helpen bij het bepalen van de machtigingen die u wilt toevoegen aan uw aangepaste rol:
Bekijk bestaande ingebouwde rollen.
Mogelijk wilt u een bestaande rol wijzigen of machtigingen combineren die in meerdere rollen worden gebruikt.
Vermeld de Azure-services waaraan u toegang wilt verlenen.
Bepaal de resourceproviders die zijn toegewezen aan de Azure-services.
Azure-services maken hun functionaliteit en machtigingen beschikbaar via resourceproviders. Bijvoorbeeld de Microsoft. De rekenresourceprovider levert virtuele machineresources en de Microsoft. De factureringsresourceprovider levert abonnements- en factureringsresources. Als u de resourceproviders kent, kunt u de machtigingen die u nodig hebt voor uw aangepaste rol beperken en bepalen.
Wanneer u een aangepaste rol maakt met behulp van de Azure Portal, kunt u ook de resourceproviders bepalen door te zoeken naar trefwoorden. Deze zoekfunctionaliteit wordt beschreven in Aangepaste Azure-rollen maken of bijwerken met behulp van de Azure Portal.
Zoek in de beschikbare machtigingen om machtigingen te vinden die u wilt opnemen.
Wanneer u een aangepaste rol maakt met behulp van de Azure Portal, kunt u zoeken naar machtigingen op trefwoord. U kunt bijvoorbeeld zoeken naar virtuele machines 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 of bijwerken met behulp van de Azure Portal.
Voorbeeld van aangepaste rol
Hieronder ziet u hoe een aangepaste rol eruitziet zoals weergegeven met behulp van 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 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 rol
In de volgende tabel wordt beschreven wat de aangepaste roleigenschappen betekenen.
Eigenschap | Vereist | Type | Beschrijving |
---|---|---|---|
Name roleName |
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 tenant delen. Deze weergavenaam moet uniek zijn in het bereik van de Azure AD-tenant. Kan letters, cijfers, spaties en speciale tekens bevatten. Het maximum aantal tekens is 512. |
Id name |
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. |
IsCustom roleType |
Ja | Tekenreeks | Geeft aan of dit een aangepaste rol is. Stel in op true of CustomRole voor aangepaste rollen. Stel in op false of BuiltInRole voor ingebouwde rollen. |
Description description |
Ja | Tekenreeks | De beschrijving van de aangepaste rol. Kan letters, cijfers, spaties en speciale tekens bevatten. Het maximum aantal tekens is 2048. |
Actions actions |
Ja | Tekenreeks[] | Een matrix met tekenreeksen die de besturingsvlakacties aangeeft die met de rol mogen worden uitgevoerd. Zie Acties voor meer informatie. |
NotActions notActions |
No | Tekenreeks[] | Een matrix met tekenreeksen die de besturingsvlakacties aangeeft die zijn uitgesloten van de toegestane Actions . Zie NotActions voor meer informatie. |
DataActions dataActions |
No | Tekenreeks[] | Een matrix met tekenreeksen die de gegevensvlakacties specificeert die met de rol kunnen worden uitgevoerd voor uw gegevens in dat object. Als u een aangepaste rol maakt met DataActions , kan die rol niet worden toegewezen binnen het bereik van de beheergroep. Zie DataActions voor meer informatie. |
NotDataActions notDataActions |
No | Tekenreeks[] | Een matrix met tekenreeksen die de gegevensvlakacties aangeeft die zijn uitgesloten van de toegestane DataActions . Zie NotDataActions voor meer informatie. |
AssignableScopes assignableScopes |
Ja | Tekenreeks[] | Een matrix met tekenreeksen die de bereiken aangeeft waarvoor de aangepaste rol beschikbaar is voor toewijzing. Maximum aantal AssignableScopes is 2000. Zie AssignableScopes voor meer informatie. |
Machtigingsreeksen zijn niet hoofdlettergevoelig. Wanneer u uw aangepaste rollen maakt, is de conventie dat deze overeenkomt met de case die u ziet voor machtigingen in bewerkingen van azure-resourceproviders.
Machtigingen voor jokertekens
Actions
, NotActions
, DataActions
en NotDataActions
ondersteunen jokertekens (*
) om machtigingen te definiëren. Een jokerteken (*
) breidt een machtiging uit tot alles wat overeenkomt met de actiereeks die u opgeeft. Stel dat u alle machtigingen met betrekking tot Azure Cost Management en exports wilt toevoegen. U kunt al deze actietekenreeksen 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 jokertekenreeks toevoegen. De volgende jokertekenreeks is bijvoorbeeld gelijk aan de vorige vijf tekenreeksen. Dit omvat ook toekomstige exportmachtigingen die mogelijk worden toegevoegd.
Microsoft.CostManagement/exports/*
Het is raadzaam om en DataActions
expliciet op te geven Actions
in plaats van het jokerteken (*
) te gebruiken. De aanvullende toegang en machtigingen die in de toekomst Actions
worden verleend of DataActions
kunnen ongewenst gedrag zijn met behulp van het jokerteken.
Wie kan een aangepaste rol maken, verwijderen, bijwerken of weergeven
Net als bij ingebouwde rollen geeft de AssignableScopes
eigenschap de bereiken aan die de rol beschikbaar is voor toewijzing. De AssignableScopes
eigenschap voor een aangepaste rol bepaalt ook wie de aangepaste rol kan maken, verwijderen, bijwerken of weergeven.
Taak | Actie | Beschrijving |
---|---|---|
Een aangepaste rol maken/verwijderen | Microsoft.Authorization/ roleDefinitions/write |
Gebruikers aan wie deze actie is toegewezen voor alle AssignableScopes aangepaste rollen, kunnen aangepaste rollen maken (of verwijderen) voor gebruik in deze bereiken. Bijvoorbeeld Eigenaren 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 AssignableScopes aangepaste rollen, kunnen aangepaste rollen in deze bereiken bijwerken. Bijvoorbeeld Eigenaren en Beheerders van gebruikerstoegang van beheergroepen, abonnementen en resourcegroepen. |
Een aangepaste rol weergeven | Microsoft.Authorization/ roleDefinitions/read |
Gebruikers aan wie deze actie in een bereik is toegewezen, 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. |
Roltoewijzingen zoeken om een aangepaste rol te verwijderen
Voordat u een aangepaste rol kunt verwijderen, moet u eventuele roltoewijzingen verwijderen die gebruikmaken van de aangepaste rol. Als u een aangepaste rol met roltoewijzingen probeert te verwijderen, krijgt u het bericht: There are existing role assignments referencing role (code: RoleDefinitionHasAssignments)
.
Hier volgen stappen om de roltoewijzingen te vinden voordat u een aangepaste rol verwijdert:
- De definitie van de aangepaste rol weergeven.
- Haal in de sectie AssignableScopes de beheergroepen, abonnementen en resourcegroepen op.
- Doorschrijf de
AssignableScopes
en vermeld de roltoewijzingen. - Verwijder de roltoewijzingen die gebruikmaken van de aangepaste rol.
- Verwijder de aangepaste rol.
Limieten van aangepaste rol
In de volgende lijst worden de limieten voor aangepaste rollen beschreven.
- Elke tenant kan maximaal 5000 aangepaste rollen hebben.
- Azure China 21Vianet kan maximaal 2000 aangepaste rollen voor elke tenant hebben.
- U kunt niet instellen
AssignableScopes
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
AssignableScopes
een aangepaste rol. Het toevoegen van een beheergroep aanAssignableScopes
is momenteel in de preview-fase. - U kunt slechts één jokerteken in een actiereeks hebben.
- Aangepaste rollen met
DataActions
kunnen niet worden toegewezen in het bereik van de beheergroep. - Azure Resource Manager valideert het bestaan van de beheergroep in de roldefinitie
AssignableScopes
niet.
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 gewenste 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 behulp van Azure PowerShell, moet u de volgende invoer opgeven.
{
"Name": "",
"Description": "",
"Actions": [],
"NotActions": [],
"DataActions": [],
"NotDataActions": [],
"AssignableScopes": []
}
Als u een aangepaste rol wilt bijwerken met Azure PowerShell, moet u de volgende invoer opgeven. Houd er rekening mee dat de Id
eigenschap is toegevoegd.
{
"Name": "",
"Id": "",
"Description": "",
"Actions": [],
"NotActions": [],
"DataActions": [],
"NotDataActions": [],
"AssignableScopes": []
}
Hieronder ziet u een voorbeeld van de uitvoer wanneer u een aangepaste rol weergeeft 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 opgeven. 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 weergeeft 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 de REST API, moet u de volgende invoer opgeven. 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 weergeeft 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": ""
}