在下列步驟中,您將實作常見的原則案例,以針對權杖存留期強制執行新規則。 您可以指定 Microsoft 身分識別平台所簽發之存取權、SAML 或識別碼權杖的存留期。 您可以針對組織中的所有應用程式或特定應用程式或主體設定此設定。 您也可以針對多個組織設定它們 (多租用戶應用程式)。 您可能想要增加權杖存留期,以便指令碼能夠執行超過一小時。 許多 Microsoft 程式庫 (例如 Microsoft Graph PowerShell SDK) 會視需要延長權杖存留期,而您無需變更存取權杖原則。 如需詳細資訊,請參閱可設定的權杖存留期。
設定權杖存留期原則 (預覽)
必要條件
若要開始使用,請下載最新的 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="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
建立原則,並將其指派給服務主體
在下列步驟中,您將建立一個原則來要求使用者在您的 Web 應用程式中更不頻繁進行驗證。 將原則指派給服務主體,以將 Web 應用程式的存取/識別碼權杖存留期設定為 8 小時。
建立權杖存留期原則。
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 }
將原則指派給服務主體。
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" }
列出服務主體上的原則。
GET https://graph.microsoft.com/v1.0/servicePrincipals/00001111-aaaa-2222-bbbb-3333cccc4444/tokenLifetimePolicies
從服務主體移除原則。
DELETE https://graph.microsoft.com/v1.0/servicePrincipals/00001111-aaaa-2222-bbbb-3333cccc4444/tokenLifetimePolicies/00aa00aa-bb11-cc22-dd33-44ee44ee44ee/$ref
檢視租用戶中的現有原則
若要查看已在您組織中建立的所有原則,請執行 Get-MgPolicyTokenLifetimePolicy Cmdlet。 具有已定義屬性值 (與上方列出的預設值不同) 的任何結果都在淘汰範圍內。