使用基于角色的访问控制保护资源
实现 Azure Policy 确保了我们所有具有 Azure 访问权限的员工都能按内部标准创建资源,但我们还有第二个问题需要解决:部署资源后我们如何保护这些资源? 我们具有需要管理设置的 IT 人员、需要具有只读访问权限的开发人员以及需要能够完全控制它们的管理员。 基于角色的访问控制 (RBAC) 可以解决这一问题。
RBAC 为 Azure 资源提供精细的访问管理,通过它可授予用户执行其工作所需的特定权限。 RBAC 被视为核心服务,并且免费包含在所有订阅级别中。
使用 RBAC,你可以:
- 让一名用户管理订阅中的 VM,让另一名用户管理虚拟网络。
- 让数据库管理员 (DBA) 组管理订阅中的 SQL 数据库。
- 让某位用户管理资源组中的所有资源,例如 VM、网站和虚拟子网。
- 让某个应用程序访问资源组中的所有资源。
若要查看访问权限,请使用 Azure 门户中资源的“访问控制 (IAM)”面板。 在此面板上,可以确定可以访问某个区域的用户及其所分配到的角色。 使用此面板,还可以授予或删除访问权限。
RBAC 如何定义访问权限
RBAC 使用“允许模型”进行访问。 你获得某个角色后,RBAC 允许你执行特定操作,例如读取、写入或删除。 因此,如果一个角色分配授予你对某个资源组的读取权限,另一个角色分配授予你对同一资源组的写入权限,你就拥有对该资源组的读写权限。
RBAC 最佳做法
以下是你在设置资源时应使用的一些最佳做法:
- 在团队中实现职责分离,仅向用户授予执行作业所需的访问权限。 仅允许在特定范围内执行某些操作,而不是向每个人提供对 Azure 订阅或资源不受限制的权限。
- 在规划访问控制策略时,为用户授予他们完成工作所需的最低权限级别。
- 使用“资源锁”以确保不会修改或删除关键资源(下一单元会进行介绍)。