在 Microsoft 流程中針對條件式存取與多重要素驗證的建議

簡介

條件式存取是 Azure Active Directory (Azure AD)的一項功能,可讓您控制使用者存取應用程式和服務的方式和時機。 您應該知道,使用條件式存取可能會對組織中使用 Microsoft 流程連線至與條件式存取原則相關的 Microsoft 服務的使用者造成不利或意想不到的影響。

摘要

條件式存取原則是透過 Azure 入口網站管理,可能有數個需求,包括(但不限於)下列各項:

  • 使用者必須使用多重要素驗證(MFA) (通常是密碼加生物辨識或其他裝置)登入,才能存取部分或所有雲端服務。

  • 使用者只能從公司網路存取部分或所有雲端服務,而不能從其家用網路存取。

  • 使用者只能使用核准的裝置或用戶端應用程式來存取部分或所有雲端服務。

下列螢幕擷取畫面顯示的 MFA 原則範例,在使用者存取 Azure 管理入口網站時,必須針對特定使用者進行 MFA。

Require multi-factor authorization for a user when accessing the Azure Management portal

您也可以從 Azure 入口網站開啟 MFA 設定。 若要這樣做,請選取 [ Azure Active Directory ] >使用者和群組>所有使用者>多重要素驗證],然後使用 [服務設定] 索引標籤來設定原則。

Select Multi-Factor Authentication from Azure portal 您也可以從Microsoft 365 系統管理中心進行 MFA 設定。 Office 365 訂閱者可以使用 Azure MFA 功能的子集。 如需如何啟用 MFA 的詳細資訊,請參閱為Office 365 使用者設定多重要素驗證。 

Select Azure multi-factor authentication from Office 365 admin center

The remember multi-factor authentication option details

[記住多重要素驗證] 設定可協助您使用永久性 cookie 減少使用者登錄的數量。 此原則會控制針對信任裝置的 [記住多重要素驗證] 中所記錄的 Azure AD 設定。

遺憾的是,此設定會變更權杖原則設定,讓流程連線每隔14天過期。 這是在啟用 MFA 之後,流程連線會更頻繁失敗的其中一個常見原因。 我們建議您不要使用此設定。 相反地,您可以使用下列權杖存留期原則來取得相同的功能。

啟用 MFA 後的建議權杖存留期設定

根據下表中的設定,對流程進行條件式存取的主要負面影響。 下表顯示權杖存留期設定的預設值。 我們建議您不要變更這些值。

設定

建議值

在流程中生效

MaxInactiveTime

90天

如果有任何流程連線是閒置的(不受流程執行),且超過此 timespan,則在到期時間失敗之後,任何新的流程都會執行,並傳回下列錯誤:

AADSTS70008:由於不活動,重新整理權杖已過期。 權杖是在時間發出,且在90.00:00:00中不活動

MaxAgeMultiFactor

等到撤銷

此設定會控制多重要素重新整理權杖(在流程連線中使用的標記類型)有效的時間。

預設設定是指不會對流程連線的使用時間有任何限制,除非租使用者管理員明確地撤銷使用者的存取權。

將此值設定為任何固定的時間跨度,表示該持續時間之後(不論使用或不活動),流程連線就會失效,流程就會執行失敗。 發生這種情況時,會產生下列錯誤訊息。 此錯誤需要使用者修復或重新建立連線:

AADSTS50076:由於系統管理員所做的設定變更,或是因為您移至新的位置,所以您必須使用多重要素驗證來存取 .。。

MaxAgeSingleFactor

等到撤銷

這個設定與 [MaxAgeMultiFactor] MaxAgeMultiFactor  設定相同,但適用于單一要素重新整理權杖。

MaxAgeSessionMultiFactor

等到撤銷

資料流程連線沒有直接的效果。 此設定會定義 web 應用程式的使用者會話到期時間。 系統管理員可以變更此設定,視使用者在使用者會話到期之前,使用者登入 web 應用程式的頻率而定。

