如何为角色创建设置Azure Powershell的API版本

时间:2016-10-07 21:23:02

标签: azure azure-powershell

我正在使用Azure来托管一系列服务,并且需要为RBAC创建一些自定义角色。尝试运行适当的命令来创建角色时,我遇到了错误。

关于如何执行此操作,有许多好的文档sourceswalkthroughs,理论上似乎很容易,但我一直遇到运行Powershell Commandlet的问题:

New-AzureRmRoleDefinition -InputFile [pathtojsondoc]

输入文件只是描述角色的json

"Name":  "Test Role",    
"IsCustom":  true,
"Description":  "Role Description",
"Actions":  [
   "Microsoft.Resources/subscriptions/resourceGroups/read"
            ],
"NotActions":  [ ],
"AssignableScopes":  [ ]

}

调用New-AzureRmRoleDefinition函数时,收到以下错误:

  

New-AzureRmRoleDefinition:InvalidApiVersionParameter:api-version'2015-07-01'无效。支持的版本是'2016-09-01,2016-07-01,2016-06-01,2016-02-01,2015-11-01,2015-01-01,2014-04-01-preview,2014 -04-01,2014-01-0

我正在寻找一个解决方案来修复呼叫,使其成功,或者创建自定义角色的解决方法。

1 个答案:

答案 0 :(得分:0)

事实证明,我收到的错误是一个错误的错误消息,导致诊断不正确。

更新到最新版本的Azure PowerShell后,我收到了同样的错误 - 所以我做了一些挖掘并找到了更新的代码示例。

我使用格式/subscriptions/*******/myresourcegroupname将文件中的可分配范围设置为特定资源组,但正确的格式为/subscriptions/*******/resourceGroups/myresourcegroupname,请注意额外的/resourceGroups/路径。