《Windows Azure Platform 系列文章目录

  今天上午刚刚和客户沟通过,趁热打铁写一篇Blog。

  熟悉Microsoft Azure平台的读者都知道,在老的Classic Portal里面,我们可以设置共同管理员(Co-admin)。

  参考:Windows Azure Active Directory (3) China Azure AD增加新用户

  

  但是Co-Admin和服务管理员(Service Admin)的权限是一样的。

  比如上图的admin创建的任何资源,是可以被newuser这个用户删除的。这样不能进行权限控制。

  在新的Azure ARM Portal里面,我们是可以根据不同的用户,对资源组(Resource Group)设置基于角色的访问控制 (Role Based Access Control, RBAC)

  在这里笔者进行详细的介绍。

  主要操作有:

  一.创建新的Azure AD Account

  二.创建Azure Resource, 并设置RBAC

  一.创建新的Azure AD Account

  1.我们以服务管理员身份(Admin),登录Azure ARM Portal: https://portal.azure.cn

  2.点击Azure Active Directory

  

  3.创建新的用户,我们这里设置账户名称为:readonly。把下面的密码保存在记事本中。下面登录的时候要用到。

  

  4.创建完Azure AD账户以后,我们再创建一个Azure Resource Group,命名为LeiDemo-RG。图略

  5.我们在LeiDemo-RG里面,创建1个新的存储账户,命名为leidemostorage。图略。

  6.然后我们选择LeiDemo-RG,点击访问控制,添加:

  

  7.角色这里我要详细的说明一下:

  

  (1)所有者(Owner)

  如果我把readonly这个账户设置为所有者,则readonly账户可以对LeiDemo-RG进行任何操作,包括删除

  (2)参与者(Contributor)

  如果我把readonly这个账户设置为参与者,则readonly账户可以对LeiDemo-RG进行任何操作,但是不包括权限(Authorization)的删除和写入。

  (3)读者(Reader)

  如果我把readonly这个账户设置为读者,则readonly账户只能对LeiDemo-RG,进行只读操作,但是无法读取访问秘钥。

  有兴趣的读者可以参考微软文档:

  https://docs.microsoft.com/en-us/azure/active-directory/role-based-access-built-in-roles

  (1)所有者Owner

  

  允许的操作是*,表示可以执行任何操作

  

  (2)参与者Contributor

  

  允许的操作是Actions的操作,减去NotActions的操作。这个概念非常非常重要。

  允许的操作是Actions的操作,减去NotActions的操作。这个概念非常非常重要。

  允许的操作是Actions的操作,减去NotActions的操作。这个概念非常非常重要。

  所以上图的操作是允许进行任何操作,但是不包括权限(Authorization)的删除和写入。

  (3)读者(Reader)

  

  允许的的操作是进行只读操作,但是无法读取访问秘钥。

  8.我们首先把readonly账户,设置为参与者(Contributor)。

  

  

  9.保证admin登录的浏览器(比如Chrome)不关闭。换另外一个浏览器(比如IE)。在IE中,以readonly账户登录。

  10.我们以readonly账户登录的IE浏览器里,选择资源组LeiDemo-RG,设置访问控制。

  下图中,我们可以看到,因为readonly账户设置为参与者(Contributor),所以允许进行任何操作,但是不包括权限(Authorization)的删除和写入。

  

  

  11.我们回到Chrome浏览器,以admin身份,把readonly设置为读者(Reader)。图略

  12.然后回到IE浏览器,按F5页面刷新。这时候readonly的权限是读者(Reader)。  

  我们在IE浏览器里,以readonly身份,选择资源leidemostorage,然后点击删除。

  

  请记住:我们在步骤11中,设置的readonly权限为读者(Reader)。所有readonly权限为: 进行只读操作,但是无法读取访问秘钥。

  

  13.我们尝试以readonly身份,删除这个存储账户:leidemostorage。会显示删除失败:

  

  这个是可以理解的,因为读者(Reader)的身份,只能进行只读操作,但是无法读取访问秘钥。

  总结:

  1.掌握如何在Azure AD中,创建新的Account

  2.了解RBAC中默认的三个角色:所有者(Owner),参与者(Contributor),读者(Reader

  

Azure ARM (16) 基于角色的访问控制 (Role Based Access Control, RBAC) - 使用默认的Role的更多相关文章

  1. Azure ARM (17) 基于角色的访问控制 (Role Based Access Control, RBAC) - 自定义Role

    <Windows Azure Platform 系列文章目录> 在上面一篇博客中,笔者介绍了如何在RBAC里面,设置默认的Role. 这里笔者将介绍如何使用自定的Role. 主要内容有: ...

  2. Azure 门户中基于角色的访问控制入门

    面向安全的公司应侧重于向员工提供他们所需的确切权限. 权限过多,可能会向攻击者公开帐户. 权限太少意味着员工无法有效地完成其工作. Azure 基于角色的访问控制 (RBAC) 可通过为 Azure ...

  3. YIi 权限管理和基于角色的访问控制

    验证和授权(Authentication and Authorization) 定义身份类 (Defining Identity Class) 登录和注销(Login and Logout) 访问控制 ...

  4. RBAC (基于角色的访问控制)

    基于角色的访问控制(Role-Based Access Control)作为传统访问控制(自主访问,强制访问)的有前景的代替受到广泛的关注.在RBAC中,权限与角色相关联,用户通过成为适当角色的成员而 ...

  5. RBAC: 基于角色的访问控制(Role-Based Access Control)

    本文只讨论两种基于角色的访问控制的不同点,不涉及权限设计的数据库设计. 基于角色的访问控制(Role-Based Access Control)可分为隐式角色访问控制和显式角色访问控制. 隐式角色访问 ...

  6. [PHP]基于角色的访问控制RBAC

    ---------------------------------------------------------------------------------------------------- ...

  7. PHP RBAC权限管理 基于角色的访问控制演示

    RBAC rbac:Role Based Access Controll,基于角色的访问控制. 今天理一理RBAC,话不多说,直接切入主题 功能需求: 权限管理(无限极) 角色管理(可以分配权限) 管 ...

  8. 移动服务和 Azure Active Directory 中基于角色的访问控制

    编辑人员注释:本文章由 Matthew Henderson撰写 去年 11月,我们发布了 Azure Active Directory (AAD) 预览版作为移动服务身份提供程序.此举旨在为企业开 ...

  9. YII RBAC基于角色的访问控制

    基于角色的访问控制( Role-Based Access Control ),是一种简单的而又强大的集中访问控制.基于Yii Framework 的 authManager 组件实现了分等级的 RBA ...

随机推荐

  1. 【Zookeeper】3.4.9 基本配置

    [hadoop@master1 ~]$ cat zookeeper/conf/zoo.cfg # The number of milliseconds of each tick 每个心跳的时长 单位为 ...

  2. vue-cli脚手架npm相关文件解读(2)webpack.prod.conf.js

    系列文章传送门: 1.build/webpack.base.conf.js 2.build/webpack.prod.conf.js 3.build/webpack.dev.conf.js 4.bui ...

  3. PyQt QFontDialog显示中文

    QApplication 加载Translator app = QtWidgets.QApplication(sys.argv) translator = QtCore.QTranslator() i ...

  4. os.path python使用遍历文件夹文件

    import os import os.path rootdir = "d:\data" # 指明被遍历的文件夹 for parent,dirnames,filenames in ...

  5. Java入门(3)—— 数组

    数组 概述:数组就是一个容器可以存放固定个数的单一数据类型 特点: 容器 长度是固定的 数组里面的元素的数据类型要一致 定义数组: 1.先声明,后初始化 声明: 数据类型[] 数组名; // 标识符命 ...

  6. 网络唤醒全攻略(Wake On Lan)

    家里组了台服务器存放资料,或者作为开发服务器,远程登陆成为刚性需求,由于机器需要的时候才用到,所以如果经常开机的话很费电,按需开机是最佳办法:网上教程很多,但是比较杂乱,表达累赘:还是自己总结一篇简单 ...

  7. Docker打包 Asp.Net Core应用,在CentOS上运行

    本文主要介绍下运用docker虚拟技术打包Asp.net core应用. Docker作为一个开源的应用容器引擎,近几年得到广泛的应用,使用Docker我们可以轻松实现应用的持续集成部署,一次打包,到 ...

  8. Grails笔记一:windows8.1操作系统cmd下grails命令无效

    最近决定使用intellij idea工具来开发基于Grails框架的应用程序,,在安装好jdk 1.7以及配置好jdk和grails环境变量后进行grails测试,在win8.1的命令行窗口中输入以 ...

  9. 基于AXI4总线卷积FPGA加速IP核的尝试

    本文先总结不同AXI IP核的实现的方法,性能的对比,性能差异的分析,可能改进的方面.使用的硬件平台是Zedboard. 不同的AXI总线卷积加速模块的概况 这次实现并逐渐优化了三个版本的卷积加速模块 ...

  10. 串口数据缓存java版

    接触串口很久了,一直以来将都是将串口读取出来的数组转换成字符串通过string.contains()查找是否包涵目标数组,自己感觉low到爆,所以写了一个byte-buffer,测试还是蛮好用的.希望 ...