最近根據老闆要求梳理了公司Azure賬號的權限,爲每個人單獨創建了一個資源組,然後賦予了contributor的權限,這屬於很標準的一種做法,contributor這個role理論上來說,根據微軟的說明,除了不能分配權限以外,其實可以做的操作是和owner基本差不多的,結果發現原來有些地方還是不一樣
給用戶分配了contributor role之後,創建了一個虛擬網絡,然後在嘗試爲虛擬網絡添加endpoint的時候,就發現遇到了問題,至於endpoint是什麼,可以翻閱之前的博客
Azure Endpoint 解析
https://blog.51cto.com/mxyit/2347623
嘗試創建endpoint時,發現會提示以下信息,也就是說權限不夠了
這種問題一般來說加權限就夠了,但是要加什麼權限呢?多了可能會產生其他影響,少了肯定解決不了問題。其實這時候可以通過RBAC中自定義Role的方式解決,方法很簡單,首先嚐試獲取到contributor這個role的定義
其實每個role對應可以執行的任務都會寫在actions這個屬性裏,比如contributor可以執行的任務是*,代表都可以執行,當然還會有notactions這個屬性來做黑名單,以限制一些不允許的操作
之後我們可以看下如果需要添加endpoint的話,需要添加什麼樣的actions,可以通過PowerShell Get-AzureRmProviderOperation 來進行查詢,和網絡相關的可以嘗試查找 ,發現可以查詢到很多信息
可以再進一步針對endpoint關鍵字進行篩選,直接就找到結果了
清除其他的action, 然後爲Role添加這個操作
爲一些基本信息賦值
定義Role的範圍
創建Role
將角色assign 給用戶,然後重新登陸後再次嘗試發現已經可以正常添加endpoint了!