Azure PIM gebruiken om in aanmerking komende toegang te beheren met de REST API
Met Azure Privileged Identity Management (PIM) kunt u permanente beheerderstoegang beperken tot bevoorrechte rollen, ontdekken wie toegang heeft en bevoegde toegang controleren. In dit artikel worden de algemene manieren beschreven om toegang te beheren met behulp van de REST API.
In aanmerking komende toewijzingen weergeven
Als u in aanmerking komende roltoewijzingen (lijsttoegang) wilt weergeven, kunt u een van de INSTANTIES van het Rolgeen geschiktheidsschema gebruiken - Lijst voor bereik of Rol geschiktheidsschema's - Lijst voor bereik REST API's. Als u uw resultaten wilt verfijnen, geeft u een bereik en een optioneel filter op. Als u de API wilt aanroepen, moet u toegang hebben tot de Microsoft.Authorization/roleAssignments/read
bewerking binnen het opgegeven bereik. Alle ingebouwde rollen krijgen toegang tot deze bewerking.
Belangrijk
Het verschil tussen planningen en planningexemplaren is dat hoewel planningexemplaren alleen toewijzingen bevatten die op het huidige tijdstip actief zijn, planningen ook toewijzingen bevatten die in de toekomst actief worden.
Begin met de volgende aanvraag:
GET https://management.azure.com/{scope}/providers/Microsoft.Authorization/roleEligibilityScheduleInstances?api-version=2020-10-01&$filter={filter}
GET https://management.azure.com/{scope}/providers/Microsoft.Authorization/roleEligibilitySchedules?api-version=2020-10-01&$filter={filter}
Vervang binnen de URI {scope} door het bereik waarvoor u de roltoewijzingen wilt weergeven.
Bereik Type providers/Microsoft.Management/managementGroups/{mg-name}
Beheergroep subscriptions/{subscriptionId}
Abonnement subscriptions/{subscriptionId}/resourceGroups/myresourcegroup1
Resourcegroep subscriptions/{subscriptionId}/resourceGroups/myresourcegroup1/providers/Microsoft.Web/sites/mysite1
Resource Vervang {filter} door de voorwaarde die u wilt toepassen om de lijst met roltoewijzingen te filteren.
Filter Beschrijving $filter=atScope()
Roltoewijzingen weergeven voor alleen het opgegeven bereik, met inbegrip van de roltoewijzingen op subscopen. $filter=principalId%20eq%20'{objectId}'
Roltoewijzingen weergeven voor een opgegeven gebruiker, groep of service-principal. $filter=roleDefinitionId%20eq%20'{roleDefinitionId}'
Roltoewijzingen weergeven voor een opgegeven roldefinitie. $filter=assignedTo('{objectId}')
Roltoewijzingen weergeven voor een opgegeven gebruiker, inclusief gebruikers die zijn overgenomen van groepen. $filter=asTarget()
Maak een lijst met roltoewijzingen voor de huidige gebruiker of service-principal, inclusief de toewijzingen die zijn overgenomen van groepen. $filter=assignedTo('{objectId}')+and+atScope()
Geef roltoewijzingen weer voor een opgegeven gebruiker, inclusief de toewijzingen die zijn overgenomen van groepen voor alleen het opgegeven bereik, met inbegrip van de roltoewijzingen op subscopen.
In aanmerking komende toewijzing verlenen
Als u een in aanmerking komende roltoewijzing wilt maken (toegang verlenen), gebruikt u de AANVRAGEN voor het rolgebeurtenisschema - REST-API maken en geeft u de beveiligingsprincipal, roldefinitie, planning, requestType = AdminAssign
en bereik op. Als u deze API wilt aanroepen, moet u toegang hebben tot Microsoft.Authorization/roleAssignments/write
de bewerking. Van de ingebouwde rollen krijgen alleen Eigenaar en Beheerder van gebruikerstoegang toegang tot deze bewerking.
Gebruik de ROLdefinities - LIST REST API of zie Ingebouwde rollen om de id op te halen voor de roldefinitie die u wilt toewijzen.
Gebruik een GUID-hulpprogramma om een unieke id te genereren die wordt gebruikt voor de roltoewijzings-id. De id heeft de indeling:
00000000-0000-0000-0000-000000000000
Begin met de volgende aanvraag en hoofdtekst:
PUT https://management.azure.com/{scope}/providers/Microsoft.Authorization/roleEligibilityScheduleRequests/{roleEligibilityScheduleRequestName}?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": "P365D" // Use ISO 8601 format } } } }
Vervang binnen de URI {scope} door het bereik voor de roltoewijzing.
Bereik Type providers/Microsoft.Management/managementGroups/{mg-name}
Beheergroep subscriptions/{subscriptionId}
Abonnement subscriptions/{subscriptionId}/resourceGroups/myresourcegroup1
Resourcegroep subscriptions/{subscriptionId}/resourceGroups/myresourcegroup1/providers/Microsoft.Web/sites/mysite1
Resource Vervang {roleEligibilityScheduleRequestName} door de GUID-id van de roltoewijzing.
Vervang {subscriptionId} in de aanvraagbody door uw abonnements-id.
Vervang {roleDefinitionId} door de roldefinitie-id.
Vervang {principalId} door de object-id van de gebruiker, groep of service-principal waaraan de rol wordt toegewezen.
In aanmerking komende toewijzing verwijderen
Als u een in aanmerking komende roltoewijzing wilt verwijderen (toegang verwijderen), gebruikt u de AANVRAGEN voor het rolgebeurtenisschema - REST-API maken om een nieuwe aanvraag te maken om de toewijzing in te trekken en geeft u de beveiligingsprincipal, roldefinitie, requestType = AdminRemove
en bereik op. Als u deze API wilt aanroepen, moet u toegang hebben tot de Microsoft.Authorization/roleAssignments/write
bewerking. Van de ingebouwde rollen krijgen alleen Eigenaar en Beheerder van gebruikerstoegang toegang tot deze bewerking.
Gebruik een GUID-hulpprogramma om een unieke id te genereren die wordt gebruikt voor de roltoewijzings-id. De id heeft de indeling:
00000000-0000-0000-0000-000000000000
Begin met de volgende aanvraag:
PUT https://management.azure.com/{scope}/providers/Microsoft.Authorization/roleEligibilityScheduleRequests/{roleEligibilityScheduleRequestName}?api-version=2020-10-01
{ "Properties": { "RoleDefinitionId": "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId}", "PrincipalId": "{principalId}", "RequestType": "AdminRemove" } }
Vervang binnen de URI {scope} door het bereik voor het verwijderen van de roltoewijzing.
Bereik Type providers/Microsoft.Management/managementGroups/{mg-name}
Beheergroep subscriptions/{subscriptionId}
Abonnement subscriptions/{subscriptionId}/resourceGroups/myresourcegroup1
Resourcegroep subscriptions/{subscriptionId}/resourceGroups/myresourcegroup1/ providers/Microsoft.Web/sites/mysite1
Resource Vervang {roleEligibilityScheduleRequestName} door de GUID-id van de roltoewijzing.
Veelvoorkomende fouten die worden geretourneerd voor een nieuwe aanvraag
Hieronder volgt een lijst met veelvoorkomende fouten die kunnen optreden tijdens het maken van een nieuwe aanvraag en hoe u deze kunt verhelpen.
Foutbericht | Toelichting | Oplossing |
---|---|---|
code : RoleAssignmentExistsmessage : de roltoewijzing bestaat al. |
Er bestaat al een vergelijkbare roltoewijzing | U kunt GET deze roltoewijzing controleren en de planning controleren. |
code : RoleAssignmentRequestPolicyValidationFailedmessage : De volgende beleidsregels zijn mislukt: ["ExpirationRule"] |
De ScheduleInfo opgegeven in de aanvraag overschrijdt de maximaal toegestane duur |
U kunt GET hiervoor het RoleManagementPolicyRoleDefinitionId gebruiken en de RoleManagementPolicyExpirationRule |
code : RoleAssignmentRequestPolicyValidationFailedmessage : De volgende beleidsregels zijn mislukt: ["JustificationRule"] |
U moet een Justification opgeven in de hoofdtekst van de aanvraag |
U kunt GET hiervoor het RoleManagementPolicyRoleDefinitionId gebruiken en de RoleManagementPolicyEnablementRule |
code : RoleAssignmentRequestPolicyValidationFailedmessage : De volgende beleidsregels zijn mislukt: ["EligibilityRule"] |
Er bestaat geen geldige RoleEligibilityScheduleInstance functie om deze rol te activeren |
Een resourcebeheerder moet een RoleEligibilityScheduleRequest maken voor deze principal |
code : RoleAssignmentRequestPolicyValidationFailedmessage : De volgende beleidsregels zijn mislukt: ["TicketingRule"] |
U moet een TicketInfo opgeven in de hoofdtekst van de aanvraag |
U kunt GET hiervoor het RoleManagementPolicyRoleDefinitionId gebruiken en de RoleManagementPolicyEnablementRule |
code : RoleAssignmentRequestPolicyValidationFailedmessage : De volgende beleidsregels zijn mislukt: ["MfaRule"] |
U moet Azure Multi-Factor Authentication voltooien om deze aanvraag in te dienen | U kunt GET hiervoor het RoleManagementPolicyRoleDefinitionId gebruiken en de RoleManagementPolicyEnablementRule |