Konfigurieren von Richtlinien zur Tokenlebensdauer (Vorschau)

In den folgenden Schritten implementieren Sie ein gängiges Richtlinienszenario, in dem neue Regeln für die Tokenlebensdauer durchgesetzt werden. Sie können die Gültigkeitsdauer eines Zugriffs-, SAML- oder ID-Tokens angeben, das von Microsoft Identity Platform ausgestellt wird. Diese kann für alle Apps in Ihrer Organisation oder für eine bestimmte App oder einen bestimmten Prinzipal festgelegt werden. Die Festlegung ist auch für Mehrfachorganisationen (mehrinstanzenfähige Anwendung) möglich. Möglicherweise möchten Sie die Tokenlebensdauer erhöhen, sodass ein Skript für mehr als eine Stunde ausgeführt wird. Viele Microsoft-Bibliotheken, z. B. das Microsoft Graph PowerShell SDK, erweitern die Tokenlebensdauer nach Bedarf, und Sie müssen keine Änderungen an der Zugriffstokenrichtlinie vornehmen. Weitere Informationen hierzu finden Sie unter Konfigurierbare Tokenlebensdauer.

Voraussetzungen

Laden Sie zunächst das neueste Microsoft Graph PowerShell SDK herunter.

Erstellen einer Richtlinie und Zuweisen der Richtlinie zu einer App

In den folgenden Schritten erstellen Sie eine Richtlinie, durch die Benutzer sich weniger häufig in Ihrer Web-App authentifizieren müssen. Weisen Sie die Richtlinie einer App zu, die die Lebensdauer der Zugriffs-/ID-Token für Ihre Web-App auf 4 Stunden festlegt.

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

Erstellen einer Richtlinie und Zuweisen der Richtlinie zu einem Dienstprinzipal

In den folgenden Schritten erstellen Sie eine Richtlinie, durch die Benutzer sich weniger häufig in Ihrer Web-App authentifizieren müssen. Weisen Sie die Richtlinie dem Dienstprinzipal zu, wodurch die Lebensdauer der Zugriffs-/ID-Token für Ihre Web-App auf 8 Stunden festgelegt wird.

  1. Erstellen Sie eine Tokengültigkeitsdauer-Richtlinie.

    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. Weisen Sie die Richtlinie einem Dienstprinzipal zu.

    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. Listen Sie die Richtlinien für den Dienstprinzipal auf.

    GET https://graph.microsoft.com/v1.0/servicePrincipals/00001111-aaaa-2222-bbbb-3333cccc4444/tokenLifetimePolicies
    
  4. Entfernen Sie die Richtlinie vom Dienstprinzipal.

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

Anzeigen vorhandener Richtlinien in einem Mandanten

Führen Sie das Cmdlet Get-MgPolicyTokenLifetimePolicy aus, um alle Richtlinien anzuzeigen, die in Ihrer Organisation erstellt wurden. Alle Ergebnisse mit definierten Eigenschaftswerten, die sich von den oben aufgeführten Standardwerten unterscheiden, sind von der Einstellung betroffen.

  1. Führen Sie Get-MgPolicyTokenLifetimePolicy aus, um alle Richtlinien anzuzeigen, die in Ihrer Organisation erstellt wurden.

    Get-MgPolicyTokenLifetimePolicy
    
  2. Führen Sie List appliesTo mit einer Ihrer Richtlinien-IDs aus, um festzustellen, welche Apps mit einer bestimmten, von Ihnen identifizierten Richtlinie verknüpft sind.

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

Nächster Schritt