Egyéni Azure-szerepkörök
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. A beépített szerepkörökhöz hasonlóan egyéni szerepköröket is hozzárendelhet felhasználókhoz, csoportokhoz és szolgáltatásnevekhez a felügyeleti csoport, az előfizetés és az erőforráscsoport hatókörében.
Az egyéni szerepkörök megoszthatók olyan előfizetések között, amelyek ugyanabban a Microsoft Entra-bérlőben bíznak. Bérlőnként legfeljebb 5000 egyéni szerepkör lehet. (A 21Vianet által üzemeltetett Microsoft Azure esetében a korlát 2000 egyéni szerepkör.) Egyéni szerepkörök hozhatók létre az Azure Portal, az Azure PowerShell, az Azure CLI vagy a REST API használatával.
Egyéni szerepkör létrehozásának lépései
Az alábbiakban bemutatjuk az egyéni szerepkörök létrehozásának alapvető lépéseit.
Határozza meg a szükséges engedélyeket.
Egyéni szerepkör létrehozásakor ismernie kell az engedélyek meghatározásához elérhető műveleteket. Általában egy meglévő beépített szerepkörrel kell kezdenie, majd módosítania kell az igényeinek megfelelően. A műveleteket a szerepkördefinícióhoz vagy
NotActions
-tulajdonságokhozActions
fogja hozzáadni. Ha rendelkezik adatműveletekkel, ezeket hozzáadja aDataActions
tulajdonságokhoz.NotDataActions
További információ: A szükséges engedélyek meghatározása a következő szakaszban.
Döntse el, hogyan szeretné létrehozni az egyéni szerepkört.
Egyéni szerepköröket az Azure Portal, az Azure PowerShell, az Azure CLI vagy a REST API használatával hozhat létre.
Hozza létre az egyéni szerepkört.
A legegyszerűbb módszer az Azure Portal használata. Az egyéni szerepkörök Azure Portallal történő létrehozásáról és frissítéséről az Azure Portal használatával az Azure-beli egyéni szerepkörök létrehozása vagy frissítése című témakörben olvashat.
Tesztelje az egyéni szerepkört.
Miután megkapta az egyéni szerepkört, tesztelnie kell, hogy az a várt módon működik-e. Ha később módosítania kell, frissítheti az egyéni szerepkört.
A szükséges engedélyek meghatározása
Az Azure több ezer olyan engedéllyel rendelkezik, amelyeket esetleg belefoglalhat az egyéni szerepkörbe. Íme néhány módszer, amely segíthet meghatározni az egyéni szerepkörhöz hozzáadni kívánt engedélyeket:
Tekintse meg a meglévő beépített szerepköröket.
Érdemes lehet módosítani egy meglévő szerepkört, vagy egyesíteni a több szerepkörben használt engedélyeket.
Listázhatja azokat az Azure-szolgáltatásokat, amelyhez hozzáférést kíván adni.
Határozza meg az Azure-szolgáltatásokhoz leképező erőforrás-szolgáltatókat.
Az Azure-szolgáltatások az erőforrás-szolgáltatókon keresztül teszik elérhetővé működésüket és engedélyeiket. A Microsoft.Compute erőforrás-szolgáltató például virtuálisgép-erőforrásokat, a Microsoft.Billing erőforrás-szolgáltató pedig előfizetési és számlázási erőforrásokat biztosít. Az erőforrás-szolgáltatók ismerete segíthet leszűkíteni és meghatározni az egyéni szerepkörhöz szükséges engedélyeket.
Amikor egyéni szerepkört hoz létre az Azure Portal használatával, kulcsszavak keresésével is meghatározhatja az erőforrás-szolgáltatókat. Ezt a keresési funkciót az Egyéni Azure-szerepkörök létrehozása vagy frissítése az Azure Portalon ismerteti.
Keresse meg az elérhető engedélyeket a felvenni kívánt engedélyek megkereséséhez.
Ha egyéni szerepkört hoz létre az Azure Portalon, kulcsszavak alapján kereshet engedélyeket. Kereshet például virtuális gépet vagy számlázási engedélyeket. Az összes engedélyt CSV-fájlként is letöltheti, majd kereshet ebben a fájlban. Ezt a keresési funkciót az Egyéni Azure-szerepkörök létrehozása vagy frissítése az Azure Portalon ismerteti.
Példa egyéni szerepkörre
Az alábbiakban látható, hogyan néz ki egy egyéni szerepkör az Azure PowerShell JSON-formátumban való használatával. Ez az egyéni szerepkör használható a virtuális gépek monitorozásához és újraindításához.
{
"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}"
]
}
Az alábbiakban ugyanaz az egyéni szerepkör látható, mint az Azure CLI használatával.
[
{
"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"
}
]
Egyéni szerepkör tulajdonságai
Az alábbi táblázat az egyéni szerepkör-tulajdonságokat ismerteti.
Tulajdonság | Kötelező | Típus | Leírás |
---|---|---|---|
Name roleName |
Igen | Sztring | Az egyéni szerepkör megjelenítendő neve. Bár a szerepkördefiníció felügyeleti csoport vagy előfizetési szintű erőforrás, a szerepkördefiníció több olyan előfizetésben is használható, amelyek azonos Microsoft Entra-bérlővel osztoznak. Ennek a megjelenítendő névnek egyedinek kell lennie a Microsoft Entra-bérlő hatókörében. Tartalmazhat betűket, számokat, szóközöket és speciális karaktereket. A karakterek maximális száma 512. |
Id name |
Igen | Sztring | Az egyéni szerepkör egyedi azonosítója. Az Azure PowerShell és az Azure CLI esetében ez az azonosító automatikusan létrejön egy új szerepkör létrehozásakor. |
IsCustom roleType |
Igen | Sztring | Azt jelzi, hogy ez egyéni szerepkör-e. true Egyéni szerepkörök beállítása vagy CustomRole beállítása. false A beépített szerepkörök beállítása vagy BuiltInRole beállítása. |
Description description |
Igen | Sztring | Az egyéni szerepkör leírása. Tartalmazhat betűket, számokat, szóközöket és speciális karaktereket. A karakterek maximális száma 2048. |
Actions actions |
Igen | Karakterlánc[] | Sztringek tömbje, amely meghatározza a szerepkör által végrehajtható vezérlősík-műveleteket. További információ: Műveletek. |
NotActions notActions |
Nem | Karakterlánc[] | Sztringek tömbje, amely meghatározza az engedélyezett Actions elemből kizárt vezérlősík-műveleteket. További információ: NotActions. |
DataActions dataActions |
Nem | Karakterlánc[] | Sztringek tömbje, amely meghatározza azokat az adatsík-műveleteket, amelyeket a szerepkör lehetővé tesz az adott objektumon belüli adatokon. Ha egyéni szerepkört hoz létre, DataActions az nem rendelhető hozzá a felügyeleti csoport hatókörében. További információ: DataActions. |
NotDataActions notDataActions |
Nem | Karakterlánc[] | Sztringek tömbje, amely az engedélyezett DataActions adatsík-műveleteket határozza meg. További információ: NotDataActions. |
AssignableScopes assignableScopes |
Igen | Karakterlánc[] | Sztringek tömbje, amely meghatározza az egyéni szerepkör hozzárendeléshez elérhető hatóköreit. A maximális szám AssignableScopes 2000. További információ: AssignableScopes. |
Az engedélysztringek nem érzékenyek a kis- és nagybetűkre. Az egyéni szerepkörök létrehozásakor a konvenció az, hogy megfeleljen az Azure-erőforrás-szolgáltatói műveletek engedélyeinek.
Helyettesítő engedélyek
Actions
, NotActions
, DataActions
és NotDataActions
támogatja a helyettesítő karaktereket (*
) az engedélyek definiálásához. A helyettesítő karakterek (*
) mindenre kiterjesztik az engedélyt, amely megfelel az Ön által megadott műveletsztringnek. Tegyük fel például, hogy hozzá szeretné adni az Azure Cost Managementhez és az exportáláshoz kapcsolódó összes engedélyt. Az alábbi műveleti sztringek mindegyikét hozzáadhatja:
Microsoft.CostManagement/exports/action
Microsoft.CostManagement/exports/read
Microsoft.CostManagement/exports/write
Microsoft.CostManagement/exports/delete
Microsoft.CostManagement/exports/run/action
Ahelyett, hogy hozzáadná ezeket a sztringeket, egyszerűen hozzáadhat egy helyettesítő karakterláncot. A következő helyettesítő karaktersorozat például egyenértékű az előző öt sztringgel. Ez az esetlegesen hozzáadható jövőbeli exportálási engedélyeket is tartalmazza.
Microsoft.CostManagement/exports/*
Feljegyzés
Javasoljuk, hogy a helyettesítő karakter (*
) helyett explicit módon adja meg Actions
DataActions
és használja. A jövőben Actions
DataActions
megadott további hozzáférés és engedélyek nem kívánt viselkedést eredményezhetnek a helyettesítő karakter használatával.
Ki tud létrehozni, törölni, frissíteni vagy megtekinteni egy egyéni szerepkört
A beépített szerepkörökhöz hasonlóan a AssignableScopes
tulajdonság is meghatározza a szerepkör hozzárendeléshez elérhető hatóköreit. Az AssignableScopes
egyéni szerepkör tulajdonsága azt is szabályozza, hogy ki hozhatja létre, törölheti, frissítheti vagy tekintheti meg az egyéni szerepkört.
Task | Művelet | Leírás |
---|---|---|
Egyéni szerepkör létrehozása/törlése | Microsoft.Authorization/ roleDefinitions/write |
Azok a felhasználók, akik ezt a műveletet az AssignableScopes összes egyéni szerepkörre vonatkozóan megkapják, egyéni szerepköröket hozhatnak létre (vagy törölhetnek) az adott hatókörökben való használatra. Például felügyeleti csoportok, előfizetések és erőforráscsoportok tulajdonosai és felhasználói hozzáférés-rendszergazdái . |
Egyéni szerepkörök frissítése | Microsoft.Authorization/ roleDefinitions/write |
Azok a felhasználók, akik ezt a műveletet az AssignableScopes összes egyéni szerepkörre vonatkozóan megkapják, frissíthetik az egyéni szerepköröket ezekben a hatókörökben. Például felügyeleti csoportok, előfizetések és erőforráscsoportok tulajdonosai és felhasználói hozzáférés-rendszergazdái . |
Egyéni szerepkör megtekintése | Microsoft.Authorization/ roleDefinitions/read |
Azok a felhasználók, amelyek egy hatókörben kapják meg ezt a műveletet, megtekinthetik az adott hatókörhöz hozzárendelhető egyéni szerepköröket. Az összes beépített szerepkör elérhetővé teszi az egyéni szerepköröket a hozzárendeléshez. |
Feljegyzés
Még ha átneveznek is egy szerepkört, a szerepkör azonosítója nem változik. Ha szkriptekkel vagy automatizálással hozza létre a szerepkör-hozzárendeléseket, ajánlott az egyedi szerepkör-azonosítót használni a szerepkör neve helyett. Ezért ha egy szerepkört átneveznek, a szkriptek nagyobb valószínűséggel fognak működni.
Szerepkör-hozzárendelések keresése egyéni szerepkör törléséhez
Mielőtt törölhet egy egyéni szerepkört, el kell távolítania az egyéni szerepkört használó szerepkör-hozzárendeléseket. Ha szerepkör-hozzárendelésekkel rendelkező egyéni szerepkört próbál törölni, a következő üzenetet kapja: There are existing role assignments referencing role (code: RoleDefinitionHasAssignments)
.
Az alábbi lépések segítenek megtalálni a szerepkör-hozzárendeléseket az egyéni szerepkörök törlése előtt:
- Az egyéni szerepkördefiníció listázása.
- Az AssignableScopes szakaszban kérje le a felügyeleti csoportokat, előfizetéseket és erőforráscsoportokat.
- Iterálja át a
AssignableScopes
szerepkör-hozzárendeléseket, és sorolja fel a feladatokat. - Távolítsa el az egyéni szerepkört használó szerepkör-hozzárendeléseket .
- Ha a Microsoft Entra Privileged Identity Managementet használja, távolítsa el a jogosult egyéni szerepkör-hozzárendeléseket.
- Törölje az egyéni szerepkört.
A fel nem használt egyéni szerepkörök megkereséséről a Tünet – Nincs több szerepkördefiníció létrehozása című témakörben talál további információt.
Egyéni szerepkör korlátai
Az alábbi lista az egyéni szerepkörök korlátait ismerteti.
- Minden bérlő legfeljebb 5000 egyéni szerepkört tartalmazhat.
- A 21Vianet által üzemeltetett Microsoft Azure legfeljebb 2000 egyéni szerepkört tartalmazhat minden bérlőhöz.
- A gyökérhatókör (
"/"
) nem állítható beAssignableScopes
. - A(z) nem használhat helyettesítő karaktereket (
*
) a következőbenAssignableScopes
: Ez a helyettesítő karakteres korlátozás segít biztosítani, hogy a felhasználó ne férhessen hozzá egy hatókörhöz a szerepkör-definíció frissítésével. - Egy műveleti sztringben csak egy helyettesítő karakter szerepelhet.
- Az egyéni szerepkörök
AssignableScopes
definíciójában csak egy felügyeleti csoportot definiálhat. - Az Azure Resource Manager nem ellenőrzi a felügyeleti csoport meglétét a szerepkördefinícióban
AssignableScopes
. DataActions
művelettel rendelkező egyéni szerepkörök nem rendelhetők felügyeleti csoport hatókörhöz.- Egyéni szerepkört
DataActions
és egy felügyeleti csoportot is létrehozhat a következőbenAssignableScopes
: . Az egyéni szerepkör nem rendelhető hozzá a felügyeleti csoport hatóköréhez; Azonban hozzárendelheti az egyéni szerepkört a felügyeleti csoporton belüli előfizetések hatóköréhez. Ez akkor lehet hasznos, ha egyetlen egyéni szerepkört kell létrehoznia, amelyhezDataActions
több előfizetésben kell hozzárendelni ahelyett, hogy minden előfizetéshez külön egyéni szerepkört kellene létrehoznia.
További információ az egyéni szerepkörökkel és a felügyeleti csoportokkal kapcsolatban: Mik azok az Azure-beli felügyeleti csoportok?.
Bemeneti és kimeneti formátumok
Ha egyéni szerepkört szeretne létrehozni a parancssor használatával, általában A JSON használatával adja meg az egyéni szerepkörhöz kívánt tulajdonságokat. A használt eszközöktől függően a bemeneti és kimeneti formátumok kissé eltérőek lesznek. Ez a szakasz az eszköztől függően sorolja fel a bemeneti és kimeneti formátumokat.
Azure PowerShell
Ha egyéni szerepkört szeretne létrehozni az Azure PowerShell használatával, a következő bemenetet kell megadnia.
{
"Name": "",
"Description": "",
"Actions": [],
"NotActions": [],
"DataActions": [],
"NotDataActions": [],
"AssignableScopes": []
}
Ha egyéni szerepkört szeretne frissíteni az Azure PowerShell használatával, az alábbi bemenetet kell megadnia. Vegye figyelembe, hogy a Id
tulajdonság hozzá lett adva.
{
"Name": "",
"Id": "",
"Description": "",
"Actions": [],
"NotActions": [],
"DataActions": [],
"NotDataActions": [],
"AssignableScopes": []
}
Az alábbiakban egy példa látható a kimenetre, amikor egy egyéni szerepkört listáz az Azure PowerShell és a ConvertTo-Json paranccsal.
{
"Name": "",
"Id": "",
"IsCustom": true,
"Description": "",
"Actions": [],
"NotActions": [],
"DataActions": [],
"NotDataActions": [],
"AssignableScopes": []
}
Azure CLI
Ha egyéni szerepkört szeretne létrehozni vagy frissíteni az Azure CLI használatával, a következő bemenetet kell megadnia. Ez a formátum ugyanaz a formátum, amikor egyéni szerepkört hoz létre az Azure PowerShell használatával.
{
"Name": "",
"Description": "",
"Actions": [],
"NotActions": [],
"DataActions": [],
"NotDataActions": [],
"AssignableScopes": []
}
Az alábbiakban egy példa látható a kimenetre, amikor egy egyéni szerepkört listáz az Azure CLI használatával.
[
{
"assignableScopes": [],
"description": "",
"id": "",
"name": "",
"permissions": [
{
"actions": [],
"dataActions": [],
"notActions": [],
"notDataActions": []
}
],
"roleName": "",
"roleType": "CustomRole",
"type": "Microsoft.Authorization/roleDefinitions"
}
]
REST API
Ha egyéni szerepkört szeretne létrehozni vagy frissíteni a REST API használatával, a következő bemenetet kell megadnia. Ez a formátum ugyanaz a formátum, amely akkor jön létre, amikor egyéni szerepkört hoz létre az Azure Portal használatával.
{
"properties": {
"roleName": "",
"description": "",
"assignableScopes": [],
"permissions": [
{
"actions": [],
"notActions": [],
"dataActions": [],
"notDataActions": []
}
]
}
}
Az alábbiakban egy példa látható a kimenetre, amikor a REST API használatával listáz egy egyéni szerepkört.
{
"properties": {
"roleName": "",
"type": "CustomRole",
"description": "",
"assignableScopes": [],
"permissions": [
{
"actions": [],
"notActions": [],
"dataActions": [],
"notDataActions": []
}
],
"createdOn": "",
"updatedOn": "",
"createdBy": "",
"updatedBy": ""
},
"id": "",
"type": "Microsoft.Authorization/roleDefinitions",
"name": ""
}