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

Create service principal programmatically in Azure Python API

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

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

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

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

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

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

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

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

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

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

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

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