App Registration
當你在 Azure AD 中註冊應用程式時,實際上是在為該應用程式建立一個身份識別,以便它能夠與 Azure AD 進行整合。在註冊應用程式時,你可以選擇是僅在你的租戶中可存取(單一租戶)還是在其他租戶中也可存取(多租戶),同時你也可以設定重新導向 URI
,這是存取權杖(Access Token)被傳送到的位置。
App Registration 是 Azure AD 的物件,實際上它定義了應用程式的各種元素。舉例來說,如果你正在開發一個應用程式並且希望將存取和管理功能委託給 Azure AD,你首先會向 Azure AD 租戶註冊這個應用程式。
註冊申請
- 當您向 Azure AD 註冊應用程式時,您正在為應用程式建立身分識別配置,以使其能夠與 Azure AD 整合
- 在 Azure 入口網站中註冊應用程式時,您可以選擇它是單一租用戶(只能在您的租用戶中存取)還是多租用戶(可在其他租用戶中存取)
- 完成應用程式註冊後,您將擁有該應用程式的全域唯一實例(application object),該執行個體位於您的主租用戶或目錄中。您的應用程式還有一個全域唯一的 ID (app or client ID)
📌 成功註冊您的應用程式後,您會注意到該應用程式在兩個位置建立 — 『應用程式註冊』和『企業應用程式』。它在『應用程式註冊』中創建了一個全域唯一識別碼 App(Client)ID,並在企業應用程式中建立了一個同名的本機服務主體(Service Principle)物件(ObjectID)
應用程式註冊(應用程式)本身並不能真正做任何事情。畢竟,它只是定義應用程式,接續就是企業應用程式(Service Principle)發揮作用的地方。
Enterprise Application
企業應用程式中的記錄反映了應用程式在特定 Azure AD 租戶中的角色和許可權配置。這是應用程式實際運行時所使用的角色和許可權。因此,當你需要查看或管理特定服務主體的角色和許可權時,企業應用程式是更準確的地方。
e.g., 配發角色 Reader 後至 Enterprise Application 可以查找得到
企業應用程式(服務主體)只能在其本身所屬的目錄內取得權限。與應用程式註冊(應用程式)相反,企業應用程式(Service Principle)必須存在於應用程式處於活動狀態的每個租用戶的相同目錄中。
當你想要管理和配置與你的組織關聯的外部應用程式時,你會使用Enterprise Application。這包括單一登入的設定、使用者授權、使用者和群組的管理等。
綜合比較
- App Registration:App Registration 是實際的應用程式物件,可以在這裡設置應用程式的各種設定,例如識別、訪問權限等
- Enterprise Application:Enterprise Application 則是在目錄中代表該應用程式的一個表現,它與你的組織有關聯。可以在這裡配置應用程式在組織中的設定,例如單一登入、使用者授權等
📌 App Registration 是你的應用程式的具體設定,而 Enterprise Application 則是該應用程式在組織中的代表
📌 Enterprise Application(Service Principle)物件是 App Registration 的實例。 「服務主體」命名是目錄中的身份,只能從同一目錄取得權限
最後,在這個 Stake overflow 的討論串也很精采!應該可以協助多理解 ~
📕 Difference between “enterprise application” and “app registration” in Azure
Applications 領域還有很多,這個主題是值得持續研究 ~ Not done yet!!!
Reference
- 【AZ learn】Application and service principal objects in Microsoft Entra ID
- 【AZ learn】Plan your line of business application registration strategy
- The difference between AzureAD App Registrations and Enterprise Applications explained
- Default AzureAD Enterprise Applications explained, where do they come from?
- What are Azure App Registration, Enterprise Apps, and Service Principals
- Azure App Registration vs Enterprise App — What’s the Difference ?
- Azure App object和Service Principal
- 【Stakeoverflow】Difference between “enterprise application” and “app registration” in Azure