Microsoft Flow 中的條件式存取和多重要素驗證建議

條件式存取 是 Azure Active Directory (Azure AD) 的一項功能,可讓您控制使用者存取應用程式和服務的時機。 儘管其實用性,但您應該注意,使用條件式存取可能會對組織中使用 Microsoft Flow 連線到與條件式存取原則相關之 Microsoft 服務的使用者造成不良或非預期的影響。

適用于:   Power Automate
原始 KB 編號:   4467879

摘要

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

  • 使用者必須使用 多重要素驗證登入 (MFA) (通常密碼加上生物特徵辨識或其他裝置) ,才能存取部分或所有雲端服務。
  • 使用者只能從公司網路存取部分或所有雲端服務,而無法從其主機網路存取。
  • 使用者只能使用核准的裝置或用戶端應用程式來存取部分或所有雲端服務。

下列螢幕擷取畫面顯示在特定使用者存取 Azure 管理入口網站時需要 MFA 的 MFA 原則範例。

螢幕擷取畫面顯示存取 Azure 管理入口網站時,特定使用者需要 M F A 的範例。

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

此螢幕擷取畫面顯示從Azure 入口網站開啟 M F A 設定的步驟。

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

此螢幕擷取畫面顯示可從 Microsoft 365 系統管理中心 設定 M F A。

記住多重要素驗證選項詳細資料的螢幕擷取畫面。

[記住多重要素驗證] 設定可協助您使用永續性 Cookie 來減少使用者登入數目。 此原則會控制受 信任裝置的記住 Multi-Factor Authentication中記載的 Azure AD 設定。

可惜的是,此設定會變更權杖原則設定,讓 Flow 連線每隔 14 天到期一次。 這是啟用 MFA 之後,Flow 連線失敗頻率更頻繁的常見原因之一。 建議您不要使用此設定。 相反地,您可以使用下列權杖存留期原則來達到相同的功能。

下表中的設定造成 Flow 上條件式存取的主要負面影響。 下表顯示權杖存留期設定的預設值。 建議您不要變更這些值。

設定 建議值 對流程的影響
MaxInactiveTime 90 天 如果任何 Flow 連線閒置 (Flow 執行) 超過此時間範圍,則任何在到期時間之後執行的新 Flow 都會失敗,並傳回下列錯誤:

AADSTS70008:重新整理權杖因閒置而過期。權杖是在 Time 發行,且在 90.00:00:00 中處於非作用中狀態
MaxAgeMultiFactor Until-Revoked 此設定可控制多重要素重新整理權杖 (Flow 連線中使用的權杖類型) 有效的時間長度。

預設設定表示可以使用 Flow 連線的時間實際上沒有任何限制 -除非租使用者系統管理員明確撤銷使用者的存取權。

