Microsoft 身分識別平台中的可設定權杖存留期 (預覽)
您可以為 Microsoft 身分識別平台所簽發的存取、識別碼或 SAML 權杖指定存留期。 您可以為組織中的所有應用程式、多租用戶 (多組織) 應用程式或服務主體設定權杖存留期。 我們目前不支援為受控識別服務主體設定權杖存留期。
在 Microsoft Entra ID 中,原則物件代表在組織中個別應用程式或所有應用程式上強制執行的一組規則。 每個原則類型都包含唯一結構和一組屬性,且這些屬性會套用在指派的物件。
您可以將原則指定為組織的預設原則。 只要沒有優先順序更高的原則覆寫,組織中的任何應用程式就會套用此原則。 您還可以將原則指派給特定應用程式。 優先順序因原則類型而異。
如需範例,請參閱如何設定權杖存留期的範例。
注意
可設定的權杖存留期原則僅適用於可存取 SharePoint Online 和商務用 OneDrive 資源的行動和桌面用戶端,不適用於網頁瀏覽器工作階段。 若要管理 SharePoint Online 和商務用 OneDrive 的網頁瀏覽器工作階段存留期,請使用條件式存取工作階段存留期功能。 請參閱 SharePoint Online 部落格 \(英文\),以深入了解如何設定閒置工作階段逾時。
注意
您可能想要增加權杖存留期,以便指令碼能夠執行超過一小時。 許多 Microsoft 程式庫 (例如 Microsoft Graph PowerShell SDK) 會視需要延長權杖存留期,而您無需變更存取權杖原則。
授權需求
使用此功能需要 Microsoft Entra ID P1 授權。 若要尋找適用於您需求的授權,請參閱比較免費和進階版基本的可用功能。
擁有 Microsoft 365 商務版授權的客戶也有條件式存取功能的存取權。
存取、SAML 和識別碼權杖的權杖存留期原則
您可以設定存取權杖、SAML 權杖和識別碼權杖的權杖存留期原則。
存取權杖
用戶端會使用存取權杖來存取受保護的資源。 存取權杖僅可用於特定使用者、用戶端及資源的組合。 存取權杖無法撤銷,在到期前都有效。 惡意執行者若已取得存取權杖,便可在權杖的存留期範圍內使用該權杖。 調整存取權杖存留期是在改進系統效能與增加用戶端在使用者帳戶停用後保留存取權的時間,這兩者之間所做的一項權衡取捨。 系統效能的改進是藉由減少用戶端需要取得新存取權杖的次數來達成。
存取權杖的預設存留期為變數。 權杖發出後,存取權杖的預設存留期會獲派隨機值,範圍介於 60-90 分鐘 (平均為 75 分鐘)。 預設存留期也會根據要求權杖的用戶端應用程式,或是否在租用戶中啟用條件式存取而有所不同。 如需詳細資訊,請參閱存取權杖存留期。
SAML 權杖
許多 Web 架構 SaaS 應用程式都會使用 SAML 權杖,並使用 Microsoft Entra ID 的 SAML2 通訊協定端點來取得。 使用 WS-同盟的應用程式也會使用它們。 權杖的預設存留期為 1 小時。 從應用程式的觀點來看,權杖的有效期間是由權杖中 <conditions …>
元素的 NotOnOrAfter 值所指定。 在權杖的有效期間結束之後,用戶端必須起始新的驗證要求,這通常會在沒有互動式登入的情況下完成,因為有單一登入 (SSO) 工作階段權杖。
您可以使用中 TokenLifetimePolicy
的 AccessTokenLifetime
參數來變更 NotOnOrAfter 的值。 其會設定為原則中所設定的存留期 (如果有的話),並加上五分鐘的時鐘誤差因子。
在 <SubjectConfirmationData>
元素中指定的主體確認 NotOnOrAfter 不會受到權杖存留期設定的影響。
識別碼權杖
識別碼權杖會傳遞至網站與原生用戶端。 識別碼權杖包含使用者的設定檔資訊。 識別碼權杖會繫結至特定的使用者與用戶端組合。 識別碼權杖在到期前都會被視為有效。 通常,Web 應用程式會將應用程式中的使用者工作階段存留期,與針對該使用者簽發之識別碼權杖的存留期做比對。 您可以調整識別碼權杖的存留期,以控制 Web 應用程式讓應用程式工作階段到期並要求使用者重新向 Microsoft 身分識別平台進行驗證 (以無訊息方式或以互動方式) 的頻率。
重新整理權杖和工作階段權杖的權杖存留期原則
您無法設定重新整理權杖和工作階段權杖的權杖存留期原則。 如需重新整理權杖的存留期、逾時和撤銷資訊,請參閱重新整理權杖。
重要
從 2021 年 1 月 30 日起,您無法設定重新整理和工作階段權杖的存留期。 Microsoft Entra 不再接受現有原則中的重新整理和工作階段權杖設定。 現有權杖到期之後發出的新權杖現在會設定為預設設定。 您仍然可以在重新整理和工作階段權杖設定淘汰之後設定存取、SAML 和識別碼權杖的存留期。
現有權杖的存留期不會變更。 過期之後,將會根據預設值發出新的權杖。
如果您需要繼續定義要求使用者再次登入之前等待的時段,請在條件式存取中設定使用者登入頻率。 若要深入了解條件式存取,請參閱使用條件式存取來設定驗證工作階段管理。
可設定的權杖存留期屬性
權杖存留期原則是一種包含權杖存留期規則的原則物件。 此原則可控制將此資源的存取、SAML 和識別碼權杖視為有效的期限。 無法設定重新整理和工作階段權杖的權杖存留期原則。 如果未設定任何原則,系統就會強制執行預設存留期值。
存取、識別碼和 SAML2 權杖存留期原則的屬性
減少存取權杖存留期屬性可減輕存取權杖或識別碼權杖被惡意執行者長時間使用的風險。 (這些權杖無法撤銷。)缺點是效能會受到負面影響,因為需要更常取代權杖。
如需範例,請參閱為 Web 登入建立原則。
存取、識別碼和 SAML2 權杖設定會受到下列屬性和其各自設定值的影響:
- 屬性:存取權杖存留期
- 原則屬性字串:AccessTokenLifetime
- 影響:存取權杖、識別碼權杖、SAML2 權杖
- 預設值:
- 存取權杖:會因為要求權杖的用戶端應用程式而有所不同。 例如,具有連續存取評估 (CAE) 功能且可協調 CAE 感知工作階段的用戶端,將會看到長時間的權杖存留期 (最多 28 小時)。
- 識別碼權杖、SAML2 權杖:1 小時
- 最小值:10 分鐘
- 最大值:1 天
重新整理和工作階段權杖存留期原則的屬性
重新整理和工作階段權杖設定會受到下列屬性和其各自設定值的影響。 在 2021 年 1 月 30 日淘汰重新整理和工作階段權杖設定之後,Microsoft Entra ID 只會接受如下所述的預設值。 如果您決定不使用條件式存取來管理登入頻率,您的重新整理和工作階段權杖會設定為當天的預設設定,且您將無法再變更其存留期。
屬性 | 原則屬性字串 | Affects | 預設 |
---|---|---|---|
重新整理權杖最大閒置時間 | MaxInactiveTime | 重新整理權杖 | 90 天 |
單一要素重新整理權杖最大壽命 | MaxAgeSingleFactor | 重新整理權杖 (適用於任何使用者) | 直到撤銷為止 |
多重要素重新整理權杖最大壽命 | MaxAgeMultiFactor | 重新整理權杖 (適用於任何使用者) | 直到撤銷為止 |
單一要素工作階段權杖最大壽命 | MaxAgeSessionSingleFactor | 工作階段權杖 (持續性和非持續性) | 直到撤銷為止 |
多重要素工作階段權杖最大壽命 | MaxAgeSessionMultiFactor | 工作階段權杖 (持續性和非持續性) | 直到撤銷為止 |
非持續性工作階段權杖的非作用時間上限為 24 小時,而持續性工作階段權杖的非作用時間上限為 90 天。 只要在 SSO 工作階段權杖的有效期內使用此權杖,有效期就會再延長 24 小時或 90 天。 如果未在 SSO 工作階段權杖的非作用時間上限期間內使用此權杖,系統就會將其視為過期而不再接受它。 此預設期間的任何變更都應使用條件式存取來進行變更。
您可以使用 PowerShell 來尋找將會受到淘汰影響的原則。 使用 PowerShell Cmdlet 查看您組織中建立的所有原則,或找出哪些應用程式會連結至特定原則。
原則評估及優先順序
您可以建立權杖存留期原則,然後將其指派給特定的應用程式以及您的組織。 多個原則可以套用至特定應用程式。 生效的權杖存留期原則會遵循下列規則:
- 如果明確將原則指派給組織,則會強制執行該原則。
- 如果未將任何原則明確指派給組織,則會強制執行指派給應用程式的原則。
- 如果未將任何原則指派給組織或應用程式物件,則會強制執行預設值。 (請參閱可設定的權杖存留期屬性中的表格。)
使用權杖時,系統便會評估權杖的有效性。 在所要存取之應用程式上優先順序最高的原則會生效。
這裡使用的所有時間範圍都會根據 C# TimeSpan \(機器翻譯\) 物件進行格式化:D.HH:MM:SS。 因此,80 天又 30 分鐘為 80.00:30:00
。 如果前置的 D 為零,則可捨棄,因此 90 分鐘為 00:90:00
。
REST API 參考資料
您可以使用 Microsoft Graph 來設定權杖存留期原則,並將其指派給應用程式。 如需詳細資訊,請參閱tokenLifetimePolicy
資源類型及其相關聯的方法。
Cmdlet 參考
這些是 Microsoft Graph PowerShell SDK 中的 Cmdlet。
管理原則
您可以使用下列命令來管理原則。
指令程式 | 描述 |
---|---|
New-MgPolicyTokenLifetimePolicy | 建立新的原則。 |
Get-MgPolicyTokenLifetimePolicy | 取得所有權杖存留期原則或指定的原則。 |
Update-MgPolicyTokenLifetimePolicy | 更新現有的原則。 |
Remove-MgPolicyTokenLifetimePolicy | 刪除指定的原則。 |
應用程式原則
您可以針對應用程式原則使用下列 Cmdlet。
指令程式 | 描述 |
---|---|
New-MgApplicationTokenLifetimePolicyByRef | 將指定的原則連結至應用程式。 |
Get-MgApplicationTokenLifetimePolicyByRef | 取得指派給應用程式的原則。 |
Remove-MgApplicationTokenLifetimePolicyByRef | 從應用程式移除原則。 |
下一步
若要深入了解,請參閱如何設定權杖存留期的範例。