Azure ARM (16) 基于角色的访问控制 (Role Based Access Control, RBAC) - 使用默认的Role
《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的更多相关文章
- Azure ARM (17) 基于角色的访问控制 (Role Based Access Control, RBAC) - 自定义Role
<Windows Azure Platform 系列文章目录> 在上面一篇博客中,笔者介绍了如何在RBAC里面,设置默认的Role. 这里笔者将介绍如何使用自定的Role. 主要内容有: ...
- Azure 门户中基于角色的访问控制入门
面向安全的公司应侧重于向员工提供他们所需的确切权限. 权限过多,可能会向攻击者公开帐户. 权限太少意味着员工无法有效地完成其工作. Azure 基于角色的访问控制 (RBAC) 可通过为 Azure ...
- YIi 权限管理和基于角色的访问控制
验证和授权(Authentication and Authorization) 定义身份类 (Defining Identity Class) 登录和注销(Login and Logout) 访问控制 ...
- RBAC (基于角色的访问控制)
基于角色的访问控制(Role-Based Access Control)作为传统访问控制(自主访问,强制访问)的有前景的代替受到广泛的关注.在RBAC中,权限与角色相关联,用户通过成为适当角色的成员而 ...
- RBAC: 基于角色的访问控制(Role-Based Access Control)
本文只讨论两种基于角色的访问控制的不同点,不涉及权限设计的数据库设计. 基于角色的访问控制(Role-Based Access Control)可分为隐式角色访问控制和显式角色访问控制. 隐式角色访问 ...
- [PHP]基于角色的访问控制RBAC
---------------------------------------------------------------------------------------------------- ...
- PHP RBAC权限管理 基于角色的访问控制演示
RBAC rbac:Role Based Access Controll,基于角色的访问控制. 今天理一理RBAC,话不多说,直接切入主题 功能需求: 权限管理(无限极) 角色管理(可以分配权限) 管 ...
- 移动服务和 Azure Active Directory 中基于角色的访问控制
编辑人员注释:本文章由 Matthew Henderson撰写 去年 11月,我们发布了 Azure Active Directory (AAD) 预览版作为移动服务身份提供程序.此举旨在为企业开 ...
- YII RBAC基于角色的访问控制
基于角色的访问控制( Role-Based Access Control ),是一种简单的而又强大的集中访问控制.基于Yii Framework 的 authManager 组件实现了分等级的 RBA ...
随机推荐
- C#使用Xamarin开发可移植移动应用进阶篇(6.使用渲染器针对单个平台自定义控件..很很很很重要..),附源码
前言 系列目录 C#使用Xamarin开发可移植移动应用目录 源码地址:https://github.com/l2999019/DemoApp 可以Star一下,随意 - - 说点什么.. 本篇..基 ...
- java web面试技巧,数据库面试,java web轻量级开发面试教程
我最近看到一本比较好的讲java web方面面试的书,java web轻量级开发面试教程. 其中不仅用案例和视频讲述了Spring MVC,Hibernate, ORM等方面的技巧,而且还实际讲到了面 ...
- 使用build_opener 自定义 opener
使用build_opener 自定义 opener,这种方法的好处是可以方便的拓展功能. import urllib.request import http.cookiejar def makeMyO ...
- class对象详解
我们知道,对于java语言,我们一般先写一个类对象,表示对某一类对象概述,其中包括属性,方法等.我们在对类对象编译时,会产生一个.class对象,jvm在加载类对象时,是加载.class 对象文件,我 ...
- [2013-07-22]varnish-cache 安装配置及体验笔记
varnish安装 ubuntu12安装参考 其他系统参考 如果选择了直接从源安装的方式的话,就不要自己去编译了,以免出现意外(悲剧的我,varnishlog 有点问题,之前先编译安装了,再从源安装, ...
- 模仿Spring实现注解注入
写这个极其蛋疼,我一直在想我们用SSM写项目时,写Service和Controller的时候,会给Service和Controller私有属性,比如Service需要dao,Controller需要S ...
- MySQL(三)之SQL语句分类、基本操作、三大范式
一.SQL语句的分类 DML(Data Manipulation Langauge,数据操纵/管理语言) (insert,delete,update,select) DDL(Data ...
- java常量池中基本数据类型包装类的小陷阱
想必大部分学过java的人都应该做过这种题目: public class Test { public static void main(String[] args) { //第一个字符串 String ...
- CSS 中的 initial、inherit、unset、revert
在css中,initial(初始).inherit(继承).unset(未设置).revert(还原)这四个关键字可以应用于所有的CSS属性. initial - 初始默认值.IE不支持 inheri ...
- SVG裁切和蒙版
前面的话 本文将详细介绍SVG裁切和蒙版 裁剪 SVG中的<clipPath>的元素,专门用来定义剪裁路径.必须设置的属性是id属性,被引用时使用 下面是一个圆形 <svg heig ...