resource ‘xxxxx’ was disallowed by policy. (coderequest disallowed by policy) policy: allowed virtual machine SKUs:
报错截图:
针对这个报错,首先参考一下官方文档:https://docs.microsoft.com/en-us/azure/governance/policy/samples/allowed-skus-storage
也就是说,公司IT禁止了某个或多个Azure订阅下一些类型的VM和存储账户的创建。
解决办法就是询问策略创建者哪些资源类型可以创建,或者那个订阅可以创建,毕竟禁止全部级别的资源不大现实。
我们来看一下官方文档里给出的范例:
最上面两个你可以不用管,一个策略的定义,一个是参数。如果实在好奇,那么可以直接访问脚本里的URL:
第三条命令也就是让你起个名字而已,重点是第四条:
-name 很简单,取个名字,
-scope 这个是需要设置的Azure订阅的GUID,可以在订阅里找,也可以PowerShell:
但是格式你要写成:/subscriptions/XXXXXXXX-7fcd-42fa-b04f-2f26b207574a
然后就是你需要禁用的VM SKU:
可以指定整个B系列,或者就单独的,比如B1s。对存储账户也是一样。
比如我的:
运行成功后会收到:
如果想要取消这个策略以及其定义,官方文档也给了脚本:
注意:这里脚本有个错误,remove-azpolicysetdefinitions 没有最后的s,会报错,去掉s即可: