Configurare i criteri di durata dei token

Questo articolo illustra come configurare i criteri di durata dei token per i token di accesso, SAML e ID rilasciati da Microsoft Identity Platform. Informazioni su come impostare la durata dei token per tutte le app dell'organizzazione, app specifiche o applicazioni multi-tenant per migliorare la sicurezza e la gestione dell'autenticazione. È possibile aumentare la durata del token in modo che uno script venga eseguito per più di un'ora. Molte librerie e applicazioni Microsoft, ad esempio Microsoft Graph PowerShell SDK, aggiornano in modo proattivo i token di accesso in base alle esigenze e non è necessario apportare modifiche ai criteri del token di accesso. Per altre informazioni, vedere Durata dei token configurabili. Per controllare la frequenza di accesso degli utenti, usare invece la frequenza di accesso condizionale .

Prerequisiti

Per iniziare, scaricare la versione più recente di Microsoft Graph PowerShell SDK.

Creare un criterio e assegnarlo a un'app

Nei passaggi seguenti si creerà un criterio che imposta la durata dei token di accesso/ID su 4 ore e si assegnerà il criterio a un'app.

Install-Module Microsoft.Graph

Connect-MgGraph -Scopes  "Policy.ReadWrite.ApplicationConfiguration","Policy.Read.All","Application.ReadWrite.All"

# Create a token lifetime policy
$params = @{
  Definition = @('{"TokenLifetimePolicy":{"Version":1,"AccessTokenLifetime":"04:00:00"}}') 
    DisplayName = "WebPolicyScenario"
  IsOrganizationDefault = $false
}
$tokenLifetimePolicyId=(New-MgPolicyTokenLifetimePolicy -BodyParameter $params).Id

# Display the policy
Get-MgPolicyTokenLifetimePolicy -TokenLifetimePolicyId $tokenLifetimePolicyId

# Assign the token lifetime policy to an app
$params = @{
  "@odata.id" = "https://graph.microsoft.com/v1.0/policies/tokenLifetimePolicies/$tokenLifetimePolicyId"
}

$applicationObjectId="aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb"

New-MgApplicationTokenLifetimePolicyByRef -ApplicationId $applicationObjectId -BodyParameter $params

# List the token lifetime policy on the app
Get-MgApplicationTokenLifetimePolicy -ApplicationId $applicationObjectId

# Remove the policy from the app
Remove-MgApplicationTokenLifetimePolicyByRef -ApplicationId $applicationObjectId -TokenLifetimePolicyId $tokenLifetimePolicyId

# Delete the policy
Remove-MgPolicyTokenLifetimePolicy -TokenLifetimePolicyId $tokenLifetimePolicyId

Creare un criterio e assegnarlo a un principale del servizio

Nei passaggi seguenti si creerà un criterio che imposta la durata dei token di accesso/ID su 8 ore e si assegnerà il criterio a un'entità servizio.

  1. Creare i criteri per la durata dei token.

    POST https://graph.microsoft.com/v1.0/policies/tokenLifetimePolicies
    Content-Type: application/json
    {
        "definition": [
            "{\"TokenLifetimePolicy\":{\"Version\":1,\"AccessTokenLifetime\":\"08:00:00\"}}"
        ],
        "displayName": "Contoso token lifetime policy",
        "isOrganizationDefault": false
    }
    
  2. Assegnare il criterio a un principale del servizio.

    POST https://graph.microsoft.com/v1.0/servicePrincipals/00001111-aaaa-2222-bbbb-3333cccc4444/tokenLifetimePolicies/$ref
    Content-Type: application/json
    {
      "@odata.id":"https://graph.microsoft.com/v1.0/policies/tokenLifetimePolicies/00aa00aa-bb11-cc22-dd33-44ee44ee44ee"
    }
    
  3. Elencare le politiche del principale del servizio.

    GET https://graph.microsoft.com/v1.0/servicePrincipals/00001111-aaaa-2222-bbbb-3333cccc4444/tokenLifetimePolicies
    
  4. Rimuovere le politiche dall'entità servizio.

    DELETE https://graph.microsoft.com/v1.0/servicePrincipals/00001111-aaaa-2222-bbbb-3333cccc4444/tokenLifetimePolicies/00aa00aa-bb11-cc22-dd33-44ee44ee44ee/$ref
    

Visualizzare i criteri esistenti in un tenant

Per visualizzare tutti i criteri creati nell'organizzazione, eseguire il cmdlet Get-MgPolicyTokenLifetimePolicy . Tutti i risultati che definiscono le proprietà del token di aggiornamento o sessione (ad esempio MaxInactiveTime, MaxAgeSingleFactor, MaxAgeMultiFactor) contengono impostazioni legacy che non vengono più rispettate. Queste proprietà sono state ritirate il 30 gennaio 2021. Prendere in considerazione l'aggiornamento o la rimozione di questi criteri per evitare confusione.

  1. Esegui il Get-MgPolicyTokenLifetimePolicy per visualizzare tutti i criteri creati nella tua organizzazione.

    Get-MgPolicyTokenLifetimePolicy
    
  2. Esegui List appliesTo su uno degli ID dei criteri per vedere quali app sono collegate a uno specifico criterio che hai identificato.

    GET https://graph.microsoft.com/v1.0/policies/tokenLifetimePolicies/4d2f137b-e8a9-46da-a5c3-cc85b2b840a4/appliesTo
    

Passaggio successivo