我的目标是通过调用 Azure 服务管理 API 的 Python 脚本在我的 Azure 门户中创建/更新/删除安全规则和 NSG
我正在尝试使用 API 在 NSG 组中创建安全规则https://docs.microsoft.com/en-us/rest/api/virtualnetwork/securityrules/createorupdate
我已经使用 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 权限添加到我的 APP,我还能在这里做什么。
非常感谢您的快速帮助!问候 Arpita
答案1
首先,您需要更改术语,Azure 服务管理 (ASM) 是处理 Azure 经典资源的旧提供程序,您不想使用它,而您发布的链接不是这样做的。相反,您需要使用 Azure 资源管理器 (ARM),这就是该链接的用途。
其次,您需要授予服务主体对要创建资源的订阅或资源组的 Azure RBAC 权限。这些不是您在应用程序设置中看到的应用程序权限,而是 Azure 门户中 IAM 选项卡上您要部署资源的权限。授予服务主体适当的角色,然后您将能够创建资源。