Aktív hozzáférés kezelése a REST API-val az Azure PIM használatával
Az Azure Privileged Identity Management (PIM) lehetővé teszi az állandó rendszergazdai hozzáférés korlátozását az emelt szintű szerepkörökre, felderítheti, hogy ki rendelkezik hozzáféréssel, és áttekintheti a kiemelt hozzáféréseket. Ez a cikk a REST API használatával történő hozzáférés kezelésének gyakori módjait ismerteti.
Aktív hozzárendelések listázása
Az aktív szerepkör-hozzárendelések (listahozzáférés) listázásához használhatja a szerepkör-hozzárendelés ütemezési példányainak egyikét – Hatókörök listája vagy szerepkör-hozzárendelési ütemezések – Lista a hatókör REST API-jaihoz . Az eredmények pontosításához meg kell adnia egy hatókört és egy választható szűrőt. Az API meghívásához hozzáféréssel kell rendelkeznie a Microsoft.Authorization/roleAssignments/read
művelethez a megadott hatókörben. Minden beépített szerepkör hozzáférést kap ehhez a művelethez.
Fontos
Az ütemezések és az ütemezési példányok közötti különbség az, hogy míg az ütemezési példányok csak az aktuális időpontban aktív hozzárendeléseket tartalmazzák, az ütemezések olyan hozzárendeléseket is tartalmaznak, amelyek a jövőben válnak aktívvá.
Kezdje a következő kéréssel:
GET https://management.azure.com/{scope}/providers/Microsoft.Authorization/roleAssignmentScheduleInstances?api-version=2020-10-01&$filter={filter}
GET https://management.azure.com/{scope}/providers/Microsoft.Authorization/roleAssignmentSchedules?api-version=2020-10-01&$filter={filter}
Az URI-on belül cserélje le a (z) {scope} elemet arra a hatókörre, amelyhez fel szeretné sorolni a szerepkör-hozzárendeléseket.
Hatókör Típus providers/Microsoft.Management/managementGroups/{mg-name}
Felügyeleti csoport subscriptions/{subscriptionId}
Előfizetés subscriptions/{subscriptionId}/resourceGroups/myresourcegroup1
Erőforráscsoport subscriptions/{subscriptionId}/resourceGroups/myresourcegroup1/providers/Microsoft.Web/sites/mysite1
Erőforrás Cserélje le a (z) {filter} elemet a szerepkör-hozzárendelési lista szűréséhez alkalmazni kívánt feltételre.
Szűrő Description $filter=atScope()
Csak a megadott hatókörhöz sorolja fel a szerepkör-hozzárendeléseket, az alhatókörökben lévő szerepkör-hozzárendeléseket nem. $filter=principalId%20eq%20'{objectId}'
Listázhatja egy adott felhasználó, csoport vagy szolgáltatásnév szerepkör-hozzárendeléseit. $filter=roleDefinitionId%20eq%20'{roleDefinitionId}'
Egy adott szerepkör-definíció szerepkör-hozzárendeléseinek listázása. $filter=assignedTo('{objectId}')
Egy adott felhasználó szerepkör-hozzárendeléseinek listázása, beleértve a csoportoktól örökölteket is. $filter=asTarget()
Listázhatja az aktuális felhasználó vagy szolgáltatásnév szerepkör-hozzárendeléseit, beleértve a csoportoktól örökölteket is. $filter=assignedTo('{objectId}')+and+atScope()
Egy adott felhasználó szerepkör-hozzárendeléseinek listázása, beleértve azokat is, amelyek csak a megadott hatókörre vonatkozóan öröklődnek a csoportoktól, a részhatókörökben lévő szerepkör-hozzárendeléseket nem.
Aktív hozzárendelés megadása
Aktív szerepkör-hozzárendelés (hozzáférés biztosítása) létrehozásához használja a Szerepkör-hozzárendelés ütemezésére vonatkozó kérések – REST API létrehozása lehetőséget, és adja meg a rendszerbiztonsági tagot, a szerepkör-definíciót, az ütemezést, a requestType = AdminAssign
és a hatókört. Az API meghívásához hozzáféréssel kell rendelkeznie a művelethez Microsoft.Authorization/roleAssignments/write
. A beépített szerepkörök közül csak a Tulajdonos és a Felhasználói hozzáférés rendszergazdája kap hozzáférést ehhez a művelethez.
Használja a Szerepkör-definíciók – LISTA REST API-t , vagy tekintse meg a Beépített szerepkörök című témakört a hozzárendelni kívánt szerepkör-definíció azonosítójának lekéréséhez.
Guid eszközzel hozzon létre egy egyedi azonosítót, amelyet a szerepkör-hozzárendelési 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/roleAssignmentScheduleRequests/{roleAssignmentScheduleRequestName}?api-version=2020-10-01
{ "Properties": { "RoleDefinitionId": "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId}", "PrincipalId": "{principalId}", "RequestType": "AdminAssign", "ScheduleInfo": { "StartDateTime": "2020-09-09T21:31:27.91Z", "Expiration": { "Type": "AfterDuration", // Values: AfterDuration, AfterDateTime, NoExpiration "EndDateTime": null, "Duration": "P30D" // Use ISO 8601 format } } } }
Az URI-on belül cserélje le a (z) {scope} kifejezést a szerepkör-hozzárendelés hatókörére.
Hatókör Típus providers/Microsoft.Management/managementGroups/{mg-name}
Felügyeleti csoport subscriptions/{subscriptionId}
Előfizetés subscriptions/{subscriptionId}/resourceGroups/myresourcegroup1
Erőforráscsoport subscriptions/{subscriptionId}/resourceGroups/myresourcegroup1/providers/Microsoft.Web/sites/mysite1
Erőforrás Cserélje le a {roleAssignmentScheduleRequestName} elemet a szerepkör-hozzárendelés GUID-azonosítójára.
A kérelem törzsében cserélje le a (z) {subscriptionId} elemet az előfizetés azonosítójára.
Cserélje le a (z) {roleDefinitionId} elemet a szerepkör-definíció azonosítójára.
Cserélje le a(z) {principalId} elemet a szerepkörhöz hozzárendelendő felhasználó, csoport vagy szolgáltatásnév objektumazonosítójára.
Aktív hozzárendelés eltávolítása
Egy aktív szerepkör-hozzárendelés eltávolításához (hozzáférés eltávolítása) használja a Szerepkör-hozzárendelés ütemezési kérelmei – REST API létrehozása új kérés létrehozásához a hozzárendelés visszavonására, valamint a rendszerbiztonsági tag, a szerepkör-definíció, a requestType = AdminRemove
és a hatókör megadására. Az API meghívásához hozzáféréssel kell rendelkeznie a Microsoft.Authorization/roleAssignments/write
művelethez. A beépített szerepkörök közül csak a Tulajdonos és a Felhasználói hozzáférés rendszergazdája kap hozzáférést ehhez a művelethez.
Guid eszközzel hozzon létre egy egyedi azonosítót, amelyet a szerepkör-hozzárendelési azonosítóhoz fog használni. Az azonosító formátuma:
00000000-0000-0000-0000-000000000000
Kezdje a következő kéréssel:
PUT https://management.azure.com/{scope}/providers/Microsoft.Authorization/roleAssignmentScheduleRequests/{roleAssignmentScheduleRequestName}?api-version=2020-10-01
{ "Properties": { "RoleDefinitionId": "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId}", "PrincipalId": "{principalId}", "RequestType": "AdminRemove" } }
Az URI-on belül cserélje le a (z) {scope} kifejezést a szerepkör-hozzárendelés eltávolítására szolgáló hatókörre.
Hatókör Típus providers/Microsoft.Management/managementGroups/{mg-name}
Felügyeleti csoport subscriptions/{subscriptionId}
Előfizetés subscriptions/{subscriptionId}/resourceGroups/myresourcegroup1
Erőforráscsoport subscriptions/{subscriptionId}/resourceGroups/myresourcegroup1/ providers/Microsoft.Web/sites/mysite1
Erőforrás Cserélje le a {roleAssignmentScheduleRequestName} elemet a szerepkör-hozzárendelés GUID-azonosítójára.
Jogosult szerepkör-hozzárendelés aktiválása
Egy jogosult szerepkör-hozzárendelés aktiválásához (aktivált hozzáférés megszerzése) használja a Szerepkör-hozzárendelés ütemezési kérelmei – REST API létrehozása új kérés létrehozásához, valamint a rendszerbiztonsági tag, a szerepkör-definíció, a requestType = SelfActivate
és a hatókör megadásához. Az API meghívásához jogosult szerepkör-hozzárendeléssel kell rendelkeznie a hatókörben.
Guid eszközzel hozzon létre egy egyedi azonosítót, amelyet a szerepkör-hozzárendelési azonosítóhoz fog használni. Az azonosító formátuma:
00000000-0000-0000-0000-000000000000
[Nem kötelező]
RoleEligibilitySchedule
Válassza ki azt, amelyet aktiválni szeretne, és kérje le aRoleEligibilityScheduleId
szerepkör-jogosultsági ütemezési API-ból, hogy a -ként adja át a következőtLinkedRoleEligibilityScheduleId
: . Ez nem kötelező, és ha nem adja át, a rendszer kiválaszt egyRoleEligibilitySchedule
értéket.Kezdje a következő kéréssel:
PUT https://management.azure.com/{scope}/providers/Microsoft.Authorization/roleAssignmentScheduleRequests/{roleAssignmentScheduleRequestName}?api-version=2020-10-01
{ "Properties": { "RoleDefinitionId": "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId}", "PrincipalId": "{principalId}", "RequestType": "SelfActivate", "ScheduleInfo": { "StartDateTime": "2020-09-09T21:31:27.91Z", "Expiration": { "Type": "AfterDuration", // Values: AfterDuration, AfterDateTime, NoExpiration "EndDateTime": null, "Duration": "PT8H" // Use ISO 8601 format } }, "LinkedRoleEligibilityScheduleId": "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleAssignmentSchedules/{roleAssignmentScheduleId}" //Optional } }
Az URI-on belül cserélje le a (z) {scope} kifejezést a szerepkör-hozzárendelés eltávolítására szolgáló hatókörre.
Hatókör Típus providers/Microsoft.Management/managementGroups/{mg-name}
Felügyeleti csoport subscriptions/{subscriptionId}
Előfizetés subscriptions/{subscriptionId}/resourceGroups/myresourcegroup1
Erőforráscsoport subscriptions/{subscriptionId}/resourceGroups/myresourcegroup1/ providers/Microsoft.Web/sites/mysite1
Erőforrás Cserélje le a {roleAssignmentScheduleRequestName} elemet a szerepkör-hozzárendelés GUID-azonosítójára.
Aktív szerepkör-hozzárendelés inaktiválása
Az aktivált szerepkör-hozzárendelések aktiválásának megszüntetéséhez (az aktivált hozzáférés eltávolításához) használja a Szerepkör-hozzárendelés ütemezési kérelmei – REST API létrehozása új kérés létrehozásához, valamint a rendszerbiztonsági tag, a szerepkör-definíció, a requestType = SelfDeactivate
és a hatókör megadásához. Az API meghívásához aktivált szerepkör-hozzárendeléssel kell rendelkeznie a hatókörben.
Guid eszközzel hozzon létre egy egyedi azonosítót, amelyet a szerepkör-hozzárendelési azonosítóhoz fog használni. Az azonosító formátuma:
00000000-0000-0000-0000-000000000000
Kezdje a következő kéréssel:
PUT https://management.azure.com/{scope}/providers/Microsoft.Authorization/roleAssignmentScheduleRequests/{roleAssignmentScheduleRequestName}?api-version=2020-10-01
{ "Properties": { "RoleDefinitionId": "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId}", "PrincipalId": "{principalId}", "RequestType": "SelfDeactivate" } }
Az URI-on belül cserélje le a (z) {scope} kifejezést a szerepkör-hozzárendelés eltávolítására szolgáló hatókörre.
Hatókör Típus providers/Microsoft.Management/managementGroups/{mg-name}
Felügyeleti csoport subscriptions/{subscriptionId}
Előfizetés subscriptions/{subscriptionId}/resourceGroups/myresourcegroup1
Erőforráscsoport subscriptions/{subscriptionId}/resourceGroups/myresourcegroup1/ providers/Microsoft.Web/sites/mysite1
Erőforrás Cserélje le a {roleAssignmentScheduleRequestName} elemet a szerepkör-hozzárendelés GUID-azonosítójára.
Just-Enough-Access (JEA)
Ha egy felhasználó jogosult szerepkör-hozzárendeléssel rendelkezik egy erőforrásban (szülő), dönthet úgy, hogy a szülőerőforrás gyermekszintű hatókörében aktiválja a szerepkört a teljes szülőhatókör helyett. Ha például egy felhasználó jogosult szerepkörrel rendelkezik Contributor
egy előfizetésben, az előfizetés gyermekerőforrás-csoportjának szintjén aktiválhatja a szerepkört.
Egy olyan erőforrás összes gyermekének listájának lekéréséhez, amelyhez jogosult hozzáféréssel rendelkezik, használhatja a Jogosult gyermekerőforrások API-t.
Kezdje a következő kéréssel:
GET https://management.azure.com/{scope}/providers/Microsoft.Authorization/eligibleChildResources?api-version=2020-10-01&$filter={filter}
Az URI-on belül cserélje le a (z) {scope} elemet arra a hatókörre, amelyhez fel szeretné sorolni a szerepkör-hozzárendeléseket.
Hatókör Típus providers/Microsoft.Management/managementGroups/{mg-name}
Felügyeleti csoport subscriptions/{subscriptionId}
Előfizetés subscriptions/{subscriptionId}/resourceGroups/myresourcegroup1
Erőforráscsoport Cserélje le a (z) {filter} elemet arra a feltételre, amelyet alkalmazni szeretne a szerepkör-hozzárendelési lista szűréséhez.
Szűrő Description $filter=resourceType+eq+'Subscription'
Az = "Előfizetés" típusú erőforrások listázása. $filter=$filter=resourceType+eq+'subscription'+or+resourceType+eq+'resourcegroup''
Listázhatja a következő típusú erőforrásokat: = "Subscription" vagy type = "ResourceGroup". id
Bármely gyermekerőforrásscope
használata az aktiváláshozRoleAssignmentScheduleRequest
Új kéréshez visszaadott gyakori hibák
Az alábbiakban felsoroljuk azokat a gyakori hibákat, amelyekkel az új kérés létrehozásakor találkozhat, és hogyan háríthatja el azokat.
Hibaüzenet | Kifosztás | Kockázatcsökkentés |
---|---|---|
code : RoleAssignmentExistsmessage : A szerepkör-hozzárendelés már létezik. |
Már létezik hasonló szerepkör-hozzárendelés | Ezt a szerepkör-hozzárendelést és GET annak ütemezését ellenőrizheti. |
code : RoleAssignmentRequestPolicyValidationFailedmessage : A következő szabályzatszabályok nem sikerültek: ["ExpirationRule"] |
A ScheduleInfo kérelemben megadott érték meghaladja a maximálisan engedélyezett időtartamot |
Ehhez a RoleManagementPolicy-tRoleDefinitionId használhatjaGET , és ellenőrizheti aRoleManagementPolicyExpirationRule |
code : RoleAssignmentRequestPolicyValidationFailedmessage : A következő szabályzatszabályok meghiúsultak: ["JustificationRule"] |
Meg kell adnia egy Justification értéket a kérelem törzsében |
Ehhez a RoleManagementPolicy-tRoleDefinitionId használhatjaGET , és ellenőrizheti aRoleManagementPolicyEnablementRule |
code : RoleAssignmentRequestPolicyValidationFailedmessage : A következő szabályzatszabályok meghiúsultak: ["EligibilityRule"] |
RoleEligibilityScheduleInstance Érvényes nem létezik a szerepkör aktiválásához |
Az erőforrás-rendszergazdának létre kell hoznia egy ilyen egyszerű erőforrást RoleEligibilityScheduleRequest |
code : RoleAssignmentRequestPolicyValidationFailedmessage : A következő szabályzatszabályok meghiúsultak: ["TicketingRule"] |
Meg kell adnia egy TicketInfo értéket a kérelem törzsében |
Ehhez a RoleManagementPolicy-tRoleDefinitionId használhatjaGET , és ellenőrizheti aRoleManagementPolicyEnablementRule |
code : RoleAssignmentRequestPolicyValidationFailedmessage : A következő szabályzatszabályok meghiúsultak: ["MfaRule"] |
A kérés elküldéséhez be kell fejeznie az Azure Multi-Factor Authenticationt | Ehhez a RoleManagementPolicy-tRoleDefinitionId használhatjaGET , és ellenőrizheti aRoleManagementPolicyEnablementRule |