Microsoft Entra ID 中用於存取內部部署網站的 Cookie 設定
Microsoft Entra ID 有可透過應用程式 Proxy 存取內部部署應用程式的存取和工作階段 Cookie。 了解如何使用應用程式 Proxy Cookie 設定。
什麼是 Cookie 設定?
應用程式 Proxy 會使用下列存取和工作階段 Cookie 設定。
Cookie 設定 | 預設 | 描述 | 建議 |
---|---|---|---|
使用僅限 HTTP Cookie | 否 | 使用 [是] 時,可讓應用程式 Proxy 在 HTTP 回應標頭中包含 HTTPOnly 旗標。 此旗標提供額外的安全性優點,例如可防止用戶端指令碼處理 (CSS) 複製或修改 Cookie。 在我們支援「僅限 HTTP」設定之前,應用程式 Proxy 是透過受保護的傳輸層安全性 (TLS) 通道來加密和傳輸 Cookie,以防止修改。 |
為了獲得額外的安全性優點,請使用 [是]。 針對不需要存取工作階段 Cookie 的用戶端或使用者代理程式,請使用 [否]。 例如,針對透過應用程式 Proxy 連線到「遠端桌面閘道伺服器」的遠端桌面通訊協定 (RDP) 或 Microsoft Terminal Services Client (MTSC),請使用 [否]。 |
使用安全的 Cookie | 是 | 使用 [是] 時,可讓應用程式 Proxy 在 HTTP 回應標頭中包含 Secure 旗標。 安全 Cookie 可藉由透過 TLS 安全防護通道 (例如 HTTPS) 傳輸 Cookie 來提升安全性。 TLS 會防止以純文字傳輸 Cookie。 | 為了獲得額外的安全性優點,請使用 [是]。 |
使用永續性 Cookie | 否 | 使用 [是] 時,可讓應用程式 Proxy 將其存取 Cookie 設定為在網頁瀏覽器關閉時不過期。 永續性會持續到存取權杖到期為止,或直到使用者手動刪除永續性 Cookie 為止。 | 由於讓使用者保持在已獲授權狀態會帶來安全性風險,因此請使用 [否]。 建議只有針對無法在處理序之間共用 Cookie 的舊版應用程式,才使用 [是]。 最好是更新您的應用程式以處理處理序之間的 Cookie 共用,而不要使用永續性 Cookie。 例如,您可能需要使用永續性 Cookie,才能允許使用者從 SharePoint 網站以總管檢視開啟 Office 文件。 在沒有永續性 Cookie 的情況下,如果未在瀏覽器、總管處理序及 Office 處理序之間共用存取 Cookie,此作業就會失敗。 |
SameSite Cookie
未指定 SameSite 屬性的 Cookie 會被視為設定為 SameSite=Lax。 SameSite
屬性會宣告 Cookie 如何限制在相同的網站內容。 當設定為 Lax
時,Cookie 只會傳送至相同網站要求或最上層導覽。 不過,應用程式 Proxy 需要在第三方內容中保留這些 Cookie,才能讓使用者在其工作階段期間妥善登入。 由於需求,已進行更新:
- 將 SameSite 屬性設定為 None。 應用程式 Proxy 工作階段 Cookie 在第三方內容中正確地傳送。
- 將 [使用安全的 Cookie] 設定的預設值設定為 [是]。 Chrome 會拒絕不使用
Secure
旗標的 Cookie。 此變更會套用到所有透過應用程式 Proxy 發佈的現有應用程式。 應用程式 Proxy 存取 Cookie 會設定為「安全」,且只能透過 HTTPS 傳輸。 此變更只會套用至工作階段 Cookie。
此外,如果您的後端應用程式有需要第三方內容的 Cookie,您必須將應用程式變更為使用 SameSite=None
,以明確加入宣告。 應用程式 Proxy 會將 Set-Cookie
標頭轉譯為其 URL,並遵守設定。
進行 Cookie 設定 - Microsoft Entra 系統管理中心
若要使用 Microsoft Entra 系統管理中心來進行 Cookie 設定:
- 以至少應用程式系統管理員的身分登入 Microsoft Entra 系統管理中心。
- 瀏覽至 [身分識別]>[應用程式]>[企業應用程式]>[應用程式 Proxy]。
- 在 [其他設定] 底下,將 Cookie 設定設為 [是] 或 [否]。
- 選取儲存套用變更。
查看目前的 Cookie 設定 - PowerShell
若要查看應用程式目前的 Cookie 設定,請使用下列 PowerShell 命令:
Get-AzureADApplicationProxyApplication -ObjectId <ObjectId> | fl *
設定 Cookie 設定 - PowerShell
在下列 PowerShell 命令中,<ObjectId>
是應用程式的 ObjectId。
僅限 Http Cookie
Set-AzureADApplicationProxyApplication -ObjectId <ObjectId> -IsHttpOnlyCookieEnabled $true
Set-AzureADApplicationProxyApplication -ObjectId <ObjectId> -IsHttpOnlyCookieEnabled $false
安全 Cookie
Set-AzureADApplicationProxyApplication -ObjectId <ObjectId> -IsSecureCookieEnabled $true
Set-AzureADApplicationProxyApplication -ObjectId <ObjectId> -IsSecureCookieEnabled $false
持續性 Cookie
Set-AzureADApplicationProxyApplication -ObjectId <ObjectId> -IsPersistentCookieEnabled $true
Set-AzureADApplicationProxyApplication -ObjectId <ObjectId> -IsPersistentCookieEnabled $false