Egyéni Azure-szerepkörök létrehozása vagy frissítése a REST API 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. Ez a cikk bemutatja, hogyan listázhatja, hozhat létre, frissíthet vagy törölhet egyéni szerepköröket a REST API használatával.
Előfeltételek
A következő verziót kell használnia:
2015-07-01
vagy újabb
További információkért tekintse meg az Azure RBAC REST API-k API-verzióit.
Az összes egyéni szerepkör-definíció listázása
A bérlő összes egyéni szerepkördefiníciójának listázásához használja a Szerepkördefiníciók – REST API listázása lehetőséget.
Az alábbi példa az összes egyéni szerepkördefiníciót felsorolja egy bérlőben:
Kérelem
GET https://management.azure.com/providers/Microsoft.Authorization/roleDefinitions?$filter=type+eq+'CustomRole'&api-version=2022-04-01
Válasz
{ "value": [ { "properties": { "roleName": "Billing Reader Plus", "type": "CustomRole", "description": "Read billing data and download invoices", "assignableScopes": [ "/subscriptions/473a4f86-11e3-48cb-9358-e13c220a2f15" ], "permissions": [ { "actions": [ "Microsoft.Authorization/*/read", "Microsoft.Billing/*/read", "Microsoft.Commerce/*/read", "Microsoft.Consumption/*/read", "Microsoft.Management/managementGroups/read", "Microsoft.CostManagement/*/read", "Microsoft.Billing/invoices/download/action", "Microsoft.CostManagement/exports/*" ], "notActions": [ "Microsoft.CostManagement/exports/delete" ], "dataActions": [], "notDataActions": [] } ], "createdOn": "2021-05-22T21:57:23.5764138Z", "updatedOn": "2021-05-22T21:57:23.5764138Z", "createdBy": "68f66d4c-c0eb-4009-819b-e5315d677d70", "updatedBy": "68f66d4c-c0eb-4009-819b-e5315d677d70" }, "id": "/providers/Microsoft.Authorization/roleDefinitions/17adabda-4bf1-4f4e-8c97-1f0cab6dea1c", "type": "Microsoft.Authorization/roleDefinitions", "name": "17adabda-4bf1-4f4e-8c97-1f0cab6dea1c" } ] }
Az összes egyéni szerepkördefiníció listázása egy hatókörben
Ha egyéni szerepkördefiníciókat szeretne listázni egy hatókörben, használja a Szerepkördefiníciók – REST API listázása lehetőséget.
Kezdje a következő kéréssel:
GET https://management.azure.com/{scope}/providers/Microsoft.Authorization/roleDefinitions?$filter={filter}&api-version=2022-04-01
Az URI-on belül cserélje le a(z) {scope} kifejezést arra a hatókörre, amelyhez a szerepköröket listázni szeretné.
Scope Típus subscriptions/{subscriptionId1}
Előfizetés subscriptions/{subscriptionId1}/resourceGroups/{resourceGroup1}
Erőforráscsoport subscriptions/{subscriptionId1}/resourceGroups/{resourceGroup1}/providers/Microsoft.Web/sites/{site1}
Resource providers/Microsoft.Management/managementGroups/{groupId1}
Felügyeleti csoport Cserélje le a(z) {filter} elemet a szerepkör típusára.
Filter Leírás $filter=type+eq+'CustomRole'
Szűrés a CustomRole típus alapján Az alábbi példa az előfizetés összes egyéni szerepkördefinícióját felsorolja:
Kérelem
GET https://management.azure.com/subscriptions/473a4f86-11e3-48cb-9358-e13c220a2f15/providers/Microsoft.Authorization/roleDefinitions?$filter=type+eq+'CustomRole'&api-version=2022-04-01
Válasz
{ "value": [ { "properties": { "roleName": "Billing Reader Plus", "type": "CustomRole", "description": "Read billing data and download invoices", "assignableScopes": [ "/subscriptions/473a4f86-11e3-48cb-9358-e13c220a2f15" ], "permissions": [ { "actions": [ "Microsoft.Authorization/*/read", "Microsoft.Billing/*/read", "Microsoft.Commerce/*/read", "Microsoft.Consumption/*/read", "Microsoft.Management/managementGroups/read", "Microsoft.CostManagement/*/read", "Microsoft.Billing/invoices/download/action", "Microsoft.CostManagement/exports/*" ], "notActions": [ "Microsoft.CostManagement/exports/delete" ], "dataActions": [], "notDataActions": [] } ], "createdOn": "2021-05-22T21:57:23.5764138Z", "updatedOn": "2021-05-22T21:57:23.5764138Z", "createdBy": "68f66d4c-c0eb-4009-819b-e5315d677d70", "updatedBy": "68f66d4c-c0eb-4009-819b-e5315d677d70" }, "id": "/subscriptions/473a4f86-11e3-48cb-9358-e13c220a2f15/providers/Microsoft.Authorization/roleDefinitions/17adabda-4bf1-4f4e-8c97-1f0cab6dea1c", "type": "Microsoft.Authorization/roleDefinitions", "name": "17adabda-4bf1-4f4e-8c97-1f0cab6dea1c" } ] }
Egyéni szerepkördefiníció listázása név szerint
Az egyéni szerepkördefiníciók megjelenítési neve alapján történő lekéréséhez használja a Szerepkördefiníciók – REST API lekérése lehetőséget.
Kezdje a következő kéréssel:
GET https://management.azure.com/{scope}/providers/Microsoft.Authorization/roleDefinitions?$filter={filter}&api-version=2022-04-01
Az URI-on belül cserélje le a(z) {scope} kifejezést arra a hatókörre, amelyhez a szerepköröket listázni szeretné.
Scope Típus subscriptions/{subscriptionId1}
Előfizetés subscriptions/{subscriptionId1}/resourceGroups/{resourceGroup1}
Erőforráscsoport subscriptions/{subscriptionId1}/resourceGroups/{resourceGroup1}/providers/Microsoft.Web/sites/{site1}
Resource providers/Microsoft.Management/managementGroups/{groupId1}
Felügyeleti csoport Cserélje le a(z) {filter} elemet a szerepkör megjelenítendő nevére.
Filter Leírás $filter=roleName+eq+'{roleDisplayName}'
Használja a szerepkör pontos megjelenítendő nevének URL-címkódolt formáját. Például: $filter=roleName+eq+'Virtual%20Machine%20Contributor'
Az alábbi példa a Billing Reader Plus nevű egyéni szerepkördefiníciót sorolja fel egy előfizetésben:
Kérelem
GET https://management.azure.com/subscriptions/473a4f86-11e3-48cb-9358-e13c220a2f15/providers/Microsoft.Authorization/roleDefinitions?$filter=roleName+eq+'Billing Reader Plus'&api-version=2022-04-01
Válasz
{ "value": [ { "properties": { "roleName": "Billing Reader Plus", "type": "CustomRole", "description": "Read billing data and download invoices", "assignableScopes": [ "/subscriptions/473a4f86-11e3-48cb-9358-e13c220a2f15" ], "permissions": [ { "actions": [ "Microsoft.Authorization/*/read", "Microsoft.Billing/*/read", "Microsoft.Commerce/*/read", "Microsoft.Consumption/*/read", "Microsoft.Management/managementGroups/read", "Microsoft.CostManagement/*/read", "Microsoft.Billing/invoices/download/action", "Microsoft.CostManagement/exports/*" ], "notActions": [ "Microsoft.CostManagement/exports/delete" ], "dataActions": [], "notDataActions": [] } ], "createdOn": "2021-05-22T21:57:23.5764138Z", "updatedOn": "2021-05-22T21:57:23.5764138Z", "createdBy": "68f66d4c-c0eb-4009-819b-e5315d677d70", "updatedBy": "68f66d4c-c0eb-4009-819b-e5315d677d70" }, "id": "/subscriptions/473a4f86-11e3-48cb-9358-e13c220a2f15/providers/Microsoft.Authorization/roleDefinitions/17adabda-4bf1-4f4e-8c97-1f0cab6dea1c", "type": "Microsoft.Authorization/roleDefinitions", "name": "17adabda-4bf1-4f4e-8c97-1f0cab6dea1c" } ] }
Egyéni szerepkör-definíció listázása azonosító szerint
Az egyéni szerepkördefiníciók egyedi azonosító alapján történő lekéréséhez használja a Szerepkördefiníciók – REST API lekérése lehetőséget.
Használja a szerepkördefiníciókat – A REST API listázása a szerepkör GUID-azonosítójának lekéréséhez.
Kezdje a következő kéréssel:
GET https://management.azure.com/{scope}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId}?api-version=2022-04-01
Az URI-on belül cserélje le a(z) {scope} kifejezést arra a hatókörre, amelyhez a szerepköröket listázni szeretné.
Scope Típus subscriptions/{subscriptionId1}
Előfizetés subscriptions/{subscriptionId1}/resourceGroups/{resourceGroup1}
Erőforráscsoport subscriptions/{subscriptionId1}/resourceGroups/{resourceGroup1}/providers/Microsoft.Web/sites/{site1}
Resource providers/Microsoft.Management/managementGroups/{groupId1}
Felügyeleti csoport Cserélje le a(z) {roleDefinitionId} elemet a szerepkördefiníció GUID-azonosítójára.
Az alábbi példa egy 17adabda-4bf1-4f4e-8c97-1f0cab6dea1c azonosítójú egyéni szerepkördefiníciót sorol fel egy előfizetésben:
Kérelem
GET https://management.azure.com/subscriptions/473a4f86-11e3-48cb-9358-e13c220a2f15/providers/Microsoft.Authorization/roleDefinitions/17adabda-4bf1-4f4e-8c97-1f0cab6dea1c?api-version=2022-04-01
Válasz
{ "properties": { "roleName": "Billing Reader Plus", "type": "CustomRole", "description": "Read billing data and download invoices", "assignableScopes": [ "/subscriptions/473a4f86-11e3-48cb-9358-e13c220a2f15" ], "permissions": [ { "actions": [ "Microsoft.Authorization/*/read", "Microsoft.Billing/*/read", "Microsoft.Commerce/*/read", "Microsoft.Consumption/*/read", "Microsoft.Management/managementGroups/read", "Microsoft.CostManagement/*/read", "Microsoft.Billing/invoices/download/action", "Microsoft.CostManagement/exports/*" ], "notActions": [ "Microsoft.CostManagement/exports/delete" ], "dataActions": [], "notDataActions": [] } ], "createdOn": "2021-05-22T21:57:23.5764138Z", "updatedOn": "2021-05-22T21:57:23.5764138Z", "createdBy": "68f66d4c-c0eb-4009-819b-e5315d677d70", "updatedBy": "68f66d4c-c0eb-4009-819b-e5315d677d70" }, "id": "/subscriptions/473a4f86-11e3-48cb-9358-e13c220a2f15/providers/Microsoft.Authorization/roleDefinitions/17adabda-4bf1-4f4e-8c97-1f0cab6dea1c", "type": "Microsoft.Authorization/roleDefinitions", "name": "17adabda-4bf1-4f4e-8c97-1f0cab6dea1c" }
Create a custom role
Egyéni szerepkör létrehozásához használja a szerepkördefiníciókat – REST API létrehozása vagy frissítése . Az API meghívásához be kell jelentkeznie egy olyan felhasználóval, aki olyan szerepkörrel rendelkezik, amely rendelkezik az Microsoft.Authorization/roleDefinitions/write
összes assignableScopes
jogosultsággal. A beépített szerepkörök közül csak a Tulajdonos és a Felhasználói hozzáférés Rendszergazda istrator tartalmazza ezt az engedélyt.
Tekintse át az egyéni szerepkör engedélyeinek létrehozásához elérhető erőforrás-szolgáltatói műveletek listáját.
Guid-eszköz használatával hozzon létre egy egyedi azonosítót, amelyet az egyéni szerepkör-azonosítóhoz fog használni. Az azonosító formátuma:
00000000-0000-0000-0000-000000000000
Kezdje a következő kéréssel és törzstel:
PUT https://management.azure.com/{scope}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId}?api-version=2022-04-01
{ "name": "{roleDefinitionId}", "properties": { "roleName": "", "description": "", "type": "CustomRole", "permissions": [ { "actions": [ ], "notActions": [ ] } ], "assignableScopes": [ "/subscriptions/{subscriptionId1}", "/subscriptions/{subscriptionId2}", "/subscriptions/{subscriptionId1}/resourceGroups/{resourceGroup1}", "/subscriptions/{subscriptionId2}/resourceGroups/{resourceGroup2}", "/providers/Microsoft.Management/managementGroups/{groupId1}" ] } }
Az URI-on belül cserélje le a(z) {scope} elemet az egyéni szerepkör első
assignableScopes
elemére.Scope Típus subscriptions/{subscriptionId1}
Előfizetés subscriptions/{subscriptionId1}/resourceGroups/{resourceGroup1}
Erőforráscsoport providers/Microsoft.Management/managementGroups/{groupId1}
Felügyeleti csoport Cserélje le a(z) {roleDefinitionId} elemet az egyéni szerepkör GUID-azonosítójára.
A kérelem törzsében cserélje le a(z) {roleDefinitionId} kifejezést a GUID-azonosítóra.
Ha
assignableScopes
előfizetés vagy erőforráscsoport, cserélje le a (z) {subscriptionId} vagy {resourceGroup} példányokat az azonosítókra.Ha
assignableScopes
felügyeleti csoport, cserélje le a {groupId} példányt a felügyeleti csoport azonosítójával.A tulajdonságban
actions
adja hozzá azokat a műveleteket, amelyeket a szerepkör lehetővé tesz.A tulajdonságban
notActions
adja hozzá az engedélyezettactions
műveletből kizárt műveleteket.roleName
A tulajdonságok közöttdescription
adjon meg egy egyedi szerepkörnevet és egy leírást. A tulajdonságokról további információt az Azure-beli egyéni szerepkörökben talál.Az alábbiakban egy példa egy kérelemtörzsre:
{ "name": "88888888-8888-8888-8888-888888888888", "properties": { "roleName": "Virtual Machine Operator", "description": "Can monitor and restart virtual machines.", "type": "CustomRole", "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.Support/*" ], "notActions": [] } ], "assignableScopes": [ "/subscriptions/00000000-0000-0000-0000-000000000000", "/providers/Microsoft.Management/managementGroups/marketing-group" ] } }
Egyéni szerepkörök frissítése
Egyéni szerepkör frissítéséhez használja a szerepkördefiníciókat – REST API létrehozása vagy frissítése . Az API meghívásához be kell jelentkeznie egy olyan felhasználóval, aki olyan szerepkörrel rendelkezik, amely rendelkezik az Microsoft.Authorization/roleDefinitions/write
összes assignableScopes
, például a Felhasználói hozzáférés Rendszergazda istrator engedélyével.
A szerepkördefiníciók – Lista vagy szerepkördefiníciók – A REST API lekérése az egyéni szerepkörre vonatkozó információk lekéréséhez. További információkért lásd a korábbi Lista az összes egyéni szerepkördefiníciót című szakaszt.
Kezdje a következő kéréssel:
PUT https://management.azure.com/{scope}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId}?api-version=2022-04-01
Az URI-on belül cserélje le a(z) {scope} elemet az egyéni szerepkör első
assignableScopes
elemére.Scope Típus subscriptions/{subscriptionId1}
Előfizetés subscriptions/{subscriptionId1}/resourceGroups/{resourceGroup1}
Erőforráscsoport providers/Microsoft.Management/managementGroups/{groupId1}
Felügyeleti csoport Cserélje le a(z) {roleDefinitionId} elemet az egyéni szerepkör GUID-azonosítójára.
Az egyéni szerepkörre vonatkozó információk alapján hozzon létre egy kérelemtörzset a következő formátumban:
{ "name": "{roleDefinitionId}", "properties": { "roleName": "", "description": "", "type": "CustomRole", "permissions": [ { "actions": [ ], "notActions": [ ] } ], "assignableScopes": [ "/subscriptions/{subscriptionId1}", "/subscriptions/{subscriptionId2}", "/subscriptions/{subscriptionId1}/resourceGroups/{resourceGroup1}", "/subscriptions/{subscriptionId2}/resourceGroups/{resourceGroup2}", "/providers/Microsoft.Management/managementGroups/{groupId1}" ] } }
Frissítse a kérelem törzsét az egyéni szerepkörben végrehajtani kívánt módosításokkal.
Az alábbiakban egy új diagnosztikai beállítási művelettel rendelkező kérelemtörzset mutatunk be:
{ "name": "88888888-8888-8888-8888-888888888888", "properties": { "roleName": "Virtual Machine Operator", "description": "Can monitor and restart virtual machines.", "type": "CustomRole", "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/*" ], "notActions": [] } ], "assignableScopes": [ "/subscriptions/00000000-0000-0000-0000-000000000000", "/providers/Microsoft.Management/managementGroups/marketing-group" ] } }
Egyéni szerepkörök törlése
Egyéni szerepkör törléséhez használja a Szerepkördefiníciók – REST API törlése parancsot. Az API meghívásához be kell jelentkeznie egy olyan felhasználóval, aki olyan szerepkörrel rendelkezik, amely rendelkezik az Microsoft.Authorization/roleDefinitions/delete
összes assignableScopes
jogosultsággal. A beépített szerepkörök közül csak a Tulajdonos és a Felhasználói hozzáférés Rendszergazda istrator tartalmazza ezt az engedélyt.
Távolítsa el az egyéni szerepkört használó szerepkör-hozzárendeléseket. További információ: Szerepkör-hozzárendelések keresése egyéni szerepkör törléséhez.
A szerepkördefiníciók – Lista vagy szerepkördefiníciók – REST API lekérése az egyéni szerepkör GUID-azonosítójának lekéréséhez. További információkért lásd a korábbi Lista az összes egyéni szerepkördefiníciót című szakaszt.
Kezdje a következő kéréssel:
DELETE https://management.azure.com/{scope}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId}?api-version=2022-04-01
Az URI-on belül cserélje le a(z) {scope} kifejezést arra a hatókörre, amelyet törölni szeretne az egyéni szerepkörből.
Scope Típus subscriptions/{subscriptionId1}
Előfizetés subscriptions/{subscriptionId1}/resourceGroups/{resourceGroup1}
Erőforráscsoport providers/Microsoft.Management/managementGroups/{groupId1}
Felügyeleti csoport Cserélje le a(z) {roleDefinitionId} elemet az egyéni szerepkör GUID-azonosítójára.