Azure RBAC管理ASM资源
上一篇文章介绍了Azure基于ARM的RBAC,给不同的用户分配不同的权限。
但目前在国内使用的大部分用户还是以ASM的资源为主。比如:VM、Storage、Network、WebAPP、SQL Azure等等。
如果客户希望对这些资源给不同用户授予不同的权限,基于ARM的RBAC是否可以实现呢?
基于ARM的RBAC是可以对ASM的资源进行授权管理的。
本文将以VM为例子,介绍如何针对ASM中的资源进行授权的配置和管理。
1 建ASM的虚拟机
通过老portal管理界面:http://manage.windowsazure.cn
创建两台虚拟机,如下图:

2 创建用户和Role
根据前一篇文章介绍的方法,新建一个vmops@xxxx.partner.onmschina.cn的账户,同时新建一个Virtual Machine Operator的Role。
具体方法请参考前面一篇文章:
http://www.cnblogs.com/hengwei/p/5874776.html
Virtual Machine Operator拥有的权限如下,查询命令采用的是Azure CLI:
azure role show "Virtual Machine Operator" --json
[
{
"Name": "Virtual Machine Operator",
"Actions": [
"Microsoft.Authorization/*/read",
"Microsoft.ClassicCompute/*/read",
"Microsoft.ClassicCompute/virtualMachines/attachDisk/action",
"Microsoft.ClassicCompute/virtualMachines/detachDisk/action",
"Microsoft.ClassicCompute/virtualMachines/downloadRemoteDesktopConnectionFile/action",
"Microsoft.ClassicCompute/virtualMachines/restart/action",
"Microsoft.ClassicCompute/virtualMachines/shutdown/action",
"Microsoft.ClassicCompute/virtualMachines/start/action",
"Microsoft.ClassicCompute/virtualMachines/stop/action",
"Microsoft.Compute/*/read",
"Microsoft.Compute/virtualMachines/deallocate/action",
"Microsoft.Compute/virtualMachines/powerOff/action",
"Microsoft.Compute/virtualMachines/restart/action",
"Microsoft.Compute/virtualMachines/start/action",
"Microsoft.Insights/alertRules/*",
"Microsoft.Network/*/read",
"Microsoft.Network/*/read",
"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Storage/*/read",
"Microsoft.Storage/*/read"
],
"NotActions": [],
"Id": "xxxx",
"AssignableScopes": [
"/subscriptions/xxxx",
"/subscriptions/xxxx"
],
"Description": "Can monitor and start stop or restart virtual machines.",
"IsCustom": "true"
}
]
其中Microsoft.ClassicCompute指的就是基于ASM的VM资源。通过Powershell命令或CLI命令可以看到相关信息:
azure provider list info: Executing command provider list
+ Getting ARM registered providers
data: Namespace Registered
data: -------------------------------------- -------------
data: Microsoft.ApiManagement Registered
data: Microsoft.Batch Registered
data: Microsoft.Cache Registered
data: Microsoft.ClassicCompute Registered
data: Microsoft.ClassicNetwork Registered
data: Microsoft.ClassicStorage Registered
data: Microsoft.Compute Registered
data: Microsoft.Devices Registered
data: Microsoft.DocumentDB Registered
data: Microsoft.EventHub Registered
data: Microsoft.HDInsight Registering
data: Microsoft.insights Registered
data: Microsoft.MySql Registered
data: Microsoft.Network Registering
data: Microsoft.SiteRecovery Registered
data: Microsoft.Sql Registered
data: Microsoft.Storage Registered
data: Microsoft.StreamAnalytics Registered
data: Microsoft.Web Registered
data: Microsoft.Authorization Registered
data: Microsoft.ClassicInfrastructureMigrate NotRegistered
data: Microsoft.CognitiveServices NotRegistered
data: Microsoft.Features Registered
data: Microsoft.KeyVault NotRegistered
data: Microsoft.Media NotRegistered
data: Microsoft.Portal NotRegistered
data: Microsoft.Resources Registered
data: Microsoft.Scheduler Registered
data: Microsoft.ServiceBus NotRegistered
data: Microsoft.ServiceFabric NotRegistered
info: provider list command OK
或:
Get-AzureRmResourceProvider | ft ProviderNamespace ProviderNamespace
-----------------
Microsoft.ApiManagement
Microsoft.Batch
Microsoft.Cache
Microsoft.ClassicCompute
Microsoft.ClassicNetwork
Microsoft.ClassicStorage
Microsoft.Compute
Microsoft.Devices
Microsoft.DocumentDB
Microsoft.EventHub
microsoft.insights
Microsoft.MySql
Microsoft.SiteRecovery
Microsoft.Sql
Microsoft.Storage
Microsoft.StreamAnalytics
Microsoft.Web
Microsoft.Authorization
Microsoft.Features
Microsoft.Resources
Microsoft.Scheduler
3 把用户和Role关联
在新Portal上:http://portal.azure.cn
使用Admin登陆后,对两台虚拟机进行权限分配:

将vmops用户对这台虚拟机的管理角色分配为Virtual Machine Operator。
4 测试
使用vmops登陆后,对这两台虚拟机进行操作:

发现只有前面对ClassComputer拥有的Start、Stop、restart、connect权限。
而admin拥有的权限有:Start、Stop、restart、connect、Caputre、Reset Remote Access、Delete。如下图:

