Usare Azure PIM per gestire l'accesso idoneo con l'API REST
Azure Privileged Identity Management (PIM) consente di limitare l'accesso amministratore permanente ai ruoli con privilegi, individuare chi ha accesso e esaminare l'accesso con privilegi. Questo articolo descrive i modi comuni per gestire l'accesso tramite l'API REST.
Elencare le assegnazioni idonee
Per elencare le assegnazioni di ruolo idonee (accesso elenco), è possibile usare una delle istanze di pianificazione dell'idoneità del ruolo - Elenco per le pianificazioni di idoneità all'ambito o all'idoneità al ruolo - Elenco per le API REST dell'ambito . Per affinare i risultati, specificare un ambito e un filtro facoltativo. Per chiamare l'API, è necessario avere accesso all'operazione Microsoft.Authorization/roleAssignments/read
nell'ambito specificato. Tutti i ruoli predefiniti vengono concessi l'accesso a questa operazione.
Importante
La differenza tra pianificazioni e istanze di pianificazione è che, mentre le istanze di pianificazione includono solo assegnazioni attive all'ora corrente, le pianificazioni includono anche assegnazioni che diventeranno attive in futuro.
Iniziare con la richiesta seguente:
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}
All'intero dell'URI sostituire {scope} con l'ambito per il quale elencare le assegnazioni di ruolo.
Scope Tipo providers/Microsoft.Management/managementGroups/{mg-name}
Gruppo di gestione subscriptions/{subscriptionId}
Subscription subscriptions/{subscriptionId}/resourceGroups/myresourcegroup1
Resource group subscriptions/{subscriptionId}/resourceGroups/myresourcegroup1/providers/Microsoft.Web/sites/mysite1
Risorsa Sostituire {filter} con la condizione da applicare per filtrare l'elenco delle assegnazioni di ruolo.
Filtra Descrizione $filter=atScope()
Elencare le assegnazioni di ruolo solo per l'ambito specificato, senza includere le assegnazioni di ruolo negli ambiti secondari. $filter=principalId%20eq%20'{objectId}'
Elencare le assegnazioni di ruolo per un utente, un gruppo o un'entità servizio specificata. $filter=roleDefinitionId%20eq%20'{roleDefinitionId}'
Elencare le assegnazioni di ruolo per una definizione di ruolo specificata. $filter=assignedTo('{objectId}')
Elencare le assegnazioni di ruolo per un utente specificato, incluse quelle ereditate dai gruppi. $filter=asTarget()
Elencare le assegnazioni di ruolo per l'utente o l'entità servizio correnti, incluse quelle ereditate dai gruppi. $filter=assignedTo('{objectId}')+and+atScope()
Elencare le assegnazioni di ruolo per un utente specificato, incluse quelle ereditate da gruppi solo per l'ambito specificato, non incluse le assegnazioni di ruolo nei sottoscope.
Concedere l'assegnazione idonea
Per creare un'assegnazione di ruolo idonea (accesso concesso), usare le richieste di pianificazione dell'idoneità del ruolo - Creare l'API REST e specificare l'entità di sicurezza, la definizione del ruolo, la pianificazione, la richiestaType = AdminAssign
e l'ambito. Per chiamare questa API, è necessario avere accesso all'operazione Microsoft.Authorization/roleAssignments/write
. Tra i ruoli predefiniti, l'accesso a questa operazione viene concesso soltanto ai ruoli Proprietario e Amministratore Accesso utenti.
Usare l'API REST per l'elenco delle definizioni del ruolo o vedere Ruoli predefiniti per ottenere l'identificatore per la definizione del ruolo da assegnare.
Usare uno strumento GUID per generare un identificatore univoco che verrà usato per l'identificatore dell'assegnazione di ruolo. Il formato dell'identificatore è:
00000000-0000-0000-0000-000000000000
Iniziare con la richiesta e il corpo seguenti:
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 } } } }
All'interno dell'URI sostituire {scope} con l'ambito per l'assegnazione di ruolo.
Scope Tipo providers/Microsoft.Management/managementGroups/{mg-name}
Gruppo di gestione subscriptions/{subscriptionId}
Subscription subscriptions/{subscriptionId}/resourceGroups/myresourcegroup1
Resource group subscriptions/{subscriptionId}/resourceGroups/myresourcegroup1/providers/Microsoft.Web/sites/mysite1
Risorsa Sostituire {roleEligibilityScheduleRequestName} con l'identificatore GUID dell'assegnazione di ruolo.
All'interno del corpo della richiesta sostituire {subscriptionId} con l'identificatore della sottoscrizione.
Sostituire {roleDefinitionId} con l'identificatore della definizione del ruolo.
Sostituire {principalId} con l'identificatore di oggetto dell'utente, del gruppo o dell'entità servizio a cui verrà assegnato il ruolo.
Rimuovere l'assegnazione idonea
Per rimuovere un'assegnazione di ruolo idonea (rimuovere l'accesso), usare le richieste di pianificazione idoneità ruolo - Creare una nuova richiesta per revocare l'assegnazione e specificare l'entità di sicurezza, la definizione del ruolo, requestType = AdminRemove
e l'ambito. Per chiamare questa API, è necessario avere accesso all'operazione Microsoft.Authorization/roleAssignments/write
. Tra i ruoli predefiniti, l'accesso a questa operazione viene concesso soltanto ai ruoli Proprietario e Amministratore Accesso utenti.
Usare uno strumento GUID per generare un identificatore univoco che verrà usato per l'identificatore dell'assegnazione di ruolo. Il formato dell'identificatore è:
00000000-0000-0000-0000-000000000000
Iniziare con la richiesta seguente:
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" } }
All'interno dell'URI sostituire {scope} con l'ambito per la rimozione dell'assegnazione di ruolo.
Scope Tipo providers/Microsoft.Management/managementGroups/{mg-name}
Gruppo di gestione subscriptions/{subscriptionId}
Subscription subscriptions/{subscriptionId}/resourceGroups/myresourcegroup1
Resource group subscriptions/{subscriptionId}/resourceGroups/myresourcegroup1/ providers/Microsoft.Web/sites/mysite1
Risorsa Sostituire {roleEligibilityScheduleRequestName} con l'identificatore GUID dell'assegnazione di ruolo.
Errori comuni restituiti per una nuova richiesta
Di seguito è riportato un elenco di errori comuni che potrebbero verificarsi durante la creazione di una nuova richiesta e come attenuarli.
Messaggio di errore | Explanantion | Strategia di riduzione del rischio |
---|---|---|
code : RoleAssignmentExistsmessage : l'assegnazione di ruolo esiste già. |
Esiste già un'assegnazione di ruolo simile | È possibile GET eseguire questa assegnazione di ruolo e verificare la pianificazione. |
code : RoleAssignmentRequestPolicyValidationFailedmessage : le regole dei criteri seguenti non sono riuscite: ["ExpirationRule"] |
L'oggetto ScheduleInfo specificato nella richiesta supera la durata massima consentita |
Per questa RoleDefinitionId operazione è possibile GET selezionare RoleManagementPolicyRoleManagementPolicyExpirationRule |
code : RoleAssignmentRequestPolicyValidationFailedmessage : le regole dei criteri seguenti non sono riuscite: ["JustificationRule"] |
È necessario specificare un Justification oggetto nel corpo della richiesta |
Per questa RoleDefinitionId operazione è possibile GET selezionare RoleManagementPolicyRoleManagementPolicyEnablementRule |
code : RoleAssignmentRequestPolicyValidationFailedmessage : le regole dei criteri seguenti non sono riuscite: ["IdoneitàRule"] |
Un valore valido RoleEligibilityScheduleInstance non esiste per attivare questo ruolo |
Un amministratore di risorse deve creare un RoleEligibilityScheduleRequest oggetto per questa entità |
code : RoleAssignmentRequestPolicyValidationFailedmessage : le regole dei criteri seguenti non sono riuscite: ["TicketingRule"] |
È necessario specificare un TicketInfo oggetto nel corpo della richiesta |
Per questa RoleDefinitionId operazione è possibile GET selezionare RoleManagementPolicyRoleManagementPolicyEnablementRule |
code : RoleAssignmentRequestPolicyValidationFailedmessage : le regole dei criteri seguenti non sono riuscite: ["MfaRule"] |
È necessario completare Azure Multi-Factor Authentication per inviare questa richiesta | Per questa RoleDefinitionId operazione è possibile GET selezionare RoleManagementPolicyRoleManagementPolicyEnablementRule |