我的目标是通过调用Azure服务管理API的python脚本在Azure门户中创建/更新/删除安全规则和NSG
我正在尝试使用APIs https://docs.microsoft.com/en-us/rest/api/virtualnetwork/securityrules/createorupdate在NSG组中创建安全规则。
我使用OAuth API完成了授权部分,并使用接收到的授权令牌对API请求进行身份验证,以创建安全规则。
我得到的错误如下:- {'error': {'code': 'AuthorizationFailed', 'message': "The client <myobject_id> with object id '<my-object_id>' does not have authorization to perform action 'Microsoft.Network/networkSecurityGroups/securityRules/action' over scope '/subscriptions/<my_subscriptions_id>/resourceGroups/<my_resource_group_name>/providers/Microsoft.Network/networkSecurityGroups/<my-nsg-name>/securityRules/<my-securityRules-name>' or the scope is invalid. If access was recently granted, please refresh your credentials."}}
我在我的应用程序中添加了Azure服务管理的API权限,在这里我还能做什么。
会感谢您的快速帮助!问候阿皮塔
发布于 2021-03-12 13:27:19
首先,您要更改术语,Azure服务管理(ASM)是用于使用Azure经典资源的旧提供程序,您不想使用它,而您发布的链接没有这样做。相反,您需要使用Azure资源管理器(ARM),这就是链接的目的。
其次,您需要在要创建资源的订阅或资源组上授予服务主体Azure RBAC权限。这些不是您在应用程序设置中看到的App权限,而是Azure门户中IAM选项卡上用于部署资源的权限。授予您的服务主体适当的角色,然后您将能够创建资源。
https://serverfault.com/questions/1056841
复制相似问题