Share via


指派 Azure 角色的步驟

Azure 角色型存取控制 (Azure RBAC) 是您用來管理 Azure 資源的存取權的授權系統。 若要授與存取權,您可以將角色指派給特定範圍的使用者、群組、服務主體或受控識別。 本文說明使用 Azure 入口網站 、Azure PowerShell Azure CLI REST API 指派 Azure 角色的高階步驟。

步驟 1:判斷誰需要存取權

您必須先判斷誰需要存取。 您可以將角色指派給使用者、群組、服務主體或受控識別。 這也稱為 安全性主體

Security principal for a role assignment

  • 使用者 - 在 Microsoft Entra ID 中具有設定檔的個人。 您也可以將角色指派給其他租使用者中的使用者。 如需其他組織中使用者的相關資訊,請參閱 Microsoft Entra B2B
  • 群組 - 在 Microsoft Entra 識別碼中建立的一組使用者。 當您將角色指派給群組時,該群組內的所有使用者都有該角色。
  • 服務主體 - 應用程式或服務用來存取特定 Azure 資源的安全性身分識別。 您可以將它 視為應用程式的使用者身分識別 (使用者名稱和密碼或憑證)。
  • 受控識別 - 由 Azure 自動管理的 Microsoft Entra 識別碼中的身分識別。 在開發雲端應用程式來管理向 Azure 服務驗證的認證時,您通常會使用 受控識別

步驟 2:選取適當的角色

許可權會分組為 角色定義 。 它通常只稱為 角色 。 您可以從數個內建角色的清單中選取。 如果內建角色無法滿足組織的特定需求,您可以建立自己的自訂角色。

Role definition for a role assignment

角色會組織成作業函式角色和特殊許可權的系統管理員角色。

作業函式角色

作業函式角色允許管理特定的 Azure 資源。 例如,虛擬機器參與者角色可讓使用者建立和管理虛擬機器。 若要選取適當的作業函式角色,請使用下列步驟:

  1. 從完整的文章 Azure 內建角色 開始。 發行項頂端的資料表是文章稍後詳細資料的索引。

  2. 在該文章中,流覽至您想要授與許可權之資源的服務類別目錄(例如計算、儲存體和資料庫)。 尋找您尋找內容的最簡單方式通常是搜尋頁面是否有相關的關鍵字,例如 「blob」、「虛擬機器」 等等。

  3. 檢閱服務類別所列的角色,並識別您需要的特定動作。 同樣地,一律從最嚴格的角色開始。

    例如,如果安全性主體需要讀取 Azure 儲存體帳戶中的 Blob,但不需要寫入權限,則請選擇 儲存體 Blob 資料讀取器 ,而不是 儲存體 Blob 資料參與者 (絕對不是系統管理員層級 儲存體 Blob 資料擁有者 角色)。 您隨時可以視需要更新角色指派。

  4. 如果您找不到合適的角色,您可以建立 自訂角色

特殊許可權系統管理員角色

特殊許可權系統管理員角色是授與特殊許可權系統管理員存取權的角色,例如能夠管理 Azure 資源或將角色指派給其他使用者。 下列角色會被視為具特殊許可權,並套用至所有資源類型。

Azure 角色 權限
擁有者
  • 授與管理所有資源的完整存取權
  • 在 Azure RBAC 中指派角色
參與者
  • 授與管理所有資源的完整存取權
  • 無法在 Azure RBAC 中指派角色
  • 無法在 Azure 藍圖中管理指派或共用映射資源庫
角色型存取控制 管理員istrator
  • 管理 Azure 資源的使用者存取
  • 在 Azure RBAC 中指派角色
  • 指派自己或其他擁有者角色
  • 無法使用其他方式來管理存取,例如Azure 原則
使用者存取系統管理員
  • 管理 Azure 資源的使用者存取
  • 在 Azure RBAC 中指派角色
  • 指派自己或其他擁有者角色

如需使用特殊許可權系統管理員角色指派時的最佳做法,請參閱 Azure RBAC 的最佳做法。 如需詳細資訊,請參閱 特殊許可權系統管理員角色定義

步驟 3:識別所需的範圍

範圍是要套用存取權的一組資源。 在 Azure 中,您可以指定四個層級的範圍: 管理群組 、訂用帳戶、 資源群組 和資源。 範圍會採用父子式關聯性的結構。 階層的每個層級都會讓範圍更為明確。 您可以在這裡的任何層級範圍當中指派角色。 角色套用範圍依您選取的層級而定。 較低層級會繼承較高層級的角色權限。

Scope for a role assignment

當您在父範圍指派角色時,這些許可權會繼承至子範圍。 例如:

  • 如果您將 讀者 角色指派給管理群組範圍中的使用者,該使用者可以讀取管理群組中所有訂用帳戶中的所有專案。
  • 如果您將 計費讀者 角色指派給訂用帳戶範圍中的群組,該群組的成員可以讀取訂用帳戶中每個資源群組和資源的計費資料。
  • 如果您將 參與者 角色指派給資源群組範圍內的應用程式,它可以管理該資源群組中所有類型的資源,但不能管理訂用帳戶中的其他資源群組。

最佳做法是授與安全性主體執行其工作所需的最低許可權。 即便一開始可能較方便,仍應避免以較廣泛的範圍指派較廣泛的角色。 藉由限制角色和範圍,萬一安全性主體遭到入侵,承受風險的資源仍可得到控制。 如需詳細資訊,請參閱 瞭解範圍

步驟 4:檢查您的必要條件

若要指派角色,您必須使用獲指派角色指派寫入權限之角色的使用者登入,例如 您嘗試指派角色範圍的角色型存取控制 管理員istrator 。 同樣地,若要移除角色指派,您必須擁有角色指派刪除權限。

  • Microsoft.Authorization/roleAssignments/write
  • Microsoft.Authorization/roleAssignments/delete

如果您的使用者帳戶沒有在訂用帳戶中指派角色的許可權,您會看到錯誤訊息,指出您的帳戶「沒有執行動作 'Microsoft.Authorization/roleAssignments/write'」 的錯誤訊息。在此情況下,請連絡訂用帳戶的系統管理員,因為他們可以代表您指派許可權。

如果您使用服務主體來指派角色,您可能會收到「許可權不足而無法完成作業」錯誤。此錯誤可能是因為 Azure 嘗試在 Microsoft Entra 識別碼中查閱被指派者身分識別,而服務主體預設無法讀取 Microsoft Entra 識別碼。 在此情況下,您必須授與服務主體許可權,以讀取目錄中的資料。 或者,如果您使用 Azure CLI,您可以使用受指派物件識別碼來建立角色指派,以略過 Microsoft Entra 查閱。 如需詳細資訊,請參閱針對 Azure RBAC 進行疑難排解

步驟 5:指派角色

只要知道安全性主體、角色和範圍,您就可以指派角色。 您可以使用 Azure 入口網站、Azure PowerShell、Azure CLI、Azure SDK 或 REST API 指派角色。

每個訂用帳戶中最多 可以有 4000 個角色指派。 此限制包括訂用帳戶、資源群組和資源範圍的角色指派。 每個管理群組中最多 可以有 500 個角色指派。 如需詳細資訊,請參閱 針對 Azure RBAC 限制 進行疑難排解。

如需如何指派角色的詳細步驟,請參閱下列文章。

下一步