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增加新用户

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

  但是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

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

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

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

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

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

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

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

  

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

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

  (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

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

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

  

  (2)参与者Contributor

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

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

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

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

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

 

  (3)读者(Reader)

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

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

 

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

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

  

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

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

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

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

  

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

 

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

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

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

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

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

 

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

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

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

 

 

  总结:

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

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

 


本文转自Azure Lei Zhang博客园博客,原文链接:http://www.cnblogs.com/threestone/p/7565507.html,如需转载请自行联系原作者


上一篇:《CCNP安全Secure 642-637认证考试指南》——8.8节填空


下一篇:机器学习-异常检测算法(一):Isolation Forest