從保存庫存取原則移轉至 Azure 角色型存取控制權限模型

Azure Key Vault 提供兩種授權系統:Azure 角色型存取控制 (Azure RBAC) 和存取原則模型。 Azure RBAC 是 Azure Key Vault 預設且建議的授權系統。 如需兩種授權方法的比較,請參閱 Azure 角色型存取控制 (Azure RBAC) 與存取原則

本文提供相關資訊,帶您從存取原則授權的金鑰保管庫移轉到 Azure RBAC 模型。

存取原則與 Azure 角色的對應

Azure RBAC 有數個 Azure 內建角色,可供您指派給使用者、群組、服務主體和受控識別。 如果內建的角色無法滿足您組織的特定需求,您可以建立自己的 Azure 自訂角色

負責金鑰、憑證和祕密存取管理的 Key Vault 內建角色:

  • Key Vault 系統管理員
  • Key Vault 讀者
  • Key Vault 憑證員
  • 金鑰保存庫憑證使用者
  • Key Vault 密碼編譯員
  • Key Vault 密碼編譯使用者
  • Key Vault 密碼編譯服務加密使用者
  • Key Vault 祕密員
  • Key Vault 祕密使用者

如需現有內建角色的詳細資訊,請參閱 Azure 內建角色

個別選取的權限或預先定義的權限範本可以指派給保存庫存取原則。

存取原則預先定義的權限範本:

  • 金鑰、祕密、憑證管理
  • 金鑰與祕密管理
  • 祕密與憑證管理
  • 金鑰管理
  • 秘密管理
  • 憑證管理
  • SQL Server 連接器
  • Azure Data Lake Storage 或 Azure 儲存體
  • Azure 備份
  • Exchange Online 客戶金鑰
  • SharePoint Online 客戶金鑰
  • Azure 資訊 BYOK

存取原則範本與 Azure 角色的對應

存取原則範本 Operations Azure 角色
金鑰、祕密、憑證管理 金鑰:所有作業
憑證:所有作業
祕密:所有作業
Key Vault 系統管理員
金鑰與祕密管理 金鑰:所有作業
祕密:所有作業
Key Vault 密碼編譯長
Key Vault 祕密員
祕密與憑證管理 憑證:所有作業
祕密:所有作業
Key Vault 憑證長
Key Vault 祕密員
金鑰管理 金鑰:所有作業 Key Vault 密碼編譯員
秘密管理 祕密:所有作業 Key Vault 祕密員
憑證管理 憑證:所有作業 Key Vault 憑證員
SQL Server 連接器 金鑰:取得、列出、包裝金鑰、將金鑰解除包裝 Key Vault 密碼編譯服務加密使用者
Azure Data Lake Storage 或 Azure 儲存體 金鑰:取得、列出、將金鑰解除包裝 N/A
需要自訂角色
Azure 備份 金鑰:取得、列出、備份
祕密︰取得、列出、備份
N/A
需要自訂角色
Exchange Online 客戶金鑰 金鑰:取得、列出、包裝金鑰、將金鑰解除包裝 Key Vault 密碼編譯服務加密使用者
Exchange Online 客戶金鑰 金鑰:取得、列出、包裝金鑰、將金鑰解除包裝 Key Vault 密碼編譯服務加密使用者
Azure 資訊 BYOK 金鑰:取得、解密、簽署 N/A
需要自訂角色

注意

透過 Azure 入口網站的 Azure App Service 憑證設定不支援 Key Vault RBAC 權限模型。 您可以使用 Azure PowerShell、Azure CLI、ARM 範本部署,以及 金鑰保存庫憑證使用者,進行 App Service 全域身分識別,例如公用雲端的 Microsoft Azure App Service。

指派範圍對應

適用於 Key Vault 的 Azure RBAC 允許下列範圍內的角色指派:

  • 管理群組
  • 訂用帳戶
  • 資源群組
  • Key Vault 資源
  • 個別金鑰、祕密和憑證

保存庫存取原則權限模型僅限於在 Key Vault 資源等級指派原則。