設定為啟用多重要素之一部分的一些設定可能會影響流程連線。 當您從Microsoft 365 系統管理中心啟用 MFA,且已選取 [記住多重要素驗證設定] 時,設定的值會覆寫預設的權杖原則設定MaxAgeMultiFactorMaxAgeSessionMultiFactor。MaxAgeMultiFactor過期時,流程連線就會開始失敗   ,而且要求使用者使用明確的登入來修正連線。

建議您使用權杖原則,而不要使用 [記住多重要素驗證] 設定來設定不同的MaxAgeMultiFactor 和 MaxAgeSessionMultiFactor設定值。 權杖原則可讓流程連線持續運作,同時也控制 Office 365 web apps 的使用者登入會話。 MaxAgeMultiFactor必須有相當長的時間,就是最理想的,即撤銷前的值。 這是為了讓流程連線持續運作,直到系統管理員撤銷重新整理權杖。 MaxAgeSessionMultiFactor會影響使用者登入會話。 租使用者管理員可以選取所要的值,這要視使用者在會話到期之前登入 Office 365 web app 的頻率而定。

若要查看貴組織中的 Active Directory 原則,您可以使用下列命令。Azure Active Directory 中可設定的權杖存留時間(預覽版)[檔] 提供查詢及更新組織中設定的特定指示。

查看現有的權杖存留期原則

Install-Module AzureADPreview
PS C:\WINDOWS\system32> Connect-AzureAD
PS C:\WINDOWS\system32> Get-AzureADPolicy

若要在下列案例中建立原則或變更現有的原則,請執行下一節中的命令:

  • [記住多重要素驗證] 設定是從 Microsoft 365 系統管理中心啟用。

  • 現有的權杖存留期原則是使用MaxAgeMultiFactor設定的簡短到期值來設定。

建立新的權杖存留期原則

PS C:\WINDOWS\system32>  New-AzureADPolicy -Definition @('{"TokenLifetimePolicy":{"Version":1,"MaxAgeMultiFactor":"until-revoked","MaxAgeSessionMultiFactor":"14.00:00:00"}}') -DisplayName "DefaultPolicyScenario" -IsOrganizationDefault $true -Type "TokenLifetimePolicy"

變更現有的權杖存留期原則

如果預設組織原則已存在,請遵循下列步驟來更新及覆寫這些設定:

  1. 執行下列命令,找出已將IsOrganizationalDefault屬性設為TRUE的原則識別碼:   get-azureadpolicy

  2. 執行下列命令以更新權杖原則設定:   PS > Set-AzureADPolicy -Id <PoliycId> -DisplayName "<PolicyName>" -Definition @('{"TokenLifetimePolicy":{"Version":1,"MaxAgeMultiFactor":"until-revoked","MaxAgeSessionMultiFactor":"14.00:00:00"}}}}')

    注意: 在原始原則中設定的任何其他設定,都必須複製到這個命令。

設定原則之後,租使用者系統管理員可以清除 [記住多重要素驗證] 核取方塊,因為使用者會話的到期是使用標記存留期原則設定。 權杖存留期原則設定在下列情況下,請確定流程連線繼續運作:

  • Office 365 web app 已設定為在X天之後(在步驟2中的14天內)到期使用者會話。

  • App 會要求使用者使用 MFA 再次登入。

其他相關資訊

流程圖入口網站和內嵌體驗的效果

本節詳細說明條件式存取可對組織中的使用者使用流程連線至與原則相關的 Microsoft 服務的一些負面影響。  

效果1:將來執行失敗

如果您在建立流程和連線之後啟用條件式存取原則,流程將會在未來執行時失敗。 當連結的擁有者調查失敗的執行時,會在流程入口網站中看到下列錯誤訊息:

AADSTS50076:由於系統管理員所做的設定變更,或是因為您移至新的位置,所以您必須使用多重要素驗證來存取 <服務>。

Details of the error message including Time, Status, Error, Error Details, and how to fix 當使用者在流程入口網站上查看連線時,會看到如下所示的錯誤訊息:

Status error that users see in Flow saying failed to refresh access token for service

