Azure角色管理技巧和工具

云计算
Azure Resource Manager(Azure资源管理器),公有云平台的管理门户,提供了一系列特性,来管理Azure角色,访问控制和安全策略。但是因为Azure用户的多样性,用户包括服务提供商,中央IT基础架构经理,IT运维团队和应用程序开发人员,Azure资源管理器可能有些混乱——特别是在控制服务访问和配置的时候。本文深入探讨Azure资源管理器(ARM)基于角色的访问控制(RBACs),包括其和底层Azure预配概念,安全和认证管理特性的关系以及常见的用户场景。

   Azure Resource Manager(Azure资源管理器),公有云平台的管理门户,提供了一系列特性,来管理Azure角色,访问控制和安全策略。但是因为Azure用户的多样性,用户包括服务提供商,中央IT基础架构经理,IT运维团队和应用程序开发人员,Azure资源管理器可能有些混乱——特别是在控制服务访问和配置的时候。

  本文深入探讨Azure资源管理器(ARM)基于角色的访问控制(RBACs),包括其和底层Azure预配概念,安全和认证管理特性的关系以及常见的用户场景。

[[170805]]

  1.Azure RBAC基础知识

  在深入RBACs之前,理解Azure服务预配和使用的基本概念很重要,特别是计划、offer、订阅、配额、服务和角色之间的区别。

  服务:Azure里最基本的消费单元。服务包括资源,比如虚拟机(VM),对象存储或者关系数据库。

  计划:提供给用户的一些服务,比如一系列VM实例,存储和数据库类型,以及任何使用限制,比如域可用性或者资源配额。计划通常针对特定的IT角色,比如开发人员或者数据科学家,或者针对负载需求来量体定制。

  Offer:订阅可用的某个或者多个计划的组合。Offer是用户选择订阅的实际产品集。

  订阅:某个公司和某个云服务提供商之间的协议,按照订阅计划所定义的,来授予权限,从而消费某个或者多个服务。企业可能有一个或者多个订阅。

  配额:作为计划的一部分来定义的服务限制。比如,Azure的免费层,本质上也是一个计划,限制用户可以在一个月内免费使用14个VM,40个SQL数据库和8 TB的存储空间。

  角色:分配给某个个人或者组织的一系列访问,管理和使用权限。

  使用Azure公有云时,计划和offer之间的差异并不明显,因为Microsoft在后台定义了这些。但是,当使用第三方Azure服务提供商,或者使用Azure Stack来构建私有云的话,这两者之间的差别就变得重要了。这很可能会给不同的组织,企业或者负载需求提供更多的不同粒度的服务包。对于Azure基于角色的访问控制而言,这两者的区别也比较重要,因为订阅和管理用户和组织身份的目录有关系。

  管理员从用户目录定义Azure RBACs,并且每个订阅只能信任一个目录。小型开发团队可以使用Azure和Microsoft账号系统里所定义的用户和组;所有Azure角色和控制必须使用Microsoft账号来定义。如果企业之后才引入的Azure,可以将企业的活动目录(AD)和Azure同步,并且使用其设置策略,IT团队必须使用AD身份重新创建开发人员角色。因为个人或者组可能拥有多个订阅,所以务必确保每个订阅使用相同的用户目录来保证一致性。

  无论是Azure还是其他系统,所有RBACs的指导性原则都是最小特权原则:终端用户必须仅拥有完成工作所必须的访问权限。Azure通过仅仅允许终端用户在显式定义了权限的资源上执行操作,来强制遵守最小特权原则。没有默认的权限,除非企业为所有资源将全局组应用到某个特定角色上。

  在Azure上,RBACs遵循和AD使用类似的先序分层原则——针对用户,组和控制使用全局,父和子域

  标准Azure角色

  Microsoft定义了三种基础Azure角色:

  所有者:拥有完整的管理权限

  贡献者:拥有完整的管理权限,除了用户管理权限

  只读者:能够查看资源权限

  Microsoft还有更加具体的内置Azure角色的列表。比如,自动运维人员(Automation Operator)角色允许其成员启动,停止,暂停并且恢复作业。DevTest Labs用户能够查看所有东西,并且能够连接,启动,重启以及关闭VM。

  Azure还支持自定义角色,管理员可以将其分配给整个订阅里的,或者某个特定资源或资源组的用户,组或者应用程序。管理员使用JSON语法定义这些自定义的Azure角色。不管是自定义的还是预定义好的角色,都能够通过ARM web门户来定义该角色的成员。但是,管理员也可以使用PowerShell,Azure命令行接口(CLI)或者REST API来自动化大规模的指派任务。

  Microsoft为如下动作提供了PowerShell cmdlet:

  Get-AzureRoleAssignment:获得分配给某个用户的角色。

  Get-AzureRoleDefinition:列出某个角色的Actions和NotActions

  New-AzureRoleAssignment:给某个用户或者组分配角色。

  Remove-AzureRoleAssignment:从用户或者组里移除角色指派

  2.Azure RMS基于角色的管理

  一些IT团队抱怨Azure缺乏基于角色的管理,特别是Azure Rights Management(RMS,权限管理),Office 365,、Exchange 和 SharePoint使用的预防数据损失功能。一些人错误地认为Azure要求终端用户必须是全局管理员,才能管理RMS模板。但是,Azure文档上写到,在激活RMS之后,管理员能够“使用两个默认模板,从而可以轻松地给敏感文件应用策略”来限制只有授权用户才能访问。

  这两个模板带有权限策略限制,包括受保护内容的只读视图,以及受保护内容的只读或者可更改权限。如上所述,IT团队还能够为权限管理和模板创建定义自定义的角色和权限。

  Azure可能并没有为每个服务都提供了企业想要的访问控制粒度。但是不管怎么说,更好地理解RBAC实现,使用并且自定义——在ARM之内并且通过自动化的PowerShell或者CLI脚本——管理员能够为广大用户及其作业需求微调Azure的安全策略。

责任编辑:关崇 来源: TechTarget中国
相关推荐

2020-05-06 09:53:56

敏捷开发IT主管CIO

2016-08-11 09:05:27

云计算

2014-11-26 10:03:10

AzureADOffice365ADFS

2017-02-15 10:17:23

混合云工具IT领域

2011-09-08 17:45:02

NetIQ角色管理和访问换证

2010-04-06 16:20:14

多角色管理上网行为管理莱克斯科技

2020-05-21 18:29:08

物联网微软技术

2014-05-14 11:34:30

2024-01-24 13:22:40

Python调试工具技巧

2011-03-24 13:02:35

WCF服务角色Azure

2016-10-24 14:53:30

Android app使用技巧

2011-01-14 12:43:58

2015-03-18 10:59:23

AzureAzure管理工具云计算平台

2022-11-04 07:16:45

2024-02-23 10:00:27

Linux工具

2024-09-26 08:36:11

JavaScript性能优化

2010-05-17 17:43:07

2020-06-17 10:58:17

服务器工具技术

2018-05-03 10:33:14

数据库MySQL 8.0角色管理

2010-12-08 11:30:48

VMMOperations
点赞
收藏

51CTO技术栈公众号