一般而言,最佳做法是每個應用程式都有一個金鑰保存庫,並在金鑰保存庫等級管理存取權。 在某些情節下,在其他範圍內管理存取可以簡化存取管理。

  • 基礎結構、安全性系統管理員和操作員:如果使用保存庫存取原則在管理群組、訂用帳戶或資源群組等級管理金鑰保存庫群組,則需要維護每個金鑰保存庫的原則。 Azure RBAC 允許在管理群組、訂用帳戶或資源群組上建立一個角色指派。 該指派適用於相同範圍內建立的任何新金鑰保存庫。 在此情節下,建議使用 Privileged Identity Management 搭配 Just-In-Time 存取權,而非提供永久存取權。

  • 應用程式:在某些情節下,應用程式必須與其他應用程式共用祕密。 使用保存庫存取原則時,必須建立不同的金鑰保存庫,以避免提供所有祕密的存取權。 Azure RBAC 允許以個別秘密為範圍來指派角色,而不是使用單一金鑰保存庫。

保存庫存取原則移轉至 Azure RBAC 的步驟

Azure RBAC 和保存庫存取原則權限模型之間有許多差異。 為了避免在移轉期間中斷,建議遵循下列步驟。

  1. 識別並指派角色:根據以上對應表識別內建角色,並在必要時建立自訂角色。 根據範圍對應指導,在範圍內指派角色。 如需如何將角色指派給金鑰保存庫的詳細資訊,請參閱使用 Azure 角色型存取控制提供對金鑰保存庫的存取權
  2. 驗證角色指派:Azure RBAC 中的角色指派可能需要幾分鐘的時間來傳播。 如需如何檢查角色指派的指引,請參閱列出範圍內的角色指派
  3. 設定金鑰保存庫的監視和警示:對於拒絕存取例外狀況,請務必啟用記錄並設定警示。 如需詳細資訊,請參閱 Azure Key Vault 的監視和警示
  4. 在 Key Vault 上設定 Azure 角色型存取控制權限模型:啟用 Azure RBAC 權限模型將使所有現有的存取原則失效。 如果發生錯誤,則可以切換回權限模型,所有現有的存取原則都維持不變。

注意

變更權限模型需要「Microsoft.Authorization/roleAssignments/write」權限,這是屬於擁有者使用者存取系統管理員角色的權限。 不支援傳統訂用帳戶管理員角色,例如「服務管理員」和「共同管理員」。

注意

當 Azure RBAC 權限模型啟用時,所有嘗試更新存取原則的指令碼都會失敗。 請務必將這些指令碼更新為使用 Azure RBAC。

移轉治理

您可以使用 Azure 原則服務來控管保存庫之間 RBAC 權限模型的移轉。 您可以建立自訂原則定義來稽核現有的金鑰保存庫,並強制所有新的金鑰保存庫使用 Azure RBAC 權限模型。

建立並指派 Key Vault Azure RBAC 權限模型的原則定義

  1. 瀏覽至原則資源
  2. 在 Azure 原則頁面左側的製作下,選取指派
  3. 選取頁面頂端的指派原則。 按這個按鈕,將在原則指派頁面中開啟。
  4. 輸入下列資訊:
    • 選擇要強制執行原則的訂用帳戶和資源群組,定義原則範圍。 按一下範圍欄位上的三個點按鈕即可選取。
    • 選取原則定義的名稱:「[預覽]:Azure Key Vault 應使用 RBAC 權限模型
    • 前往頁面頂部的參數索引標籤,定義原則所需的效果(稽核、拒絕或停用)。
  5. 填寫任何其他欄位。 按一下頁面底部的上一步下一步按鈕,即可瀏覽索引標籤。
  6. 選取 [檢閱 + 建立]
  7. 選取 [建立]

指派內建原則後,可能需要長達 24 小時才能完成掃描。 掃描完成後,您可以看到如下所示的合規性結果。

RBAC policy compliance

如需更多資訊,請參閱

Azure RBAC 比較工具的存取原則

重要

這個工具由 Microsoft Community 成員組建和維護,沒有正式的客戶支援服務提供支援。 工具依原樣提供,不提供任何形式的保證。

PowerShell 工具將 Key Vault 存取原則與指派的 RBAC 角色對照比較,協助將存取原則移轉到 RBAC 權限模型。 工具意圖在移轉現有 Key Vault 到 RBAC 權限模型時,提供健全性檢查,以確保指派的角色(具基礎資料動作)涵蓋現有存取原則。

疑難排解

  • 角色指派在數分鐘之後沒有運作 - 在某些情況下,角色指派可能需要較長的時間。 請務必在程式碼中撰寫重試邏輯,以涵蓋這些情況。
  • 刪除 (虛刪除) 與復原 Key Vault 時,角色指派會消失,目前這是所有 Azure 服務之間虛刪除功能的限制。 復原之後必須重新建立所有角色指派。

深入了解