上一篇文章介绍了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资源的更多相关文章

  1. Azure Powershell对ASM资源的基本操作

    本文主要介绍Windows Azure Powershell对ASM资源的基本操作 1.登陆ASM模式,命令:Add-AzureAccount -Environment AzureChinaCloud ...

  2. Azure CLI对ASM,ARM资源的基本操作

    本文主要介绍Windows Azure CLI对ASM及ARM资源的基本操作 1.在windows的CMD或Powershell环境下,输入命令:azure,可以查看到当前操作的模式为ASM还是ARM ...

  3. 新版Windows Azure CDN管理门户正式上线

    经过产品团队的不懈努力,新版Windows Azure CDN管理门户在经过了有限开放预览之后,已经正式上线并开放给所有用户. 新版Windows Azure CDN管理门户经过全新的设计,除了在使用 ...

  4. 细化Azure RBAC权限

    Azure RBAC权限的细化一直是比较繁琐的事情,以下示例抛砖引玉,供大家参考 客户需求: 新用户在指定资源组下权限需求如下: 一.禁止以下权限 1. 调整虚拟机大小配置 2. 删除&停止虚 ...

  5. 使用 Azure CLI 将 IaaS 资源从经典部署模型迁移到 Azure Resource Manager 部署模型

    以下步骤演示如何使用 Azure 命令行接口 (CLI) 命令将基础结构即服务 (IaaS) 资源从经典部署模型迁移到 Azure Resource Manager 部署模型. 本文中的操作需要 Az ...

  6. “朕赐给你,才是你的;朕不给,你不能抢”--custome role在Azure权限管理中的简单实践

    在开始详细讨论技术问题之前,有一些个人观点想发表一下: ---作为一个甲方云平台的掌控着,如果任何事情你都是让partner全部帮你搞定,自己既不审核也不研究,那无论是对于公司还是个人发展来说都是没任 ...

  7. k8s管理存储资源

    1. Kubernetes 如何管理存储资源 理解volume 首先我们学习 Volume,以及 Kubernetes 如何通过 Volume 为集群中的容器提供存储:然后我们会实践几种常用的 Vol ...

  8. k8s 管理存储资源(10)

    一.Kubernetes 如何管理存储资源 理解Volume 我们经常会说:容器和 Pod 是短暂的. 其含义是它们的生命周期可能很短,会被频繁地销毁和创建.容器销毁时,保存在容器内部文件系统中的数据 ...

  9. 【Azure API 管理】APIM集成内网虚拟网络后,启用自定义路由管理外出流量经过防火墙(Firewall),遇见APIs加载不出来问题

    问题描述 使用 Azure 虚拟网络,Azure APIM 可以管理无法通过 Internet 访问的 API,达到以保护企业内部的后端API的目的.在虚拟网络中,启用网络安全组(NSG:Networ ...

随机推荐

  1. PHP类的变量与成员,及其继承、访问与重写要注意的问题

    PHP的类及其实例: <?php ?>  后期静态绑定:为了避免子类重写静态属性后,使用继承来的方法仍然方法父类的静态属性,PHP5.3增加了一个新的语法,后期静态绑定,使用static关 ...

  2. 大话设计模式之PHP篇 - 适配器模式

    定义将一个类的接口转换成客户希望的另外一个接口,使用原本不兼容的而不能在一起工作的那些类可以在一起工作. 角色Target适配目标,该角色定义把其他类转换为何种接口,也就是我们的期望接口.Adapte ...

  3. INSPIRED启示录 读书笔记 - 第22章 原型测试

    物色测试者 1.如果你已经拥有一批特约用户,可以邀请他们参加测试 2.如果是企业级产品,同类产品的展销会是寻找目标用户的好去处 3.可以在分类信息网站上发布广告,征集测试者.征集要求可以写得笼统些,不 ...

  4. 【BZOJ1854】游戏[SCOI2009](神奇贪心+并查集)

    这道题和今年GDKOI的Day2T2很像(然而gdkoi的题用网络流可以A,这道题只能拿30). 网址:http://www.lydsy.com/JudgeOnline/problem.php?id= ...

  5. LeetCode——same-tree

    Question Given two binary trees, write a function to check if they are equal or not. Two binary tree ...

  6. POJ 2482 Stars in Your Window (线段树区间合并+扫描线)

    这题开始一直被矩形框束缚了,想法一直都是枚举线,但是这样枚举都需要O(n^2)...但是看了别人的思路,感觉这题思想真心很好(PS:开头好浪漫的描述啊,可惜并没有什么用)  题意就是在平面上给你一些星 ...

  7. Virtio SCSI设备介绍

    Qemu的存储栈 在KVM虚拟化环境中,当客户机的内核存储系统像在物理机上一样通过页缓存.文件系统.通用块设备层运行到实际设备驱动时,这时驱动对设备寄存器的访问会触发CPU从客户机代码切换到物理机内的 ...

  8. MySql基础学习-总纲

  9. python基础3 - 变量的基本使用和命名

    4.变量的基本使用 4.1 变量定义 在 Python 中,每个变量 在使用前都必须赋值,变量 赋值以后 该变量 才会被创建 等号(=)用来给变量赋值 = 左边是变量名 = 右边是存储在变量中的值 变 ...

  10. 分享知识-快乐自己:mysql数据库常见两种引擎

    mysql的常用引擎 在MySQL数据库中,常用的引擎主要就是2个:Innodb和MyIASM. 首先: 1.简单介绍这两种引擎,以及该如何去选择. 2.这两种引擎所使用的数据结构是什么. Innod ...