分享方式:


什麼是 Azure 資源受控識別?

開發人員常見的挑戰是管理用來保護服務間安全通訊的祕密、認證、憑證和金鑰。 受控識別會排除開發人員管理這些認證的需求。

雖然開發人員可以安全地將祕密儲存在 Azure Key Vault 中,但是服務需要存取 Azure Key Vault 的方法。 受控識別可針對應用程式提供 Microsoft Entra ID 中的自動受控識別,以在連線至支援 Microsoft Entra 驗證的資源時使用。 應用程式可以使用受控識別來取得 Microsoft Entra 權杖,而不需要管理任何認證。

下列影片說明如何使用受控識別:

以下為使用受控識別的一些優點:

  • 不需要管理認證。 甚至無法存取認證。
  • 您可以使用受控識別,驗證支援 Microsoft Entra 驗證的任何資源 (包括您自己的應用程式)。
  • 不需任何額外成本,即可使用受控識別。

注意

先前稱為「受控服務識別」(MSI) 的服務,其新名稱為「Azure 資源適用受控識別」。

受控識別類型

受控身分識別有兩種:

  • 系統指派。 某些 Azure 資源 (例如虛擬機器) 可讓您直接在資源上啟用受控識別。 當您啟用系統指派的受控識別時:

    • 在該身分識別的 Microsoft Entra ID 中建立特殊型別的服務主體。 服務主體會繫結至該 Azure 資源的生命週期。 刪除 Azure 資源時,Azure 會自動為您刪除服務主體。
    • 根據設計,只有該 Azure 資源可以使用此身分識別,自 Microsoft Entra ID 要求權杖。
    • 您可以授權受控識別存取一或多個服務。
    • 系統指派的服務主體名稱一律與為其建立的 Azure 資源名稱相同。 對於部署位置,其系統指派的識別的名稱為 <app-name>/slots/<slot-name>
  • 使用者指派。 您也可以建立受控身分識別作為獨立 Azure 資源。 您可以建立使用者指派的受控識別,並將其指派給一或多個 Azure 資源。 啟用使用者指派的受控識別時:

    • 在該身分識別的 Microsoft Entra ID 中建立特殊型別的服務主體。 服務主體會與使用它的資源分開管理。
    • 使用者指派的識別可被多個資源使用。
    • 您可以授權受控識別存取一或多個服務。

下表顯示兩種受控識別類型之間的差異:

屬性 系統指派的受控識別 使用者指派的受控識別
建立 建立為 Azure 資源 (例如 Azure 虛擬機器或 Azure App Service) 的一部分。 建立為獨立的 Azure 資源。
生命週期 與用來建立受控識別的 Azure 資源共用生命週期。
當父代資源刪除時,受控識別也會一併刪除。
獨立的生命週期。
必須明確刪除。
由所有 Azure 資源共用 無法共用。
它只能與單一 Azure 資源相關聯。
可以共用。
使用者指派的同一個受控識別可與多個 Azure 資源相關聯。
常見使用案例 包含在單一 Azure 資源內的工作負載。
需要獨立識別的工作負載。
例如,在單一虛擬機器上執行的應用程式。
在多個資源上執行且可以共用單一識別的工作負載。
在佈建流程中需要預先授權以保護資源安全的工作負載。
資源回收頻率高、但權限應保持一致的工作負載。
例如,有多個虛擬機器需要存取相同資源的工作負載。

我該如何使用 Azure 資源的受控識別?

您可以遵循下列步驟來使用受控識別:

  1. 在 Azure 中建立一個受控識別。 您可以選擇系統指派的受控識別或使用者指派的受控識別。
    1. 使用使用者指派的受控識別時,您要將該受控識別指派給「來源」Azure 資源 (例如虛擬機器、Azure 邏輯應用程式或 Azure Web 應用程式)。
  2. 授權該受控識別可以存取「目標」服務。
  3. 使用該受控識別來存取資源。 在此步驟中,您可以使用 Azure SDK 搭配 Azure.Identity 程式庫。 某些「來源」資源會提供連接器,這些連接器知道如何使用受控識別來進行連線。 在該情況下,您要使用該身分識別作為該「來源」資源的功能。

哪些 Azure 服務支援此功能?

Azure 資源受控識別,可用來向支援 Microsoft Entra 驗證的服務進行驗證。 如需支援的 Azure 服務清單,請參閱支援 Azure 資源的受控識別的服務

我可以對受控識別執行哪些作業?

支援系統指派受控識別的資源可讓您:

  • 在資源層級啟用或停用受控識別。
  • 使用以角色為基礎的存取控制 (RBAC) 來授與權限
  • Azure 活動記錄中,檢視建立、讀取、更新及刪除 (CRUD) 作業。
  • 在 Microsoft Entra ID 登入記錄中檢視登入活動。

如果您改為選擇使用者指派的受控識別:

您可以使用 Azure Resource Manager 範本、Azure 入口網站、Azure CLI、PowerShell 和 REST API 來執行對受控識別的作業。

下一步