探索受管理的身份
開發人員常見的挑戰是管理用來保護服務間安全通訊的祕密、認證、憑證和金鑰。 受控識別會排除開發人員管理這些認證的需求。
雖然開發人員可以安全地將祕密儲存在 Azure Key Vault 中,但是服務需要存取 Azure Key Vault 的方法。 受管理的身份可在 Microsoft Entra ID 中為應用程式自動提供身份以便在連接至支援 Microsoft Entra 驗證的資源時使用。 應用程式可以使用受控識別來取得 Microsoft Entra 權杖,而不需要管理任何認證。
受控識別的類型
受控識別有兩種:
- 系統指派的受控識別可直接在 Azure 服務執行個體上啟用。 啟用此身分識別時,Azure 會在執行個體的訂用帳戶所信任的 Microsoft Entra 租用戶中,建立執行個體的身分識別。 建立身分識別後,憑證會被配置到執行個體。 系統指派的身分識別生命週期,會直接繫結至已啟用該身分識別的 Azure 服務執行個體。 如果執行個體已刪除,則 Azure 會自動清除 Microsoft Entra 中的認證和身分識別。
- 使用者指派的受控識別會以獨立 Azure 資源的形式建立。 透過建立程序,Azure 會在所使用訂用帳戶信任的 Microsoft Entra 租用戶中建立身分識別。 建立身分識別之後,即可將它指派給一個或多個 Azure 服務執行個體。 使用者指派的身分識別的生命週期與它所指派的 Azure 服務執行個體的生命週期是分開管理的。
就內部而言,受控識別是特殊類型的服務主體,且限定為僅可於 Azure 資源。 刪除受控識別後,對應的服務主體也會自動移除。
受控識別的特性
下表醒目提示這兩種受控識別類型間的一些主要差異。
| 屬性 | 系統指派的受控識別 | 使用者指派的管理識別 |
|---|---|---|
| 創作 | 建立為 Azure 資源的一部分 (例如 Azure 虛擬機器或 Azure App Service) | 建立為獨立的 Azure 資源 |
| 生命週期 | 與用來建立受控識別的 Azure 資源共用生命週期。 當父資源被刪除時,受管理的身分識別也會一併刪除。 | 獨立的生命週期。 必須明確刪除。 |
| 由所有 Azure 資源共用 | 無法共用,只能與單一 Azure 資源相關聯。 | 可以共用。 使用者指派的同一個受控識別可與多個 Azure 資源相關聯。 |
以下是受控識別的常見使用案例:
系統指派的受控識別
- 包含在單一 Azure 資源內的工作負載。
- 工作負載需要獨立的識別。
- 例如,在單一虛擬機器上執行的應用程式。
使用者指派的管理識別
- 可以在多個資源上執行且共用單一識別的工作負載。
- 佈建流程中需要預先授權以保護資源安全的工作負載。
- 資源回收頻率高、但權限應保持一致的工作負載。
- 例如,有多個虛擬機器需要存取相同資源的工作負載。
哪些 Azure 服務支援受控識別?
適用於 Azure 資源的受控識別,可用來向支援 Microsoft Entra 驗證的服務進行驗證。 有關哪些 Azure 服務支援適用於 Azure 資源的受控識別功能,請造訪這些服務支援適用於 Azure 資源的受控識別。
本課程模組的其餘部分會在範例中使用 Azure 虛擬機器,但相同的概念和類似動作可以套用至 Azure 中支援 Microsoft Entra 驗證的任何資源。