Oktatóanyag: Egyéni Azure-szerepkör létrehozása az Azure PowerShell használatával
Ha az Azure beépített szerepkörei nem felelnek meg a szervezet adott igényeinek, létrehozhat saját egyéni szerepköröket. Ebben az oktatóanyagban egy Reader Support Tickets (Olvasó – Támogatási jegyek) nevű egyéni szerepkört fog létrehozni az Azure PowerShell-lel. Az egyéni szerepkör lehetővé teszi, hogy a felhasználó mindent megtekintsen az előfizetés vezérlősíkjában, és támogatási jegyeket is nyisson meg.
Ebben az oktatóanyagban az alábbiakkal fog megismerkedni:
- Create a custom role
- Egyéni szerepkörök listázása
- Egyéni szerepkörök frissítése
- Egyéni szerepkörök törlése
Ha még nincs Azure-előfizetése, kezdés előtt hozzon létre egy ingyenes fiókot.
Megjegyzés:
We recommend that you use the Azure Az PowerShell module to interact with Azure. See Install Azure PowerShell to get started. To learn how to migrate to the Az PowerShell module, see Migrate Azure PowerShell from AzureRM to Az.
Előfeltételek
Az oktatóanyag elvégzéséhez a következőkre van szükség:
- Egyéni szerepkörök, például a Felhasználói hozzáférés Rendszergazda istrator létrehozásához szükséges engedélyek
- Azure Cloud Shell vagy Azure PowerShell
Bejelentkezés az Azure PowerShellbe
Jelentkezzen be az Azure PowerShellbe.
Create a custom role
Legegyszerűbben úgy hozhat létre egyéni szerepkört, ha egy beépített szerepkört szerkeszt át.
A PowerShellben a Get-AzProviderOperation paranccsal kérje le a Microsoft.Support erőforrás-szolgáltató műveleteinek listáját. Érdemes megismerkedni az engedélyek létrehozására szolgáló műveletekkel. Az Azure-erőforrás-szolgáltatói műveletek összes műveletének listáját is megtekintheti.
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...
A Get-AzRoleDefinition paranccsal JSON formátumban adja ki az Olvasó szerepkört.
Get-AzRoleDefinition -Name "Reader" | ConvertTo-Json | Out-File C:\CustomRoles\ReaderSupportRole.json
Nyissa meg a ReaderSupportRole.json fájlt egy tetszőleges szövegszerkesztőben.
Az alábbiakban a JSON kimenete látható. A különböző tulajdonságokról további információt az Egyéni Azure-szerepkörökben talál.
{ "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": [ "/" ] }
A JSON-fájl szerkesztésével adja hozzá a
"Microsoft.Support/*"
műveletet aActions
tulajdonsághoz. Az olvasási művelet után mindenképpen adjon meg vesszőt. Ez a művelet lehetővé teszi a felhasználónak a támogatási jegyek létrehozását.Kérje le az előfizetés azonosítóját a Get-AzSubscription paranccsal.
Get-AzSubscription
Az
AssignableScopes
elemnél adja meg az előfizetés azonosítóját a következő formátumban:"/subscriptions/00000000-0000-0000-0000-000000000000"
Explicit előfizetési azonosítókat kell megadnia, különben nem importálhatja a szerepkört az előfizetésébe.
Törölje az
Id
tulajdonságsort, és módosítsa azIsCustom
tulajdonságottrue
értékre.Módosítsa a
Name
és aDescription
tulajdonságot „Reader Support Tickets” és „View everything in the subscription and also open support tickets” (Mindent megtekinthet az előfizetésben, valamint támogatási jegyeket nyithat) értékre.A JSON-fájlnak a következőhöz kell hasonlítania:
{ "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" ] }
Az új egyéni szerepkör létrehozásához használja a New-AzRoleDefinition parancsot, és adja meg a JSON-szerepkördefiníciós fájlt.
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}
Az új egyéni szerepkör mostantól elérhető az Azure Portalon, és a beépített szerepkörökhöz hasonlóan hozzárendelhető felhasználókhoz, csoportokhoz vagy szolgáltatásnevekhez.
Egyéni szerepkörök listázása
Az összes egyéni szerepkör listázásához használja a Get-AzRoleDefinition parancsot.
Get-AzRoleDefinition | ? {$_.IsCustom -eq $true} | FT Name, IsCustom
Name IsCustom ---- -------- Reader Support Tickets True
Az egyéni szerepköröket az Azure Portalon is megtekintheti.
Egyéni szerepkörök frissítése
Egyéni szerepkör frissítéséhez módosítsa a JSON-fájlt, vagy használja a PSRoleDefinition
objektumot.
A JSON-fájl frissítéséhez a Get-AzRoleDefinition paranccsal adja ki az egyéni szerepkört JSON formátumban.
Get-AzRoleDefinition -Name "Reader Support Tickets" | ConvertTo-Json | Out-File C:\CustomRoles\ReaderSupportRole2.json
Nyissa meg a fájlt egy tetszőleges szövegszerkesztőben.
Adja
Actions
hozzá az erőforráscsoport-üzemelő példányok"Microsoft.Resources/deployments/*"
létrehozásához és kezeléséhez szükséges műveletet.A frissített JSON-fájlnak a következőhöz kell hasonlítania:
{ "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" ] }
Az egyéni szerepkör frissítéséhez használja a Set-AzRoleDefinition parancsot, és adja meg a frissített JSON-fájlt.
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}
Ha az
PSRoleDefintion
objektumot az egyéni szerepkör frissítéséhez szeretné használni, először a Get-AzRoleDefinition paranccsal szerezze be a szerepkört.$role = Get-AzRoleDefinition "Reader Support Tickets"
Hívja meg a
Add
metódust, hogy adja hozzá a műveletet a diagnosztikai beállítások olvasásához.$role.Actions.Add("Microsoft.Insights/diagnosticSettings/*/read")
A szerepkör frissítéséhez használja a Set-AzRoleDefinition parancsot.
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}
Egyéni szerepkörök törlése
Az egyéni szerepkör azonosítójának lekéréséhez használja a Get-AzRoleDefinition parancsot.
Get-AzRoleDefinition "Reader Support Tickets"
Használja a Remove-AzRoleDefinition parancsot, és adja meg a szerepkör azonosítóját az egyéni szerepkör törléséhez.
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"):
Ha rendszer megerősítést kér, írja be a következőt: Y.