对资源组执行验证操作所需的角色

Role required to perform validate action on resource group

我正在尝试 运行 在 Azure API 管理资源组上执行以下 powershell 命令:

Test-AzureRmResourceGroupDeployment -ResourceGroupName api-dev-81575006 -TemplateFile .\api-dev.json -TemplateParameterFile .\api-dev.parameters-TEST.json

但是我收到以下错误:

Test-AzureRmResourceGroupDeployment : The client 'xx.xx@blabla.com' with object id '89e711a3-374d-4594-8aba-e0108edf2a87' does not have authorization to perform action 
'Microsoft.Resources/deployments/validate/action' over scope 

我查看了我在资源组中的角色,我是贡献者角色。这难道不足以让我 运行 验证资源组上的命令吗?

是的,这就足够了,所以您在这里只有几个选择:

  1. 你不知道你到底是谁。即 powershell 在不同的用户下进行身份验证。 (Get-AzContext 将显示此信息)
  2. 您正在部署到错误的资源组(因此不是您检查权限的资源组)
  3. 您正在部署到错误的订阅(Get-AzContext 将向您显示此信息;您可以使用 Select-AzSubscription 切换订阅)

此外,值得注意的是,我 99% 确定 cmdlet 不会按照您的想法行事;)