Microsoft 身份平台中的可配置令牌壽命

您可以設定Microsoft身分識別平臺所發行之存取、標識碼或安全性判斷提示標記語言 (SAML) 令牌的存留期。 您可以為組織中的所有應用程式、多租使用者應用程式或特定服務主體設定令牌存留期。 不支援為 受控識別服務主體 設定令牌存留期。

在 Microsoft Entra ID 中,原則會定義套用至個別應用程式或組織中所有應用程式的規則。 每個原則類型都有唯一屬性,可決定在指派對象上強制執行它的方式。

您可以將原則指定為組織的預設原則,套用至所有應用程式,除非被較高優先順序的原則覆寫。 原則也可以指派給特定應用程式,優先順序會依原則類型而不同。

如需實際指引,請參閱 如何設定令牌存留期的範例。

限制與考量

在設定代幣壽命政策前,請注意以下事項:

  • 無入口網站介面:代幣終身政策只能透過 Microsoft Graph API 與 Microsoft Graph PowerShell SDK 管理。 Microsoft Entra 管理中心沒有設定介面。
  • SharePoint 與 OneDrive:可設定的令牌終身政策僅適用於存取 SharePoint Online 及 OneDrive for Business 資源的行動及桌面客戶端。 它不適用於瀏覽器網頁會話。 要管理網頁瀏覽器會話壽命,請使用條件存取(Conditional Access Session)會話壽命。 請參閱 SharePoint Online 部落格 ,了解如何設定閒置會話逾時。
  • 個人 Microsoft 帳號:為個人 Microsoft 帳號開發的應用程式不支援代幣終身政策(其中 signInAudience 設為 或 AzureADandPersonalMicrosoftAccountPersonalMicrosoftAccount)。
  • 受管理身份:不支援設定 受管理身份服務主體 的憑證壽命。
  • 刷新與會話令牌有效期:重新整理令牌與會話令牌的有效期不再可透過令牌有效期策略進行配置。 Microsoft Entra ID 僅使用以下描述的預設值。 若要控制使用者登入的頻率,請改用 條件存取(Conditional Access sign-in)登入頻率 。

存取、SAML 和 ID 權杖的存放期限政策

您可以設定存取權杖、SAML 權杖和識別碼權杖的權杖存留期原則。

存取令牌

用戶端會使用存取權杖來存取受保護的資源。 存取權杖僅可用於特定使用者、用戶端及資源的組合。 調整存取權杖存留期是在改進系統效能與增加用戶端在使用者帳戶停用後保留存取權的時間,這兩者之間所做的一項權衡取捨。 系統效能的改進是藉由減少用戶端需要取得新存取權杖的次數來達成。

存取權杖的預設存留期為變數。 權杖發出後,存取權杖的預設存留期會獲派隨機值,範圍介於 60-90 分鐘 (平均為 75 分鐘)。 預設壽命也會依請求令牌的客戶端應用程式、令牌所發放的資源,以及租戶是否啟用條件存取而有所不同。 如需詳細資訊,請參閱存取權杖存留期。

當用戶端與資源皆支援 持續存取評估(CAE)時,當安全時,令牌壽命可自動延長至 24-28 小時。 這些長壽代幣將在關鍵事件(如帳號停用及密碼變更)時即時被撤銷。 了解更多關於 CAE 如何影響代幣壽命

SAML 憑證

許多 Web 架構 SaaS 應用程式都會使用 SAML 權杖,並使用 Microsoft Entra ID 的 SAML2 通訊協定端點來取得。 使用 WS-同盟的應用程式也會使用它們。 令牌的預設存留期為 1 小時。 從應用程式的觀點來看,權杖的有效期間是由權杖中 <conditions …> 元素的 NotOnOrAfter 值所指定。 在權杖的有效期結束後,客戶端必須發起新的身份驗證請求,通常無需互動式登入即可完成,因為有單一登入 (SSO) 會話權杖。

您可以使用中 AccessTokenLifetime 的 TokenLifetimePolicy 參數來變更 NotOnOrAfter 的值。 其會設定為原則中所設定的存留期 (如果有的話),並加上五分鐘的時鐘誤差因子。

在 <SubjectConfirmationData> 元素中指定的主體確認 NotOnOrAfter 不會受到權杖存留期設定的影響。

ID 令牌

ID 權杖會傳遞至網站與原生應用程式。 ID 權杖包含用戶的資料資訊。 ID 權杖會綁定至特定的使用者與客戶端組合。 在到期前,ID 權杖被視為有效。 通常,Web 應用程式會將應用程式中的使用者工作階段存留期,與針對該使用者簽發之識別碼權杖的存留期做比對。 您可以調整 ID 令牌的有效期,以控制 Web 應用程式會話過期的頻率,以及要求使用者透過 Microsoft 身分識別平台重新驗證的頻率(無論是靜默方式還是互動方式)。

可設定的權杖存留期屬性

