Microsoft Entra 中的應用程式和服務主體物件 (機器翻譯)

本文說明 Microsoft Entra ID 中的應用程式註冊、應用程式對象和服務主體、其使用方式,以及它們彼此的關聯方式。 也會呈現多租使用者範例案例,以說明應用程式的應用程式對象與對應的服務主體對象之間的關聯性。

應用程式註冊

若要將身分識別和存取管理功能委派給 Microsoft Entra ID,應用程式必須向 Microsoft Entra 租用戶註冊。 當您向 Microsoft Entra ID 註冊應用程式時,會建立應用程式的身分識別設定,以讓它與 Microsoft Entra ID 整合。 當您註冊應用程式時,您可以選擇它是單一租使用者或多租使用者,而且可以選擇性地設定重新導向 URI。 如需註冊應用程式的逐步指示,請參閱 應用程式註冊快速入門

當您完成應用程式註冊時,您有位於您主租用戶或目錄內的應用程式 (應用程式物件) 的全域唯一執行個體。 您也有應用程式的全域唯一識別碼 (應用程式/用戶端識別碼)。 您可以新增秘密或憑證和範圍來讓您的應用程式運作、在登入對話方塊中自訂應用程式的商標等。

如果您註冊應用程式,則會自動在您的主租用戶中建立應用程式物件和服務主體物件。 如果您使用 Microsoft Graph API 註冊/建立應用程式,則建立服務主體物件是個別的步驟。

應用程式物件

Microsoft Entra 應用程式是由其一個且唯一的應用程式物件所定義,其位於註冊應用程式的 Microsoft Entra 租用戶中 (稱為應用程式的 [主] 租用戶)。 應用程式物件會用來做為範本或藍圖,以建立一或多個服務主體物件。 服務主體會建立於使用應用程式的每個租用戶中。 與物件導向程式設計中的類別相似,應用程式物件具有一些套用至所有建立的服務主體 (或應用程式執行個體) 的靜態屬性。

應用程式物件描述應用程式的三個層面:

  • 服務如何發行權杖以存取應用程式
  • 應用程式可能需要存取的資源
  • 應用程式可以採取的動作

您可以使用 Microsoft Entra 系統管理中心[應用程式註冊] 頁面,列出和管理主租使用者中的應用程式物件。

App registrations blade

Microsoft Graph 應用程式實體定義應用程式物件屬性的結構描述。

服務主體物件

若要存取受到 Microsoft Entra 租用戶保護的資源,需要存取權的實體必須以安全性主體呈現。 此需求同時適用於使用者 (使用者主體) 和應用程式 (服務主體)。 安全性主體會定義 Microsoft Entra 租用戶中使用者/應用程式的存取原則和權限。 這可啟用核心功能,例如在登入期間的使用者/應用程式驗證,以及在資源存取期間的授權。

服務主體有三種類型:

  • 應用程式 - 服務主體的類型是單一租用戶或目錄中全域應用程式物件的本機標記法或應用程式執行個體。 在此情況下,服務主體是從應用程式物件建立的實體執行個體,並繼承該應用程式物件的特定屬性。 服務主體會建立於使用應用程式的每個租用戶中,並參考全域唯一的應用程式物件。 服務主體物件會定義應用程式實際上可在特定租用戶中進行的動作、可存取應用程式的人員,以及應用程式可存取的資源。

    當應用程式擁有權限可存取租用戶中的資源時 (通過註冊時或同意),服務主體物件就會隨即建立。 當您註冊應用程式時,系統會自動建立服務主體。 您也可以使用 Azure PowerShell、Azure CLI、Microsoft Graph 和其他工具,在租用戶中建立服務主體物件。

  • 受控識別 - 此類型的服務主體可用來代表 受控識別。 受控識別可免除開發人員管理認證的需求。 受控識別可為應用程式提供身分識別,以便在連線至支援 Microsoft Entra 驗證的資源時使用。 啟用受控識別時,會在租用戶中建立代表該受控識別的服務主體。 代表受控識別的服務主體可獲授與存取權和權限,但無法直接更新或修改這些項目。

  • 舊版 - 此類型的服務主體代表舊版應用程式,也就是在引進應用程式註冊之前建立的應用程式,或是透過舊版體驗建立的應用程式。 舊版服務主體可具有認證、服務主體名稱、回覆 URL 和其他授權使用者可編輯的屬性,但不具有相關聯的應用程式註冊。 服務主體只能在其建立位置的租用戶中使用。

Microsoft Graph ServicePrincipal 實體 會定義服務主體物件屬性的結構描述。

您可以使用 Microsoft Entra 系統管理中心的 [企業應用程式] 頁面,來列出和管理租用戶中的應用程式物件。 您可以看到服務主體的權限、使用者同意的權限、使用者已完成該同意、登入資訊等等。

Enterprise apps blade

應用程式物件與服務主體之間的關聯性

應用程式物件為應用程式的全域代表 (用於所有租用戶),而服務主體為本機代表 (用於特定租用戶)。 應用程式物件作為範本,可從中「衍生」通用和預設屬性,用以建立相對應的服務主體物件。

應用程式物件具有:

  • 與軟體應用程式的一對一關聯性,以及
  • 與其對應服務主體物件的一對多關聯性

每一個會用到應用程式的租用戶中必須建立服務主體,才能讓它建立身分識別來登入及/或存取租用戶所保護的資源。 單一租用戶的應用程式只能有一個服務主體 (在其主租用戶中),並在應用程式註冊期間建立和同意使用。 多租用戶應用程式也在每個租用戶中建立一個服務主體,其中該租用戶的使用者已同意使用。

列出與應用程式相關聯的服務主體

您可以找到與應用程式物件相關聯的服務主體。

在 Microsoft Entra 系統管理中心,流覽至應用程式註冊概觀。 在本機目錄中選取 [受控應用程式]。

Screen shot that shows the Managed application in local directory option in the overview.

修改和刪除應用程式的後果

您對應用程式物件所做的任何變更也會反映在應用程式主租用戶的服務主體物件中 (註冊所在的租用戶)。 這表示刪除應用程式物件也會刪除其主租用戶服務主體物件。 不過,透過應用程式註冊 UI 還原該應用程式物件並不會還原其對應的服務主體。 如需刪除和復原應用程式及其服務主體對象的詳細資訊,請參閱 刪除和復原應用程式和服務主體物件

範例

下圖說明應用程式的應用程式物件與稱為 HR 應用程式之範例多租使用者應用程式內容中對應服務主體對象之間的關聯性。 此範例案例中有三個 Microsoft Entra 租用戶:

  • Adatum - 開發 HR 應用程式的公司所使用的租使用者
  • Contoso - Contoso 組織所使用的租使用者,這是 HR 應用程式的取用者
  • Fabrikam - Fabrikam 組織所使用的租使用者,其也會取用 HR 應用程式

Relationship between app object and service principal object

在此範例案例中:

步驟 描述:
1 在應用程式主租用戶中建立應用程式和服務主體物件的程序。
2 當 Contoso 和 Fabrikam 系統管理員完成同意時,會在其公司的 Microsoft Entra 租用戶中建立服務主體物件,並指派系統管理員授與的權限。 另請注意,HR 應用程式可以設定/設計為允許使用者同意個別使用。
3 HR 應用程式的取用者租用戶 (Contoso 和 Fabrikam) 各有自己的服務主體物件。 每個都代表他們在執行階段使用應用程式的執行個體,這些執行個體受個別系統管理員同意的權限所控管。

下一步

瞭解如何建立服務主體: