設定權杖存留期原則 (預覽)

在下列步驟中,您將實作一般原則案例,以針對令牌存留期強加新的規則。 您可以指定 Microsoft 身分識別平台 所簽發之存取權、SAML 或識別碼令牌的存留期。 這可以針對貴組織中的所有應用程式或特定應用程式或主體進行設定。 您也可以為多組織設定它們(多租使用者應用程式)。 如需詳細資訊,請參閱 可設定的令牌存留期。

必要條件

若要開始使用,請下載最新的 Microsoft Graph PowerShell SDK

建立原則並將它指派給應用程式

在下列步驟中,您將建立原則,要求使用者在 Web 應用程式中驗證的頻率較低。 將原則指派給應用程式,以將 Web 應用程式的存取/標識元令牌存留期設定為 4 小時。

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="11111111-1111-1111-1111-111111111111"

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

建立原則並將它指派給服務主體

在下列步驟中,您將建立原則,要求使用者在 Web 應用程式中驗證的頻率較低。 將原則指派給服務主體,這會將 Web 應用程式的存取/標識元令牌存留期設定為 8 小時。

  1. 建立令牌存留期原則。

    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. 將原則指派給服務主體。

    POST https://graph.microsoft.com/v1.0/servicePrincipals/11111111-1111-1111-1111-111111111111/tokenLifetimePolicies/$ref
    Content-Type: application/json
    {
      "@odata.id":"https://graph.microsoft.com/v1.0/policies/tokenLifetimePolicies/22222222-2222-2222-2222-222222222222"
    }
    
  3. 列出服務主體上的原則。

    GET https://graph.microsoft.com/v1.0/servicePrincipals/11111111-1111-1111-1111-111111111111/tokenLifetimePolicies
    
  4. 從服務主體移除原則。

    DELETE https://graph.microsoft.com/v1.0/servicePrincipals/11111111-1111-1111-1111-111111111111/tokenLifetimePolicies/22222222-2222-2222-2222-222222222222/$ref
    

檢視租使用者中的現有原則

若要查看組織中建立的所有原則,請執行 Get-MgPolicyTokenLifetimePolicy Cmdlet。 任何具有與上述預設值不同之已定義屬性值的結果,都是在淘汰範圍內。

  1. Get-MgPolicyTokenLifetimePolicy執行 以查看已在組織中建立的所有原則。

    Get-MgPolicyTokenLifetimePolicy
    
  2. 執行 清單套用至 任何原則標識碼,以查看哪些應用程式已連結到您所識別的特定原則。

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

後續步驟