Azure 基于角色的访问控制疑难解答

本文解答了有关为角色授予的特定访问权限的常见问题,让你能够预料到在 Azure 门户中使用角色时可能出现的情况,并解决访问权限问题。 以下三种角色涵盖所有资源类型:

  • 所有者
  • 参与者
  • 读取器

所有者和参与者对管理体验具有完全访问权限,但是参与者无法向其他用户或组授予访问权限。 具有读者角色事情会变得更加有趣,因此,我们将着重介绍读者角色。 有关如何授予访问权限的详细信息,请参阅基于角色的访问控制入门文章

应用服务

写访问功能

如果为用户授予单个 Web 应用的只读访问权限,某些功能可能会被禁用,这可能不是你所期望的。 以下管理功能需要对 Web 应用具有写入权限(参与者或所有者),并且不适用于任何只读方案。

  • 命令(例如启动、停止等。)
  • 更改设置(如常规配置、缩放设置、备份设置和监视设置)
  • 访问发布凭据和其他机密(如应用设置和连接字符串)
  • 流式传输日志
  • 诊断日志配置
  • 控制台(命令提示符)
  • 活动和最新部署(适用于本地 Git 持续部署)
  • 估计费用
  • Web 测试
  • 虚拟网络(只在虚拟网络是由具有写入权限的用户在以前配置时,才对读者可见)。

如果无法访问以上任何磁贴,则需要让管理员提供对 Web 应用的“参与者”访问权限。

由于存在几个相互作用的不同资源,Web 应用程序是复杂的。 下面是包含几个网站的典型资源组:

Web 应用程序资源组

因此,如果只授予某人对 Web 应用的访问权限,则 Azure 门户中的网站边栏选项卡上的很多功能将被禁用。

这些项需要对与网站对应的应用服务计划具有访问权限:

  • 查看 Web 应用的定价层(免费或标准)
  • 规模配置(实例数、虚拟机大小、自动缩放设置)
  • 配额(存储空间、带宽、CPU)

这些项需要对包含网站的整个资源组具有访问权限:

  • SSL 证书和绑定(SSL 证书可以在同一资源组和地理位置中的站点之间共享)
  • 警报规则
  • 自动缩放设置
  • Web 测试

Azure Functions

Azure Functions 的某些功能需要写入权限。 例如,如果给用户分配读者角色,他们将无法查看函数应用中的函数。 门户将显示 (无访问权限)。

函数应用无访问权限

读者可单击“平台功能”选项卡,然后单击“所有设置”查看与函数应用(类似于 Web 应用)相关的一些设置,但无法修改任何这些设置。

虚拟机

与 Web 应用程序很类似,虚拟机边栏选项卡上的某些功能需要对虚拟机或资源组中的其他资源具有写访问权限。

虚拟机与域名、虚拟网络、存储帐户和警报规则相关。

这些项需要对虚拟机具有写入权限:

  • 终结点
  • IP 地址
  • 磁盘
  • 扩展

这些项需要对虚拟机和其所在的资源组(以及域名)具有写入权限:

  • 可用性集
  • 负载均衡集
  • 警报规则

如果无法访问以上任何磁贴,则需要让管理员提供对资源组的“参与者”访问权限。

另请参阅