指派 Azure 角色的步驟
Azure 角色型存取控制 (Azure RBAC) 是您用來管理 Azure 資源存取權的授權系統。 若要授與存取權,您可以將角色指派給特定範圍的使用者、群組、服務主體或受控識別。 本文描述使用 Azure 入口網站、Azure PowerShell、Azure CLI 或 REST API 指派 Azure 角色的高階步驟。
步驟 1:判斷誰需要存取
您必須先判斷誰需要存取。 您可以將角色指派給使用者、群組、服務主體或受控識別。 這也稱為「安全性主體」。
- 使用者 - 在 Microsoft Entra ID 具有設定檔的個人。 您也可以指派角色給其他租用戶的使用者。 如需其他組織使用者的相關資訊,請參閱 Microsoft Entra B2B。
- 群組 - 已在 Microsoft Entra ID 建立的一組使用者。 當您指派角色給群組時,該群組內的所有使用者都會擁有該角色。
- 服務主體 - 應用程式或服務用來存取特定 Azure 資源的安全性身分識別。 您可以將它視為應用程式的「使用者身分識別」(使用者名稱和密碼或憑證)。
- 受控識別 - 在 Microsoft Entra ID 由 Azure 自動管理的身分識別。 您通常會在開發雲端應用程式來管理 Azure 服務驗證所需的認證時,使用受控識別。
步驟 2:選取適當角色
權限會群組在一起成為「角色定義」。 一般會直接稱之為角色。 您可以從數個內建角色的清單中選取。 如果內建角色無法滿足組織的特定需求,您可以建立自己的自訂角色。
角色會分類為工作職能角色與特殊權限系統管理員角色。
工作職能角色
工作職能角色允許管理特定 Azure 資源。 例如,虛擬機器參與者角色可讓使用者建立和管理虛擬機器。 若要選取適當工作職能角色,請使用下列步驟:
首先請參閱 Azure 內建角色這篇內容豐富的文章。 文章頂端表格是文章稍後詳細資料的索引。
在該文章,針對您要授與權限的資源瀏覽至其服務類別 (例如運算、儲存體與資料庫)。 若要尋找您欲尋找的內容,最簡單方式通常是搜尋網頁的相關關鍵字,例如「Blob」、「虛擬機器」等等。
檢閱服務類別所列角色,並識別您需要的特定動作。 再次強調,一律從最嚴格的角色開始。
例如,如果安全性主體需要讀取 Azure 儲存體帳戶中的 Blob,但不需要寫入/存取權,則應選擇儲存體 Blob 資料讀取者,而不是儲存體 Blob 資料參與者 (當然,更不應選擇管理員層級的儲存體 Blob 資料擁有者角色)。 之後您可隨時視需要更新角色指派。
如果您找不到適合的角色,您可以建立自訂角色。
特殊權限系統管理員角色
特殊權限系統管理員角色是授與特殊權限系統管理員存取權的角色,例如其可管理 Azure 資源或指派角色給其他使用者。 下列角色被視為具特殊權限,並適用於所有資源類型。
Azure 角色 | 權限 |
---|---|
負責人 |
|
參與者 |
|
保留系統管理員 |
|
角色型存取控制系統管理員 |
|
使用者存取系統管理員 |
|
如需使用特殊權限系統管理員角色指派時的最佳做法,請參閱 Azure RBAC 的最佳做法。 如需詳細資訊,請參閱特殊權限系統管理員角色定義。
步驟 3:識別所需的範圍
範圍是要套用存取權的一組資源。 Azure 有下列四個層級可讓您指定範圍:管理群組、訂閱、資源群組和資源。 範圍會採用父子式關聯性的結構。 階層的每個層級都會讓範圍更為明確。 您可以在這裡的任何層級範圍當中指派角色。 角色套用範圍依您選取的層級而定。 較低層級會繼承較高層級的角色權限。
當您在父系範圍授與角色時,子系範圍將會繼承該權限。 例如:
- 如果您在管理群組範圍將讀者角色指派給使用者,該使用者可以讀取管理群組中所有訂用帳戶的一切。
- 如果您將帳單讀者角色指派給訂用帳戶範圍的群組,則該群組的成員可以讀取訂用帳戶中每個資源群組和資源的帳單資料。
- 如果您將參與者角色指派給資源群組範圍的應用程式,則該應用程式可以管理該資源群組中所有類型的資源,但是無法管理訂用帳戶中的其他資源群組。
最佳做法是授與安全性主體執行其工作所需的最低權限。 即便一開始可能較方便,仍應避免以較廣泛的範圍指派較廣泛的角色。 藉由限制角色和範圍,萬一安全性主體遭到入侵,承受風險的資源仍可得到控制。 如需詳細資訊,請參閱了解範圍。
步驟 4:檢查必要條件
若要指派角色,您用於登入的使用者角色必須擁有角色指派寫入權限,例如在您嘗試指派角色的範圍內的角色型存取控制管理員。 若要移除角色指派,您同樣必須擁有角色指派刪除權限。
Microsoft.Authorization/roleAssignments/write
Microsoft.Authorization/roleAssignments/delete
如果您的使用者帳戶沒有足夠權限可在訂用帳戶中指派角色,您會看到錯誤訊息,這表示您的帳戶「沒有執行 'Microsoft.Authorization/roleAssignments/write' 動作的權限」。在此情況下,請洽詢訂用帳戶的管理員,因為他們可以代表您指派權限。
如果您使用服務主體來指派角色,您可能會收到「權限不足,無法完成此作業」的錯誤。會發生此錯誤可能是因為 Azure 正嘗試在 Microsoft Entra ID 中查閱被指派者的身分識別,而且服務主體預設為無法讀取 Microsoft Entra ID。 在此情況,您必須授與服務主體權限,以便讀取目錄資料。 或者,如果您使用 Azure CLI,您可使用受託人物件識別碼來建立角色指派,跳過 Microsoft Entra 查閱。 如需詳細資訊,請參閱針對 Azure RBAC 進行疑難排解。
步驟 5:指派角色
只要知道安全性主體、角色和範圍,您就可以指派角色。 您可以使用 Azure 入口網站、Azure PowerShell、Azure CLI、Azure SDK 或 REST API 指派角色。
您在每個訂用帳戶中可以有最多 4000 個角色指派。 此限制包括訂用帳戶、資源群組和資源範圍的角色指派。 合格的角色指派以及排定在未來的角色指派不計入此限制。 在每個管理群組中,您最多可以有 500 個角色指派。 如需詳細資訊,請參閱針對 Azure RBAC 限制進行疑難排解。
如需如何指派角色的詳細步驟,請參閱下列文章。
- 使用 Azure 入口網站指派 Azure 角色
- 使用 Azure PowerShell 指派 Azure 角色
- 使用 Azure CLI 指派 Azure 角色
- 使用 REST API 指派 Azure 角色