權杖存續期政策是一種包含權杖存續期規則的政策物件。 此原則控制對此資源的存取、SAML 和 ID 權杖的有效期限。 無法為更新權杖和會話權杖設定權杖存活期原則。 如果未設定任何原則,系統就會強制執行預設存留期值。

存取、識別碼和 SAML2 權杖存留期原則的屬性

縮短存取權杖的壽命有助於限制被入侵的存取權杖或 ID 令牌被惡意行為者使用的時間。 代價是效能會受到不利影響,因為代幣必須更頻繁地更換。

如需範例,請參閱為 Web 登入建立原則。

存取權杖、ID 權杖及 SAML2 權杖的壽命由以下政策屬性控制:

  • 屬性:存取權杖存留期
  • 政策屬性字串: AccessTokenLifetime
  • 影響:存取權杖、識別碼權杖、SAML2 權杖
  • 預設值:
    • 存取權杖:會因為要求權杖的用戶端應用程式而有所不同。 具備 CAE 能力的客戶端若能協商 CAE 感知會話,可能會獲得長效令牌(最長 28 小時)。
    • ID令牌、SAML2令牌:一個小時
  • 最少:10分鐘(00:10:00)
  • 最多:一天(23:59:59)

注意

儘管名稱如此,AccessTokenLifetime 控制存取 token、ID 令牌及 SAML2 令牌的存續時間。

原則評估及優先順序

您可以建立權杖存留期策略,然後將其指派至特定應用程式及您的組織。 多個原則可以套用至特定應用程式。 生效的權杖存留期原則會遵循下列規則:

重要

對於代幣終身政策, 組織層級 的政策優先於 應用程式層 級的政策。 如果你的應用程式層級政策似乎沒有生效,請檢查是否有組織層級的政策。

  • 如果明確將原則指派給組織,則會強制執行該原則。
  • 如果未將任何原則明確指派給組織,則會強制執行指派給應用程式的原則。
  • 如果未將任何原則指派給組織或應用程式物件,則會強制執行預設值。 (請參閱可設定的權杖存留期屬性中的表格。)

使用權杖時,系統便會評估權杖的有效性。 在所要存取之應用程式上優先順序最高的原則會生效。

更新代幣與會話代幣的存續期間政策(已退休)

重要

自 2021 年 1 月 30 日起,刷新和會話令牌的有效期不再可透過令牌存續時間策略配置。 Microsoft Entra ID 僅使用以下描述的預設值。 若要控制使用者登入的頻率,請改用 條件存取(Conditional Access sign-in)登入頻率 。

如果你已有設定刷新或會話令牌屬性的政策,這些屬性會被忽略。 新代幣總是以預設配置發放。

刷新與會話令牌預設值(無法配置)

下表記錄了仍然有效的預設值。 這些數值無法透過代幣終身政策更改。

屬性 原則屬性字串 預設
刷新權杖最大不活動時間 MaxInactiveTime 90 天
單一要素刷新權杖最大時限 MaxAgeSingleFactor 直到撤銷為止
多重要素刷新權杖最大有效期 MaxAgeMultiFactor 直到撤銷為止
單因素會話憑證的最大壽命 MaxAgeSessionSingleFactor 直到撤銷為止
多重要素會話令牌最大有效期 MaxAgeSessionMultiFactor 直到撤銷為止

非持久會話令牌的最大非活躍時間為 24 小時;持久會話令牌的最大非活躍時間為 90 天。 當 SSO 會話令牌在有效期內使用時,有效期會分別延長 24 小時或 90 天。

要找出可能仍包含已退役刷新/會話令牌屬性的現有政策,請使用 PowerShell cmdlet 指令。

REST API 參考資料

提示

所有時間長度皆採用 C# TimeSpan 格式格式: hh:mm:ss。 最小值為 10 分鐘 00:10:00 ,最大值為 23:59:59。

您可以使用 Microsoft Graph 來設定權杖存留期原則,並將其指派給應用程式。 如需詳細資訊,請參閱tokenLifetimePolicy 資源類型及其相關聯的方法。

Cmdlet 參考

這些是 Microsoft Graph PowerShell SDK 中的 Cmdlet。

管理策略

您可以使用下列命令來管理原則。

指令程式 描述
New-MgPolicyTokenLifetimePolicy 建立新的政策。
Get-MgPolicyTokenLifetimePolicy 取得所有權杖存續時間政策或指定的政策。
Update-MgPolicyTokenLifetimePolicy 更新現有的原則。
Remove-MgPolicyTokenLifetimePolicy 解除 MgPolicyTokenLifetimePolicy 設定 刪除指定的原則。

應用程式原則

你可以使用以下指令小程式來管理應用程式政策。

Cmdlet 描述
New-MgApplicationTokenLifetimePolicyByRef 將指定的原則連結至應用程式。
Get-MgApplicationTokenLifetimePolicyByRef 取得指派給應用程式的原則。
Remove-MgApplicationTokenLifetimePolicyByRef 從應用程式移除政策。

下一步

若要深入了解,請參閱如何設定權杖存留期的範例。