Zelfstudie: Een aangepaste Azure-rol maken met behulp van Azure PowerShell
Als de ingebouwde rollen van Azure niet voldoen aan de specifieke behoeften van uw organisatie, kunt u uw eigen aangepaste rollen maken. Voor deze zelfstudie gaat u met behulp van Azure PowerShell een aangepaste rol maken met de naam Reader Support Tickets. Met de aangepaste rol kan de gebruiker alles in het besturingsvlak van een abonnement bekijken en ook ondersteuningstickets openen.
In deze zelfstudie leert u het volgende:
- Een aangepaste rol maken
- Aangepaste rollen opvragen
- Een aangepaste rol bijwerken
- Een aangepaste rol verwijderen
Als u geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.
Notitie
Het wordt aanbevolen de Azure Az PowerShell-module te gebruiken om te communiceren met Azure. Zie Azure PowerShell installeren om aan de slag te gaan. Raadpleeg Azure PowerShell migreren van AzureRM naar Az om te leren hoe u naar de Azure PowerShell-module migreert.
Vereisten
Voor het voltooien van deze zelfstudie hebt u het volgende nodig:
- Machtigingen voor het maken van aangepaste rollen, zoals gebruikerstoegang Beheer istrator
- Azure Cloud Shell of Azure PowerShell
Aanmelden bij Azure PowerShell
Meld u aan bij Azure PowerShell.
Een aangepaste rol maken
De eenvoudigste manier om een aangepaste rol te maken, is door een ingebouwde rol als uitgangspunt te nemen, deze te bewerken en zo een nieuwe rol te maken.
Gebruik in PowerShell de opdracht Get-AzProviderOperation om de lijst met bewerkingen voor de Microsoft.Support-resourceprovider op te vragen. Het is handig om te weten welke bewerkingen er beschikbaar zijn voor het maken van machtigingen. U kunt ook in Bewerkingen van Azure-resourceprovider een overzicht zien van alle bewerkingen.
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...
Gebruik de opdracht Get-AzRoleDefinition om de rol Lezer uit te voeren in de JSON-indeling.
Get-AzRoleDefinition -Name "Reader" | ConvertTo-Json | Out-File C:\CustomRoles\ReaderSupportRole.json
Open het bestand ReaderSupportRole.json in een teksteditor.
Hieronder ziet u de JSON-uitvoer. Zie Aangepaste Azure-rollen voor informatie over de verschillende eigenschappen.
{ "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": [ "/" ] }
Bewerk het JSON-bestand om de
"Microsoft.Support/*"
actie toe te voegen aan deActions
eigenschap. Zorg ervoor dat u een komma opneemt na de leesactie. Deze actie stelt de gebruiker in staat om ondersteuningstickets aan te maken.Vraag de id van uw abonnement op met de opdracht Get-AzSubscription.
Get-AzSubscription
Voeg in
AssignableScopes
uw abonnements-id toe met de volgende indeling:"/subscriptions/00000000-0000-0000-0000-000000000000"
U moet expliciete abonnement-id's toevoegen, anders is het niet mogelijk om de rol in uw abonnement te importeren.
Verwijder de regel met de eigenschap
Id
en wijzig de eigenschapIsCustom
intrue
.Wijzig de eigenschappen
Name
enDescription
in 'Reader Support Tickets' en 'View everything in the subscription and also open support tickets'.Uw JSON-bestand moet er nu zo uitzien:
{ "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" ] }
Gebruik voor het maken van de nieuwe aangepaste rol de opdracht New-AzRoleDefinition en geef het JSON-definitiebestand voor de rol op.
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}
De nieuwe aangepaste rol is nu beschikbaar in Azure Portal en kan worden toegewezen aan gebruikers, groepen of service-principals, net als ingebouwde rollen.
Aangepaste rollen opvragen
Gebruik de opdracht Get-AzRoleDefinition om alle aangepaste rollen weer te geven.
Get-AzRoleDefinition | ? {$_.IsCustom -eq $true} | FT Name, IsCustom
Name IsCustom ---- -------- Reader Support Tickets True
U kunt de aangepaste rol ook zien in Azure Portal.
Een aangepaste rol bijwerken
Als u de aangepaste rol wilt bijwerken, kunt u het JSON-bestand bijwerken of het object PSRoleDefinition
gebruiken.
Als u het JSON-bestand wilt bijwerken, gebruikt u de opdracht Get-AzRoleDefinition om de aangepaste rol uit te voeren in de JSON-indeling.
Get-AzRoleDefinition -Name "Reader Support Tickets" | ConvertTo-Json | Out-File C:\CustomRoles\ReaderSupportRole2.json
Open het bestand in een editor.
Voeg
Actions
de actie toe om resourcegroepimplementaties"Microsoft.Resources/deployments/*"
te maken en te beheren.Het bijgewerkte JSON-bestand moet er nu zo uitzien:
{ "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" ] }
Als u de aangepaste rol wilt bijwerken, gebruikt u de opdracht Set-AzRoleDefinition en geeft u het bijgewerkte JSON-bestand op.
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}
Als u het object
PSRoleDefintion
wilt gebruiken om de aangepaste rol bij te werken, gebruikt u eerst de opdracht Get-AzRoleDefinition om de rol op te vragen.$role = Get-AzRoleDefinition "Reader Support Tickets"
Roep de
Add
methode aan om de actie toe te voegen om diagnostische instellingen te lezen.$role.Actions.Add("Microsoft.Insights/diagnosticSettings/*/read")
Gebruik Set-AzRoleDefinition om de rol bij te werken.
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}
Een aangepaste rol verwijderen
Gebruik de opdracht Get-AzRoleDefinition om de id van de aangepaste rol op te vragen.
Get-AzRoleDefinition "Reader Support Tickets"
Gebruik de opdracht Remove-AzRoleDefinition en geef de id van de rol op om de aangepaste rol te verwijderen.
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"):
Wanneer u wordt gevraagd om de bewerking te bevestigen, typt u Y.