总结:
通过对ClassComputer的资源进行操作的授权,可以控制用户对ASM VM的操作权限。
Azure RBAC管理ASM资源的更多相关文章
- Azure Powershell对ASM资源的基本操作
本文主要介绍Windows Azure Powershell对ASM资源的基本操作 1.登陆ASM模式,命令:Add-AzureAccount -Environment AzureChinaCloud ...
- Azure CLI对ASM,ARM资源的基本操作
本文主要介绍Windows Azure CLI对ASM及ARM资源的基本操作 1.在windows的CMD或Powershell环境下,输入命令:azure,可以查看到当前操作的模式为ASM还是ARM ...
- 新版Windows Azure CDN管理门户正式上线
经过产品团队的不懈努力,新版Windows Azure CDN管理门户在经过了有限开放预览之后,已经正式上线并开放给所有用户. 新版Windows Azure CDN管理门户经过全新的设计,除了在使用 ...
- 细化Azure RBAC权限
Azure RBAC权限的细化一直是比较繁琐的事情,以下示例抛砖引玉,供大家参考 客户需求: 新用户在指定资源组下权限需求如下: 一.禁止以下权限 1. 调整虚拟机大小配置 2. 删除&停止虚 ...
- 使用 Azure CLI 将 IaaS 资源从经典部署模型迁移到 Azure Resource Manager 部署模型
以下步骤演示如何使用 Azure 命令行接口 (CLI) 命令将基础结构即服务 (IaaS) 资源从经典部署模型迁移到 Azure Resource Manager 部署模型. 本文中的操作需要 Az ...
- “朕赐给你,才是你的;朕不给,你不能抢”--custome role在Azure权限管理中的简单实践
在开始详细讨论技术问题之前,有一些个人观点想发表一下: ---作为一个甲方云平台的掌控着,如果任何事情你都是让partner全部帮你搞定,自己既不审核也不研究,那无论是对于公司还是个人发展来说都是没任 ...
- k8s管理存储资源
1. Kubernetes 如何管理存储资源 理解volume 首先我们学习 Volume,以及 Kubernetes 如何通过 Volume 为集群中的容器提供存储:然后我们会实践几种常用的 Vol ...
- k8s 管理存储资源(10)
一.Kubernetes 如何管理存储资源 理解Volume 我们经常会说:容器和 Pod 是短暂的. 其含义是它们的生命周期可能很短,会被频繁地销毁和创建.容器销毁时,保存在容器内部文件系统中的数据 ...
- 【Azure API 管理】APIM集成内网虚拟网络后,启用自定义路由管理外出流量经过防火墙(Firewall),遇见APIs加载不出来问题
问题描述 使用 Azure 虚拟网络,Azure APIM 可以管理无法通过 Internet 访问的 API,达到以保护企业内部的后端API的目的.在虚拟网络中,启用网络安全组(NSG:Networ ...
随机推荐
- 2017最全的php面试题目及答案总结
最近在网上看到很多的小伙伴们都在询问如何应对php面试,这个对于有工作经验和实战项目的小伙伴来说是没什么问题的,但是对于刚刚学习完php的小伙伴们.php面试却是一个很重要的一步,那么今天php中文网 ...
- Android系统属性SystemProperties在应用层的用法【转】
本文转载自:https://blog.csdn.net/lilidejing/article/details/53288243 如果你看到这篇文章了,说明你已经是资深程序员,会发现整个Android系 ...
- 用javascript实现的验证码
<html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> ...
- Android使用SVG小结
SVG的全称是Scalable Vector Graphics,叫可缩放矢量图形.它和位图(Bitmap)相对,SVG不会像位图一样因为缩放而让图片质量下降.它的优点在于节约空间,使用方便. andr ...
- R语言常用语法总结
## 1. 数据输入 ##a$b # 数据框中的变量a = 15 # 赋值a <- 15 # 赋值a = c(1,2,3,4,5) # 数组(向量)b = a[1] # 数组下标,从1开始b = ...
- 定义类+类实例化+属性+构造函数+匿名类型var+堆与栈+GC回收机制+值类型与引用类型
为了让编程更加清晰,把程序中的功能进行模块化划分,每个模块提供特定的功能,而且每个模块都是孤立的,这种模块化编程提供了非常大的多样性,大大增加了重用代码的机会. 面向对象编程也叫做OOP编程 简单来说 ...
- APP测试的那些坑
在记录app测试走过的那些坑之前,先总结下app测试的工作主要有哪些: 1.功能测试,无论是什么软件产品,必不可少的就是功能测试.我们需要测试这款app产品的功能是否完善,是否符合客户需求,是否符 ...
- 解决:cmd中运行monkeyrunner monkey_recorder.py报错: Can't open specified script file
看lynnLi的博客monkeyrunner之录制与回放(七),遇到了一个问题,我在cmd中输入monkeyrunner monkey_recorder.py,却报错了: 当时第一个感觉时,先到\sd ...
- WPF/WP/Silverlight/Metro App代码创建动画的思路
在2010年之前,我都是用Blend创建动画,添加触发器实现自动动画,后来写成代码创建的方式.如今Blend已经集成到Visual Studio安装镜像中了,最新的VS2015安装,Blend的操作界 ...
- centos ifcfg-eth0
DEVICE=eth0IPADDR=192.168.1.117NETMASK=255.255.255.0GATEWAY=192.168.1.1ONBOOT=yes