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.
Configurer des stratégies de durée de vie des jetons (préversion)
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.
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 }
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" }
Répertoriez les stratégies sur le principal de service.
GET https://graph.microsoft.com/v1.0/servicePrincipals/00001111-aaaa-2222-bbbb-3333cccc4444/tokenLifetimePolicies
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.
Exécutez la commande
Get-MgPolicyTokenLifetimePolicy
pour afficher toutes les stratégies créées dans votre organisation.Get-MgPolicyTokenLifetimePolicy
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