我正在使用Azure来托管一系列服务,并且需要为RBAC创建一些自定义角色。尝试运行适当的命令来创建角色时,我遇到了错误。
关于如何执行此操作,有许多好的文档sources和walkthroughs,理论上似乎很容易,但我一直遇到运行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
我正在寻找一个解决方案来修复呼叫,使其成功,或者创建自定义角色的解决方法。
答案 0 :(得分:0)
事实证明,我收到的错误是一个错误的错误消息,导致诊断不正确。
更新到最新版本的Azure PowerShell后,我收到了同样的错误 - 所以我做了一些挖掘并找到了更新的代码示例。
我使用格式/subscriptions/*******/myresourcegroupname
将文件中的可分配范围设置为特定资源组,但正确的格式为/subscriptions/*******/resourceGroups/myresourcegroupname
,请注意额外的/resourceGroups/
路径。