在 Azure 中,作为资源组贡献者,为什么我无法创建存储帐户?应该采取哪些措施来防止出现这种情况?

Sen*_*nel 5 azure azure-resource-manager

客户的订阅管理员授予我(MS 帐户)其资源组之一的贡献者角色。

当我尝试在该资源组中创建存储帐户时,出现以下错误:

“AuthorizationFailed”无权在范围内执行操作“Microsoft.Storage/register/action”

我通过 Powershell 登录订阅并列出可用的提供商,发现大多数都没有注册。当我尝试注册时,出现该错误。

为什么他们没有注册?管理员应该采取什么措施来纠正这个问题?以后添加贡献者时应该怎样做才能避免这个问题?现在作为该 RG 的贡献者,我能做的不多。

Gau*_*tri 5

我通过 Powershell 登录订阅并列出可用的提供商,发现大多数都没有注册。当我尝试注册时,出现该错误。

您收到此错误的原因是订阅管理员已将您分配到Contributor特定资源组的角色。他们没有授予您任何有关Microsoft.Storage资源提供者的许可。为了让您注册此资源的订阅,您需要资源提供者的Write权限Microsoft.Storage

您可以要求订阅管理员授予您适当的权限,或者他们可以向该资源提供商注册订阅。

更新 - 跟进问题

我的理解是贡献者角色只是允许指定的用户在组中创建资源。

你的理解是正确的。凭借Contributor资源组中的角色,您应该能够在其中创建资源。

在此角色分配中的某个时刻,订阅管理员是否指定可以创建哪些资源,哪些不能创建?或者是订阅的设置方式存在某种限制?

嗯,是的,也不是。因此,如果您被分配了一些笼统的角色,那么Contributor您应该能够创建任何类型的资源。然而Custom Roles,使用 ,管理员可以发挥超级创造力,并且只允许您创建某种类型的资源。但是,在创建某种资源之前,应向资源提供者注册订阅。

我理解整个事情的结构是,Azure 中的每个产品团队都负责提供自己的功能。所有这一切的中心点是Azure Resource Manager它提供了其他东西Role-based Access Control

我们以 Azure 存储为例。与存储帐户交互的功能(从管理角度来看,如创建、删除等)是由存储团队使用称为Storage Resource Provider (SRP). 因此,如果您仔细观察,就会发现每个功能都有一个资源提供者。由于我未知的原因,默认情况下并非所有资源提供程序都可供您使用(可能是成本原因),并且订阅管理员必须向该资源提供程序注册他/她的订阅,以便可以在该订阅中创建此类资源。

  • “所需注册”是有意为之的——默认情况下较少的表面积和管理员的一些 RBAC 灵活性(尽管它有时会以其他方式表现出来,正如您所经历的:))。有一些地方您不会注意到,因为当您创建资源或部署模板时,工具会自动为您执行此操作(PowerShell、Portal)。如果订阅中尚未创建任何内容,那么您将看到以下内容。 (4认同)