• 细化Azure RBAC权限


    Azure RBAC权限的细化一直是比较繁琐的事情,以下示例抛砖引玉,供大家参考

    客户需求:

    新用户在指定资源组下权限需求如下:

    一、禁止以下权限

    1、 调整虚拟机大小配置

    2、 删除&停止虚拟机

    3、 扩容磁盘&添加磁盘

    4、 重置密码

    二、容许以下权限

    1、 对应资源组下所有查看类权限

    2、 启动诊断权限(查看屏幕快照)

    3、 监视类权限

    4、 特殊权限:重启虚拟机&标记权限&提交工单权限

    解决方法:

    您可以参考如下操作说明,以实现新用户对指定资源组所具有的特定权限

    1.AAD下创建新用户

     2.在装有Azure Powershell的客户端执行如下操作

    #登陆Azure账号

    Add-AzureRmAccount -EnvironmentName AzureChinaCloud

    #选择指定的订阅

    Select-AzureRmSubscription -Subscription ***

    #获取已有角色“虚拟机参与者”

    $role = Get-AzureRmRoleDefinition -Name 'Virtual Machine Contributor'

    #清空角色Id

    $role.Id = $null

    #给自定义角色命名及添加角色描述

    $role.Name = 'Special Permission'

    $role.Description = '***'

    #清空“虚拟机参与者”的已有actions及notactions权限

    $role.Actions.Clear()

    $role.NotActions.Clear()

    #赋予自定义角色所有资源的只读权限

    $role.Actions.Add("*/read")

    #赋予自定义角色重启虚拟机的权限

    $role.Actions.Add("Microsoft.Compute/virtualMachines/restart/action")

    #赋予自定义角色list存储账号key的权限,以实现查看诊断屏幕快照

    $role.Actions.Add("Microsoft.Storage/storageAccounts/listKeys/action")

    #赋予自定义角色添加诊断规则的权限,以实现监视类功能

    $role.Actions.Add("Microsoft.Insights/AlertRules/*")

    #赋予自定义角色更新虚拟机的权限,以实现标记功能

    $role.Actions.Add("Microsoft.Compute/virtualMachines/write")

    #阻止自定义角色查看虚拟机大小的功能

    $role.NotActions.Add("Microsoft.Compute/virtualMachines/vmSizes/read")

    #清空自定义角色的作用域,并授权指定订阅

    $role.AssignableScopes.Clear()

    $subscriptionid = "***"

    $role.AssignableScopes.Add("/subscriptions/"+$subscriptionid)

    #新建自定义角色

    New-AzureRmRoleDefinition -Role $role

    3.给指定资源组添加基于新用户的自定义角色权限

     

    4.使用新用户登录Azure Portal测试验证

    尝试关闭虚拟机报错

    尝试删除虚拟机报错

     

    不可以显示虚拟机大小,以阻止客户调整虚拟机大小

     

    尝试附加数据磁盘报错

     

    尝试重置密码报错

     

    尝试创建虚拟机报错

    可以成功查看虚拟机信息

    可以成功标记虚拟机

     

    更多有关RBAC的说明,请参考

    https://blogs.technet.microsoft.com/bulentozkir/2016/09/09/azure-resource-manager-rbac-management-practical-tips/

    https://docs.azure.cn/zh-cn/role-based-access-control/resource-provider-operations#microsoftcompute

    https://docs.azure.cn/zh-cn/role-based-access-control/built-in-roles#virtual-machine-contributor

  • 相关阅读:
    unicode下各种类型转换CString、string
    单元测试简介
    linux系统目录详解
    Python 几个重要的内置函数
    python join split
    将博客搬至CSDN
    COCOS2DX3.0的3种触摸响应机制
    [转] 千万别在最能吃苦的年纪选择安逸
    明白什么是“五险一金”
    MAC 安装更新 ANT
  • 原文地址:https://www.cnblogs.com/stonehe/p/10250804.html
Copyright © 2020-2023  润新知