應用程式模型
應用程式可以自行登入使用者,或將登入委派給識別提供者。 本文討論向Microsoft身分識別平台註冊應用程式所需的步驟。
註冊應用程式
若要讓識別提供者知道用戶能夠存取特定應用程式,使用者和應用程式都必須向識別提供者註冊。 當您使用 Microsoft Entra ID 註冊應用程式時,您會為應用程式提供身分識別組態,讓應用程式能夠與Microsoft身分識別平臺整合。 註冊應用程式也可讓您:
- 在 [登入] 對話框中自定義應用程式的商標。 此商標很重要,因為登入是使用者第一次使用您的應用程式體驗。
- 決定是否要允許使用者只有在用戶屬於您的組織時才能登入。 此架構稱為單一租用戶應用程式。 或者,您可以允許使用者透過任何工作或學校帳戶登入,這被稱為多租戶應用程式。 您也可以允許個人 Microsoft 帳戶以及來自 LinkedIn、Google 等的社交帳戶。
- 要求範圍許可權。 例如,您可以要求 「user.read」 範圍,以授與讀取登入使用者配置檔的許可權。
- 定義用於 Web API 存取的範圍。 一般而言,當應用程式想要存取您的 API 時,它必須要求您定義範圍的許可權。
- 與Microsoft身分識別平台共用秘密,以證明應用程式的身分識別。 在應用程式屬於機密用戶端應用程式的情況下,機密的使用是有意義的。 機密 用戶端應用程式 是可以安全地保存認證的應用程式,例如 Web用戶端。 需要受信任的後端伺服器才能儲存認證。
註冊應用程式之後,當它向 Microsoft 身分識別平台請求令牌時,會提供該平台與之共用的唯一識別碼。 如果應用程式是機密用戶端應用程式,它也會根據憑證或秘密是否使用來共用秘密或公鑰。
Microsoft身分識別平臺會使用滿足兩個主要函式的模型來代表應用程式:
- 依其支持的驗證通訊協議來識別應用程式。
- 提供驗證所需的所有標識碼、URL、秘密和相關信息。
Microsoft身分識別平臺:
- 保存運行時間支援驗證所需的所有資料。
- 保留所有數據,以決定應用程式可能需要存取哪些資源,以及應滿足指定要求的情況。
- 提供基礎結構,以實作應用程式布建於應用程式開發人員的租戶內,以及其他任何 Microsoft Entra 租戶。
- 在令牌要求期間處理使用者同意,並協助跨租用戶動態布建應用程式。
同意 是資源擁有者在特定權限下,授權用戶端應用程式代表他們存取受保護資源的過程。 Microsoft身分識別平台可啟用:
- 使用者和系統管理員可動態授與或拒絕應用程式代表其存取資源的同意。
- 系統管理員最終決定允許哪些應用程式,以及哪些使用者可以使用特定應用程式,以及存取目錄資源的方式。
多租用戶應用程式
重要
多租戶應用程式由於各雲端中的服務主體權限隔離,彼此之間無法運作。 例如,如果應用程式物件裝載於商業雲端,則會在客戶上線期間於本機建立相關聯的服務主體。 此程式在跨越雲端界限時失敗,因為授權單位 URL 不同(例如,.com
與 .us
),導致不相容。
在Microsoft身分識別平臺中,應用程式物件 描述應用程式。 在部署期間,Microsoft身分識別平臺會使用應用程式對象作為藍圖,以建立 服務主體,代表目錄或租用戶內應用程式的具體實例。 服務主體會定義應用程式在特定目標目錄中實際執行的動作、誰可以使用、其可存取哪些資源等等。 Microsoft身分識別平臺會透過同意,從應用程式物件建立服務主體。
下圖顯示經過同意驅動的簡化Microsoft身分識別平臺布建流程。 它顯示兩個租戶:A 和 B。
- 租戶 A 擁有應用。
- 租使用者 B 透過服務主體初始化應用程式。
在此設置流程中:
- 來自租使用者 B 的用戶會嘗試使用應用程式登入。 授權端點會請求應用程式的存取令牌。
- 取得並驗證使用者憑證以進行身份認證。
- 系統會提示使用者同意應用程式取得租使用者 B 的存取權。
- Microsoft身分識別平臺會使用租使用者 A 中的應用程式對象作為在租使用者 B 中建立服務主體的藍圖。
- 使用者會收到要求的令牌。
您可以針對更多租戶重複此過程。 租戶 A 保留應用程式物件的藍圖。 應用程式獲授與同意之所有其他租使用者的使用者和系統管理員,可透過每個租使用者中的對應服務主體物件,控制應用程式允許執行哪些動作。 如需詳細資訊,請參閱 Microsoft 身分識別平臺中的 應用程式和服務主體物件。
後續步驟
如需Microsoft身分識別平臺中驗證和授權的詳細資訊,請參閱下列文章:
- 若要瞭解驗證和授權的基本概念,請參閱 驗證與授權。
- 若要瞭解如何在驗證和授權中使用存取令牌、重新整理令牌和標識元令牌,請參閱 安全性令牌。
- 若要瞭解 Web、桌面和行動應用程式的登入流程,請參閱 應用程式登入流程。
- 若要瞭解如何透過驗證令牌宣告來保護應用程式和 API,請參閱 驗證宣告
如需應用程式模型的詳細資訊,請參閱下列文章:
- 如需Microsoft身分識別平臺中應用程式對象和服務主體的詳細資訊,請參閱 如何將應用程式新增至 Microsoft Entra ID。
- 如需單一租戶應用程式和多租戶應用程式的詳細資訊,請參閱 Microsoft Entra ID 中的 租用。
- 如需深入了解 Microsoft Entra ID 如何提供 Azure Active Directory B2C,讓組織可以使用社交身分(例如 Google 帳戶)來讓使用者(通常是客戶)登入,請參閱 Azure Active Directory B2C 檔案。