Microsoft Entra ID 中的應用程式同意體驗
在本文中,了解 Microsoft Entra 應用程式同意使用者體驗。 您能夠以明智的方式為您的組織管理應用程式,並/或開發同意體驗更順暢的應用程式。
同意是使用者授權應用程式代表使用者存取受保護的資源所用的程序。 系統管理員或使用者需要同意允許存取其組織/個人資料。
授與同意的實際使用者體驗會有所不同,具體取決於使用者的租用戶上所設定的原則、使用者的權限 (或角色) 範圍,以及在用戶端應用程式所要求的權限類型。 這表示應用程式開發人員和租用戶管理員擁有相同的同意體驗控制權。 管理員可彈性設定租用戶或應用程式控制其租用戶同意體驗的原則,和加以停用。 應用程式開發人員可以決定所要求的許可權類型。 他們也可以決定是否要引導使用者完成使用者同意流程或系統管理員同意流程。
- 使用者同意流程是應用程式開發人員將使用者導向授權端點以僅針對目前使用者記錄同意的過程。
-
管理員同意流程是應用程式開發人員將使用者導向管理員同意端點以僅針對整個租用戶記錄同意的過程。 若要確保管理員同意流程運作正常,應用程式開發人員必須列出應用程式資訊清單中
RequiredResourceAccess
屬性的所有權限。 如需詳細資訊,請參閱應用程式資訊清單。
同意提示的建置組塊
同意提示的設計可確保使用者擁有足夠的資訊來判斷是否信任用戶端應用程式,來代表自己存取受保護的資源。 了解建置組塊有助於授與同意的使用者做出更明智的決策,並協助開發人員建置更好的使用者體驗。
下圖和下表提供同意提示的建置組塊相關資訊。
# | 元件 | 目的 |
---|---|---|
1 | 使用者識別碼 | 此識別碼代表所要求的用戶端應用程式使用者存取受保護的資源。 |
2 | 標題 | 標題變更取決於使用者是否要進行使用者或管理員同意流程。 在使用者同意流程中,標題是「要求的許可權」;而在系統管理員的同意流程中,標題則包括另一行「為您的組織接受」。 |
3 | 應用程式標誌 | 此映像應為使用者提供視覺提示,說明此應用程式是否為使用者要存取的應用程式。 此映像由應用程式開發人員提供,且此映像的擁有權不得驗證。 |
4 | 應用程式名稱 | 此值應可告知使用者要求存取其資料的應用程式為何。 請注意,此名稱由應用程式開發人員提供,且此應用程式名稱的擁有權不得驗證。 |
5 | 發行者名稱和驗證 | 藍色「已驗證」徽章表示應用程式發行者使用Microsoft合作夥伴網路帳戶驗證其身分識別,並完成驗證程式。 如果應用程式已驗證發行者,則會顯示發行者名稱。 如果應用程式未驗證發行者,則會顯示「未驗證」,而不是發行者名稱。 如需詳細資訊,請閱讀發行者驗證。 選取發行者名稱會顯示更多可用的應用程式資訊。 此資訊包括發行者名稱、發行者網域、建立日期、認證詳細數據和回復 URL。 |
6 | Microsoft 365 認證 | Microsoft 365 認證標誌表示應用程式會針對衍生自領先業界標準架構的控件進行審查。 它顯示有強大的安全性與合規性做法,可保護客戶數據。 如需詳細資訊,請閱讀 Microsoft 365 認證。 |
7 | 發行者資訊 | 顯示應用程式是否由 Microsoft 所發行。 |
8 | 權限 | 此清單包含用戶端應用程式所要求的權限。 用戶應該一律評估要求的許可權類型,以瞭解用戶端應用程式有權代表他們存取哪些數據。 作為應用程式的開發人員,最好以最低的權限要求對權限的存取權。 |
9 | 權限描述 | 此值是由公開權限的服務所提供。 若要查看權限描述,您必須切換權限旁的 > 形箭號。 |
10 | https://myapps.microsoft.com |
此連結可讓使用者檢閱及移除目前可存取其數據的任何非Microsoft應用程式。 |
11 | 在此處報告 | 如果您不信任應用程式,則此連結可用來報告可疑的應用程式,如果您認為它模擬另一個應用程式、可能濫用您的數據,或基於其他原因。 |
常見的案例及同意體驗
下一節將描述常見的案例,以及每個案例的預期同意體驗。
應用程式需要使用者有權授與的權限
在此同意案例中,使用者存取的應用程式需要使用者授權範圍內的權限集。 使用者會導向至使用者同意流程。
系統管理員會在傳統同意提示中看到另一個控件,允許他們代表整個租使用者授與同意。 控件預設為關閉,因此只有在系統管理員明確勾選選項以代表整個租戶授予同意時,才會授予同意。 複選框只有在具備至少 特權角色管理員角色時才會顯示,因此雲端管理員和應用程式管理員不會看到此複選框。
使用者會看到傳統的同意提示。
應用程式需要使用者無權授與的權限
在此案例中,使用者存取的應用程式至少需要一個在使用者授權範圍外的權限。
系統管理員會在傳統同意提示中看到另一個控件,允許他們代表整個租戶進行同意。
非管理員的使用者會被阻止向應用程式授與同意,他們會被告知要向其管理員要求存取該應用程式的權限。 如果在使用者的租用戶中啟用了管理員同意工作流程,則使用者能夠從同意提示中提交要求以取得管理員核准。 如需管理員同意工作流程的詳細資訊,請參閱管理員同意工作流程。
使用者會導向至管理員同意流程
在此同意案例中,使用者會巡覽至或被導向至管理員同意流程。
管理使用者會看到管理員同意提示。 在此提示中,標題和許可權描述已更改。這些更改突顯了接受此提示會授予應用程式代表整個租戶存取所要求數據的事實。
使用者會被阻止向應用程式授與同意,他們會被告知要向其管理員要求存取該應用程式的權限。
透過 Microsoft Entra 系統管理中心進行管理員同意
在此案例中,管理員同意應用程式要求的所有權限,這可能包括代表租用戶中所有使用者的委派權限。 系統管理員可透過 Microsoft Entra 系統管理中心的應用程式註冊的 [API 權限] 頁面授與同意。
除非應用程式需要新的許可權,否則該租使用者中的所有使用者都看不到同意對話框。 若要了解哪些系統管理員角色可同意委派權限,請參閱 Microsoft Entra ID 中的系統管理員角色權限。
重要
目前,使用 MSAL.js 的單頁應用程式 (SPA) 必須使用 [授與權限] 按鈕,以授與明確同意。 否則,應用程式會在要求存取權杖時失敗。
常見的問題
本節概述同意體驗的常見問題及可能的疑難排解提示。
403 錯誤
使用者無法同意
- 檢查承租者管理員是否已停用貴組織的使用者同意設定。
- 確認您要求的權限是否為受管理員限制的權限。
即使在管理員同意之後,使用者仍會遭到封鎖
- 檢查靜態權限是否已設定為動態要求的權限超集。
- 檢查應用程式是否需要使用者指派。
針對已知錯誤進行疑難排解
如需疑難排解步驟,請參閱同意應用程式時發生未預期的錯誤。
相關內容
- 取得有關 Microsoft Entra 同意架構如何實作同意的逐步概觀。
- 若要深入瞭解,請深入瞭解 多租使用者應用程式如何使用同意架構 來實作「使用者」和「系統管理員」同意,以支援更進階的多層式應用程式模式。
- 了解如何設定應用程式的發行者網域。