Contents

Azure - 設定角色存取控制 (RBAC)

對於任何使用雲端的使用者、組織或是企業來說,對於 Azure 上的資源控制保護是非常重要的一門課題,無論是虛擬機器、網路、硬碟、容器等都需要特定的人員可以操作又或是特定的人員可以管理,甚至授權給外部合作夥伴等權限,透過角色存取控制 (RBAC) 可以限定哪些帳號或是群組可以存取該資源。

1. Azure 角色用途

若是公司內所有員工帳號人人都是管理員會導致無論是安全性或是可控性出現很大的漏洞,下列為使用 RBAC 的用途 :

  1. 准許專案經理能查看旗下所有專案的虛擬機資源與狀態,但是不可以進行任何修改新增。
  2. 准許 AP 可以查看特定的 SQL 資料庫,DBA 能管理所有 SQL 資料庫。
  3. 准許稽核人員可以查閱所有雲端資源,但是不可查閱帳單資訊。

2. 建立角色定義

  • 對於角色定義使用 JSON 來定義其權限,以 Contributor 角色為例,定義 actions 可以執行任何事情,在 notActions 中禁止新增刪除任何與授權有關的能力, assignableScopes 表示從該資源的根以下都會繼承。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
// ...output omitted...
    "assignableScopes": [
        "/"
    ],
    "permissions": [
            {
                "actions": [
                    "*"
                ],
                "notActions": [
                    "Microsoft.Authorization/*/Delete",
                    "Microsoft.Authorization/*/Write",
                    "Microsoft.Authorization/elevateAccess/Action",
                    "Microsoft.Blueprint/blueprintAssignments/write",
                    "Microsoft.Blueprint/blueprintAssignments/delete",
                    "Microsoft.Compute/galleries/share/action"
                ],
                "dataActions": [],
                "notDataActions": []
            }
// ...output omitted...

可以看出 Contributor 僅比 Owner 權限小一階,絕大多數的事情都能執行。

2.1 預設 Role

預設 Azure 已經定義不少的 Role 角色,如果有任何藥個細部調整可以透過 colne 原有的 Role 再進行調整。

https://hackmd.io/_uploads/rkz0LLxzn.png
Default Role

3. Scopes 範圍

在 Azure 資源中最上層的是 Management group -> Subscription -> Resource group -> Resource。

Management group
預設是沒有 Management group ,需手動創建後才會顯示。

https://hackmd.io/_uploads/H1j2SUlG2.png
From learn.microsoft.com

3. 角色與 Role 綁定

透過 Role 指派使用者帳號或是群組綁定。

https://hackmd.io/_uploads/SkesUIxf3.png
Add role assignment

https://hackmd.io/_uploads/HJ0KHUezh.png
From learn.microsoft.com

角色繼承
底層資源會從上游的資源繼承其 Role 角色能力。

4. 小結

Azure 角色存取控制 (RBAC) 是一種系統,其可確保更細緻的 Azure 資源存取權管理。 Azure 系統管理員會使用 Azure RBAC 來進行各不同群組及帳號來授予所其作業所需的最小存取權限。



如果你還沒有註冊 Like Coin,你可以在文章最下方看到 Like 的按鈕,點下去後即可申請帳號,透過申請帳號後可以幫我的文章按下 Like,而 Like 最多可以點五次,而你不用付出任何一塊錢,就能給我寫這篇文章的最大的回饋!