將此值設定為任何固定的時間範圍,表示不論使用或閒置) ,該持續時間 (之後,Flow 連線都會變成無效,而 Flow 會接著執行失敗。 發生這種情況時,會產生下列錯誤訊息。 此錯誤需要使用者修復或重新建立連線:

AADSTS50076:由於系統管理員所做的組態變更,或因為您移至新的位置,您必須使用多重要素驗證才能存取...
MaxAgeSingleFactor Until-Revoked 此設定與 MaxAgeMultiFactor 設定相同,但適用于單一因素重新整理權杖。
MaxAgeSessionMultiFactor Until-Revoked Flow 連線沒有直接影響。 此設定會定義 Web 應用程式的使用者會話到期。 系統管理員可以根據使用者希望使用者在使用者會話到期之前登入 Web 應用程式的頻率而變更此設定。

啟用多重要素時設定的某些設定可能會影響 Flow 連線。 從 Microsoft 365 系統管理中心 啟用 MFA 並選取 [記住多重要素驗證] 設定時,設定的值會覆寫預設權杖原則設定 MaxAgeMultiFactorMaxAgeSessionMultiFactor。 當 MaxAgeMultiFactor 到期時,流量連線會開始失敗,而且需要使用者使用明確登入來修正連線。

建議您使用權杖原則,而不是 記住多重要素驗證 設定,為 MaxAgeMultiFactorMaxAgeSessionMultiFactor 設定設定不同的值。 權杖原則可讓 Flow 連線持續運作,同時控制Office 365 Web 應用程式的使用者登入會話。MaxAgeMultiFactor 必須有相當長的期間 - 理想情況下,Until-Revoked值。 這是為了讓 Flow 連線持續運作,直到系統管理員撤銷重新整理權杖為止。 MaxAgeSessionMultiFactor 會影響使用者登入會話。 租使用者系統管理員可以選取他們想要的值,視使用者希望使用者在會話到期之前登入Office 365 Web 應用程式的頻率而定。

若要檢視組織中的 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. get-azureadpolicy執行 命令以尋找 IsOrganizationalDefault 屬性設定為 True 的原則 識別碼:

  2. 執行下列命令來更新權杖原則設定:

    PS > Set-AzureADPolicy -Id <PoliycId> -DisplayName "<PolicyName>" -Definition @('{"TokenLifetimePolicy":{"Version":1,"MaxAgeMultiFactor":"until-revoked","MaxAgeSessionMultiFactor":"14.00:00:00"}}}}')
    

    注意

    原始原則中設定的任何其他設定都必須複製到此命令。

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

  • Office 365 Web 應用程式設定為在步驟 2) 的範例中,于 X 天 (14 天后讓使用者會話過期。
  • 應用程式會要求使用者使用 MFA 再次登入。

其他相關資訊

對 Flow 入口網站和內嵌體驗的影響

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

效果 1 - 未來執行失敗

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

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

錯誤詳細資料的螢幕擷取畫面,包括時間、狀態、錯誤、錯誤詳細資料,以及如何修正。

當使用者在 Flow 入口網站上檢視連線時,會看到類似下列的錯誤訊息:

無法重新整理服務使用者存取權杖錯誤的螢幕擷取畫面,請參閱 Flow 入口網站。

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

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

如果使用者未使用符合原則的準則登入 Flow,則由條件式存取原則所控制之第一方 Microsoft 服務的自動連線建立會失敗。 使用者必須使用符合他們嘗試存取之服務之條件式存取原則的準則,手動建立和驗證連線。 此行為也適用于從 Flow 入口網站建立的 1 鍵範本。

使用 AADSTS50076 自動建立連線錯誤的螢幕擷取畫面。

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

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

如果使用者未使用符合原則的準則登入 Flow,他們就無法透過 Power Appsor Flow 直接建立連線。 當使用者嘗試建立連線時,會看到下列錯誤訊息:

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

嘗試建立連線時發生 AADSTS50076 錯誤的螢幕擷取畫面。

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

效果 4 - Flow 入口網站上的人員和電子郵件選擇器失敗

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

  • 嘗試共用流程的擁有權或僅限執行許可權
  • 在設計工具中建置流程時選取電子郵件地址
  • 選取流程輸入時,在 [流程執行] 面板中選取人員

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

當流程內嵌在 SharePoint、Power Apps、Excel 和 Teams 等 Microsoft 服務時,流程使用者也會根據向主機服務驗證的方式,受限於條件式存取和多重要素原則。 例如,如果使用者使用單一要素驗證登入 SharePoint,但嘗試建立或使用需要 Microsoft Graph 多重要素存取的流程,則使用者會收到錯誤訊息。

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

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

更重要的是,使用者可能也無法從 SharePoint 探索或執行其流程。 這是因為目前不會在 Power Automate 與 SharePoint 之間傳遞條件式存取原則資訊,讓 SharePoint 能夠做出存取決策。

與 SharePoint 清單和文件庫共用流程的螢幕擷取畫面。

顯示網站 U R L 和清單識別碼擁有者可以看到的螢幕擷取畫面。

效果 7 - 建立現成可用的 SharePoint 流程

與效果 6 相關,條件式存取原則可以封鎖 SharePoint 現成流程的建立和執行,例如 要求籤核頁面核准 流程。 根據網路位置控制 SharePoint 和 OneDrive 資料 的存取,表示這些原則可能會造成存取問題,進而影響第一方和協力廠商應用程式。

此案例同時適用于網路位置和條件式存取原則 (例如不允許非受控裝置) 。 建立 SharePoint 現成流程的支援目前正在開發中。 當此支援可供使用時,我們將在本文中張貼詳細資訊。

在過渡期間,我們建議使用者自行建立類似的流程,並手動與所需的使用者共用這些流程,或在需要這項功能時停用條件式存取原則。