若要解決此問題,使用者必須登入流程入口網站,條件符合他們嘗試存取之服務的存取原則(例如多重要素、公司網路等等),然後修復或重新建立連線。  

效果2:自動建立連線失敗

如果使用者未使用與原則相符的準則登入流程,則會自動建立連線至由條件式存取原則所控制的協力廠商 Microsoft 服務。 使用者必須使用符合其嘗試存取之服務之條件式存取原則的準則,以手動方式建立和驗證連接。 此行為也適用于從流程入口網站建立的1擊範本。

Automatic connection creation error with AADSTS50076

若要解決此問題,使用者必須登入流程入口網站,符合在其嘗試存取之服務的存取原則(例如多重要素、公司網路等),才能建立範本。  

效果3:使用者無法直接建立連線

如果使用者不是使用與原則相符的準則登入流程,他們就無法透過 PowerApps 或流程直接建立連線。 當使用者嘗試建立連線時,會看到下列錯誤訊息:

AADSTS50076:由於系統管理員所做的設定變更,或是因為您移至新的位置,所以您必須使用多重要素驗證來存取 <服務>。

AADSTS50076 error when attempting to create a connection

若要解決此問題,使用者必須登入符合其嘗試存取之服務之訪問原則的條件,然後重新建立連線。  

效果4:流程入口網站上的人員和電子郵件選擇器出現故障

如果 Exchange Online 或 SharePoint 存取是由條件式存取原則所控制,而且如果使用者不是在與流程入口網站上的相同原則、人員和電子郵件選擇器(流程入口網站)失敗時登入流程。 使用者執行下列查詢時,就無法取得組織中群組的完整結果(這些查詢不會傳回 Office 365 群組):

  • 嘗試在流程中共用擁有權或僅限運行許可權

  • 在設計工具中建立流程時選取電子郵件地址

  • 選取流程的輸入時,在 [流程執行] 面板中選取 [人員]

效果5:使用內嵌于其他 Microsoft 服務中的流程功能

當流程內嵌在 Microsoft services (例如 SharePoint、PowerApps、Excel 和團隊)中時,流程使用者也會根據其驗證主機服務的方式,在條件式存取和多重要素原則中受到設定。 例如,如果使用者使用單一要素驗證登入 SharePoint,但嘗試建立或使用需要對 Microsoft Graph 進行多重要素存取的流程,該使用者會收到錯誤訊息。  

效果6:使用 SharePoint 清單和文件庫共用流程

當您嘗試使用 SharePoint 清單和文件庫來共用擁有權或僅限運行許可權時,流程無法提供清單的顯示名稱。 相反地,它會顯示清單的唯一識別碼。 已共用流程之 [流程屬性] 頁面上的 [擁有者] 及 [只執行] 磚,就能顯示識別碼,而不是顯示名稱。

更重要的是,使用者也可能無法從 SharePoint 探索或執行其流程。 這是因為,目前的條件式存取原則資訊不會在 [電源自動化] 和 [SharePoint] 之間傳遞,以讓 SharePoint 作出存取決定。

Share Flows with SharePoint lists and libraries

Owners can see the site url and list ID  

效果7:建立 SharePoint 外框流程

與效果6相關,SharePoint 外框流程的建立和執行(例如「要求籤收」和「頁面核准」流程)可由條件式存取原則封鎖。 條件式存取原則的 SharePoint 檔表示這些原則可能會造成影響第一方和協力廠商應用程式的存取問題。 

這個案例會同時適用于網路位置和條件式存取原則(例如「不允許未管理的裝置」)。 目前正在開發 SharePoint 外框流程的建立支援。 我們將在本文中公佈更多關於此支援的資訊。

在這種情況下,我們建議使用者建立類似的流程本身,並手動與所需的使用者共用這些流程,或是在需要此功能時停用條件式存取原則。

需要更多協助?

擴展您的技能
探索訓練
優先取得新功能
加入 Microsoft 測試人員

這項資訊有幫助嗎?

感謝您的意見反應!

感謝您的意見反應! 我們將協助您與我們的其中一個 Office 支援專員連絡以深入了解您的意見。

×