Azure 資源的受控識別常見問題

Azure 資源的受控識別是 Microsoft Entra ID 的功能。 每個支援適用於 Azure 資源的受控識別 Azure 服務均受限於其本身的時間表。 開始之前,請務必檢閱 資源受控識別的可用性 狀態和 已知問題

注意

Azure 資源的受控識別是服務的新名稱,先前稱為受控服務識別(MSI)。

系統管理

如何找到具有受控識別的資源?

您可以使用下列 Azure CLI 命令,找到具有系統指派受控識別的資源清單:

az resource list --query "[?identity.type=='SystemAssigned'].{Name:name,  principalId:identity.principalId}" --output table

需要哪些 Azure RBAC 許可權才能在資源上使用受控識別?

  • 系統指派的受控識別:您需要資源的寫入許可權。 例如,對於虛擬機器您需要 Microsoft.Compute/virtualMachines/write。 此動作包含在資源特定的內建角色中,例如 虛擬機參與者
  • 將使用者指派的受控識別指派給資源:您需要資源的寫入許可權。 例如,對於虛擬機器您需要 Microsoft.Compute/virtualMachines/write。 您也需要 Microsoft.ManagedIdentity/userAssignedIdentities/*/assign/action 對使用者指派的身分識別採取動作。 此動作包含在 受控識別操作員 內建角色中。
  • 管理使用者指派的身分識別:若要建立或刪除使用者指派的受控識別,您需要 受控識別參與者 角色指派。
  • 管理受控識別的角色指派:您需要擁有使用者存取權 管理員 管理員角色指派給您要授與存取權的資源。 您必須將 讀取者 角色指派給具有系統指派身分識別的資源,或指派給指派角色的使用者指派身分識別。 如果您沒有讀取許可權,您可以依「使用者、群組或服務主體」搜尋以尋找身分識別的備份服務主體,而不是在新增角色指派時搜尋受控識別。 深入瞭解如何指派 Azure 角色

如何? 防止建立使用者指派的受控識別?

您可以使用 Azure 原則,讓用戶無法建立使用者指派的受控識別

  1. 登入 Azure 入口網站,然後移至 [原則]。

  2. 選擇 定義

  3. 選取 [+ 原則定義 ],然後輸入必要的資訊。

  4. 在 [原則規則] 區段中,貼上:

    {
      "mode": "All",
      "policyRule": {
        "if": {
          "field": "type",
          "equals": "Microsoft.ManagedIdentity/userAssignedIdentities"
        },
        "then": {
          "effect": "deny"
        }
      },
      "parameters": {}
    }
    
    

建立原則之後,請將它指派給您想要使用的資源群組。

  1. 流覽至資源群組。
  2. 尋找您用於測試的資源群組。
  3. 從左側功能表中選擇 [ 原則 ]。
  4. 選取 [指派原則]
  5. 在 [ 基本] 區 段中,提供:
    1. 範圍 我們用於測試的資源群組
    2. 原則定義:我們稍早建立的原則。
  6. 保留所有其他設定的預設值,然後選擇 [ 檢閱 + 建立]

此時,嘗試在資源群組中建立使用者指派的受控識別將會失敗。

Policy violation

概念

受控識別是否具有備份應用程式物件?

否。 受控識別和 Microsoft Entra 應用程式註冊在目錄中並不相同。

應用程式註冊 有兩個元件:應用程式物件 + 服務主體物件。 Azure 資源的受控識別只有其中一個元件:服務主體物件。

受控識別在目錄中沒有應用程式物件,這是通常用來授與 MS 圖形的應用程式許可權。 相反地,受控識別的 MS 圖形許可權必須直接授與服務主體。

與受控識別相關聯的認證為何? 它有效多久,以及旋轉的頻率?

注意

受控識別驗證的方式是內部實作詳細數據,不需通知即可變更。

受控識別會使用憑證式驗證。 每個受控識別的認證都有 90 天的到期日,並在 45 天后復原。

如果未在要求中指定身分識別,IMDS 會預設為哪些身分識別?

  • 如果已啟用系統指派的受控識別,且要求中未指定任何身分識別,Azure 實例元數據服務 (IMDS) 預設為系統指派的受控識別。
  • 如果未啟用系統指派的受控識別,而且只有一個使用者指派的受控識別存在,IMDS 會預設為該單一使用者指派的受控識別。
  • 如果未啟用系統指派的受控識別,且有多個使用者指派的受控識別存在,則必須在要求中指定受控識別。

限制

是否可以跨多個區域使用相同的受控識別?

簡言之,您可以在多個 Azure 區域中使用使用者指派的受控識別。 較長的答案是,當使用者指派的受控識別建立為區域資源時,Microsoft Entra ID 中建立的相關聯 服務主體 (SP) 可全域使用。 服務主體可從任何 Azure 區域使用,其可用性取決於 Microsoft Entra 識別碼的可用性。 例如,如果您在中南部區域建立使用者指派的受控識別,且該區域變得無法使用,此問題只會影響 受控識別本身的控制平面 活動。 任何已設定為使用受控識別的資源所執行的活動都不會受到影響。

適用於 Azure 資源的受控識別是否可與 Azure 雲端服務(傳統版)搭配運作?

Azure 資源的受控識別目前不支援 Azure 雲端服務(傳統版)。 "

Azure 資源受控識別的安全性界限為何?

身分識別的安全性界限是其附加的資源。 例如,已啟用 Azure 資源受控識別之虛擬機的安全性界限是虛擬機。 在該 VM 上執行的任何程式碼,都能夠呼叫受控識別端點和要求令牌。 使用支援受控識別的其他資源時,其體驗會很類似。

如果我將訂用帳戶移至另一個目錄,系統會自動重新建立受控識別嗎?

否。 如果您將訂用帳戶移至另一個目錄,則必須手動重新建立訂用帳戶,並再次授與 Azure 角色指派。

  • 若為系統指派的受控識別:停用然後重新啟用。
  • 針對使用者指派的受控識別:刪除、重新建立,並將其再次附加至必要的資源(例如虛擬機)

我可以使用受控識別來存取不同目錄/租使用者中的資源嗎?

否。 受控識別目前不支援跨目錄案例。

受控識別是否有任何適用的速率限制?

受控識別限制與 Azure 服務限制、Azure 實例元數據服務 (IMDS) 限制和 Microsoft Entra 服務限制相依性。

  • Azure 服務限制會定義租用戶和訂閱層級可執行的作業建立數目。 使用者指派的受控識別也有 其命名方式的限制
  • IMDS 一般而言,對IMDS的要求限制為每秒五個要求。 超過此閾值的要求會遭到拒絕,並出現 429 回應。 受控識別類別的要求限制為每秒 20 個要求和 5 個並行要求。 如需詳細資訊, 請參閱 Azure 實例元數據服務 (Windows) 一文。
  • Microsoft Entra 服務 每個受控識別都會計入 Microsoft Entra 租使用者中的物件配額限制,如 Microsoft Entra 服務限制和限制中所述

是否可以將使用者指派的受控識別移至不同的資源群組/訂用帳戶?

不支援將使用者指派的受控識別移至不同的資源群組。

受控識別令牌是否快取?

受控識別令牌會由基礎 Azure 基礎結構快取,以達到效能和復原性目的:受控識別的後端服務會在大約 24 小時內維護每個資源 URI 的快取。 例如,變更受控識別的許可權可能需要數小時才會生效。 目前,您無法強制在受控識別的令牌到期前重新整理。 如需詳細資訊,請參閱 使用受控識別進行授權的限制。

受控識別是否虛刪除?

是,受控識別會虛刪除 30 天。 您可以檢視虛刪除的受控識別服務主體,但無法還原或永久刪除它。

刪除受控識別後令牌會發生什麼事?

刪除受控識別時,先前與該身分識別相關聯的 Azure 資源無法再要求該身分識別的新令牌。 在刪除身分識別之前發出的令牌仍有效,直到其原始到期為止。 某些目標端點的授權系統可能會在目錄中執行身分識別的其他檢查,在此情況下,要求會因為找不到對象而失敗。 不過,某些系統,例如 Azure RBAC,會繼續接受來自該令牌的要求,直到到期為止。

下一步