Édition

Partage via


Configurer des stratégies de durée de vie des jetons (préversion)

Dans les étapes suivantes, vous allez implémenter un scénario de stratégie commune qui impose de nouvelles règles pour la durée de vie des jetons. Vous pouvez spécifier la durée de vie d’un jeton SAML, d’accès ou d’ID émis par la plateforme d’identités Microsoft. Cette option peut être définie pour toutes les applications de votre organisation ou pour une application ou un principal spécifique. Elle peut également être définie pour des organisations multiples (application multitenant). Vous pourriez vouloir augmenter la durée de vie du jeton pour qu’un script s’exécute pendant plus d’une heure. De nombreuses bibliothèques Microsoft, telles que le Kit de développement logiciel (SDK) Microsoft Graph PowerShell, étendent la durée de vie des jetons si nécessaire et vous n’avez pas besoin d’apporter de modifications à la stratégie de jeton d’accès. Pour plus d’informations, consultez Durées de vie des jetons configurables.

Prérequis

Pour commencer, téléchargez et installez le kit SDK Microsoft Graph PowerShell.

Créer une stratégie et l’attribuer à une application

Lors des étapes suivantes, vous créerez une stratégie qui nécessite que les utilisateurs s’authentifient moins fréquemment dans votre application web. Attribuez la stratégie à une application, qui définit la durée de vie des jetons d’accès/d’ID sur 4 heures pour votre application web.

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":"4: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

Créer une stratégie et l’attribuer à un principal de service

Lors des étapes suivantes, vous créerez une stratégie qui nécessite que les utilisateurs s’authentifient moins fréquemment dans votre application web. Attribuez la stratégie à un principal de service, qui définit la durée de vie des jetons d’accès/d’ID sur 8 heures pour votre application web.

  1. Créez une stratégie de durée de vie des jetons.

    POST https://graph.microsoft.com/v1.0/policies/tokenLifetimePolicies
    Content-Type: application/json
    {
        "definition": [
            "{\"TokenLifetimePolicy\":{\"Version\":1,\"AccessTokenLifetime\":\"8:00:00\"}}"
        ],
        "displayName": "Contoso token lifetime policy",
        "isOrganizationDefault": false
    }
    
  2. Affectez la stratégie à un principal de service.

    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. Répertoriez les stratégies sur le principal de service.

    GET https://graph.microsoft.com/v1.0/servicePrincipals/00001111-aaaa-2222-bbbb-3333cccc4444/tokenLifetimePolicies
    
  4. Supprimez la stratégie du principal du service.

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

Afficher les stratégies existantes dans un locataire

Pour afficher toutes les stratégies qui ont été créées dans votre organisation, exécutez l’applet de commande Get-MgPolicyTokenLifetimePolicy. Tout résultat ayant une valeur de propriété définie qui diffère des valeurs par défaut indiquées ci-dessus relève du champ d’application de la mise hors service.

  1. Exécutez la commande Get-MgPolicyTokenLifetimePolicy pour afficher toutes les stratégies créées dans votre organisation.

    Get-MgPolicyTokenLifetimePolicy
    
  2. Pour voir les applications qui sont liées à une stratégie spécifique que vous avez identifiée, exécutez List appliesTo avec les ID de votre stratégie.

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

Étape suivante