最近根据老板要求梳理了公司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了!