在 Azure Python API 中以编程方式创建服务主体

Len*_*and 1 python api rbac azure service-principal

我如何使用 Azure Python API 创建一组完整的凭据,这些凭据稍后可用于启动和取消分配指定资源组中的所有 VM,而无需任何其他权限?

我已经彻底研究了示例代码以及官方和非官方文档,但我什至不知道从哪里开始......

我知道我需要租户 ID、客户端 ID、客户端机密和订阅 ID。我可以使用 API 进行哪些操作,我将如何分配角色以允许启动/取消分配现有资源组的 VM?

示例代码备受追捧,但会采取任何提示!

Lau*_*uel 5

您需要azure-graphrbac包来创建服务主体:

更接近样本的可能是这个单元测试:

对于角色和权限,您需要azure-mgmt-authorization

这个最好的样本,可能是这个样本的子部分:

在您的上下文中,“msi_identity”是“服务主体”的同义词。

请注意,CLI v2.0 支持所有这些:

可能有兴趣在--debug模式下测试 CLI并同时在代码仓库中嗅探:

(完全公开,我在微软的 Azure SDK for Python 团队工作)