Azure ARM (16) 基於角色的訪問控制 (Role Based Access Control, RBAC) - 使用默認的Role
《Windows Azure Platform 系列文章目錄》
今天上午剛剛和客戶溝通過,趁熱打鐵寫一篇Blog。
熟悉Microsoft Azure平臺的讀者都知道,在老的Classic Portal裏面,我們可以設置共同管理員(Co-admin)。
參考:Windows Azure Active Directory (3) China Azure AD增加新用戶
但是Co-Admin和服務管理員(Service Admin)的權限是一樣的。
比如上圖的admin創建的任何資源,是可以被newuser這個用戶刪除的。這樣不能進行權限控制。
在新的Azure ARM Portal裏面,我們是可以根據不同的用戶,對資源組(Resource Group)設置基於角色的訪問控制 (Role Based Access Control, RBAC)
在這裏筆者進行詳細的介紹。
主要操作有:
一.創建新的Azure AD Account
二.創建Azure Resource, 並設置RBAC
一.創建新的Azure AD Account
1.我們以服務管理員身份(Admin),登錄Azure ARM Portal: https://portal.azure.cn
2.點擊Azure Active Directory
3.創建新的用戶,我們這裏設置賬戶名稱為:readonly。把下面的密碼保存在記事本中。下面登錄的時候要用到。
4.創建完Azure AD賬戶以後,我們再創建一個Azure Resource Group,命名為LeiDemo-RG。圖略
5.我們在LeiDemo-RG裏面,創建1個新的存儲賬戶,命名為leidemostorage。圖略。
6.然後我們選擇LeiDemo-RG,點擊訪問控制,添加:
7.角色這裏我要詳細的說明一下:
(1)所有者(Owner)
如果我把readonly這個賬戶設置為所有者,則readonly賬戶可以對LeiDemo-RG進行任何操作,包括刪除
(2)參與者(Contributor)
如果我把readonly這個賬戶設置為參與者,則readonly賬戶可以對LeiDemo-RG進行任何操作,但是不包括權限(Authorization)的刪除和寫入。
(3)讀者(Reader)
如果我把readonly這個賬戶設置為讀者,則readonly賬戶只能對LeiDemo-RG,進行只讀操作,但是無法讀取訪問秘鑰。
有興趣的讀者可以參考微軟文檔:
https://docs.microsoft.com/en-us/azure/active-directory/role-based-access-built-in-roles
(1)所有者Owner
允許的操作是*,表示可以執行任何操作
(2)參與者Contributor
允許的操作是Actions的操作,減去NotActions的操作。這個概念非常非常重要。
允許的操作是Actions的操作,減去NotActions的操作。這個概念非常非常重要。
允許的操作是Actions的操作,減去NotActions的操作。這個概念非常非常重要。
所以上圖的操作是允許進行任何操作,但是不包括權限(Authorization)的刪除和寫入。
(3)讀者(Reader)
允許的的操作是進行只讀操作,但是無法讀取訪問秘鑰。
8.我們首先把readonly賬戶,設置為參與者(Contributor)。
9.保證admin登錄的瀏覽器(比如Chrome)不關閉。換另外一個瀏覽器(比如IE)。在IE中,以readonly賬戶登錄。
10.我們以readonly賬戶登錄的IE瀏覽器裏,選擇資源組LeiDemo-RG,設置訪問控制。
下圖中,我們可以看到,因為readonly賬戶設置為參與者(Contributor),所以允許進行任何操作,但是不包括權限(Authorization)的刪除和寫入。
11.我們回到Chrome瀏覽器,以admin身份,把readonly設置為讀者(Reader)。圖略
12.然後回到IE瀏覽器,按F5頁面刷新。這時候readonly的權限是讀者(Reader)。
我們在IE瀏覽器裏,以readonly身份,選擇資源leidemostorage,然後點擊刪除。
請記住:我們在步驟11中,設置的readonly權限為讀者(Reader)。所有readonly權限為: 進行只讀操作,但是無法讀取訪問秘鑰。
13.我們嘗試以readonly身份,刪除這個存儲賬戶:leidemostorage。會顯示刪除失敗:
這個是可以理解的,因為讀者(Reader)的身份,只能進行只讀操作,但是無法讀取訪問秘鑰。
總結:
1.掌握如何在Azure AD中,創建新的Account
2.了解RBAC中默認的三個角色:所有者(Owner),參與者(Contributor),讀者(Reader)
Azure ARM (16) 基於角色的訪問控制 (Role Based Access Control, RBAC) - 使用默認的Role