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

时间:2017-12-24 04:44:22

标签: python api azure rbac service-principal

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

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

我知道我需要租户ID,客户ID,客户密码和订阅ID。我可以使用API​​中的哪一个,以及如何分配角色以允许启动/取消分配现有资源组的VM?

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

1 个答案:

答案 0 :(得分:1)

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

离样本越近可能就是这个单位测试:

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

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

" msi_identity"是"服务负责人的同义词"在你的背景下。

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

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

(完全披露,我在Azure SDK for Python团队的MS工作)