Share via


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á.

  1. 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}
    
  2. 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
  3. 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.

  1. 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.

  2. 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

  3. 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
          }
        }
      }
    }
    
  4. 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
  5. Cserélje le a {roleAssignmentScheduleRequestName} elemet a szerepkör-hozzárendelés GUID-azonosítójára.

  6. A kérelem törzsében cserélje le a (z) {subscriptionId} elemet az előfizetés azonosítójára.

  7. Cserélje le a (z) {roleDefinitionId} elemet a szerepkör-definíció azonosítójára.

  8. 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.

  1. 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

  2. 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"
        }
    }
    
  3. 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
  4. 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.

  1. 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

  2. [Nem kötelező] RoleEligibilitySchedule Válassza ki azt, amelyet aktiválni szeretne, és kérje le a RoleEligibilityScheduleIdszerepkör-jogosultsági ütemezési API-ból, hogy a -ként adja át a következőt LinkedRoleEligibilityScheduleId: . Ez nem kötelező, és ha nem adja át, a rendszer kiválaszt egy RoleEligibilityScheduleértéket.

  3. 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
       }
     }
    
  4. 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
  5. 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.

  1. 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

  2. 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"        
       }
     }
    
  3. 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
  4. 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.

  1. Kezdje a következő kéréssel:

    GET https://management.azure.com/{scope}/providers/Microsoft.Authorization/eligibleChildResources?api-version=2020-10-01&$filter={filter}
    
  2. 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
  3. 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".
  4. id Bármely gyermekerőforrás scope 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: RoleAssignmentExists
message: 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: RoleAssignmentRequestPolicyValidationFailed
message: 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: RoleAssignmentRequestPolicyValidationFailed
message: 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: RoleAssignmentRequestPolicyValidationFailed
message: 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: RoleAssignmentRequestPolicyValidationFailed
message: 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: RoleAssignmentRequestPolicyValidationFailed
message: 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