【Azure 环境】通过Python SDK收集所有订阅简略信息,例如订阅id 名称, 资源组及组内资源信息等,如何给Python应用赋予相应的权限才能获取到信息呢?

简介: 【Azure 环境】通过Python SDK收集所有订阅简略信息,例如订阅id 名称, 资源组及组内资源信息等,如何给Python应用赋予相应的权限才能获取到信息呢?

问题描述

通过Python  SDK收集所有订阅简略信息,例如订阅id 名称, 资源组及组内资源信息等,如何给Python应用赋予相应的权限才能获取到信息呢?在一个企业的账号中,同一个组织有一个相同的Tenant ID,每一个员工有一个独立的订阅号。默认情况下,一个订阅账号只能访问当前订阅下的资源,而当通过其他订阅共享权限后,就可以使用相同的代码查看其他订阅中资源使用信息。

解决办法

Python SDK身份验证大致分为三种:基于托管标识的验证基于应用注册的clientid和clientsecret的验证基于 CLI 的身份验证

基于托管标识的验证:把代码运行在Azure VM中,为Azure VM开启托管标识,然后给托管标识赋予其他订阅的权限,然后在该VM中即可使用DefaultAzureCredential 方法进行认证。

                                   关于VM开启托管标识可以参考:https://docs.azure.cn/zh-cn/active-directory/managed-identities-azure-resources/qs-configure-portal-windows-vm

 

基于应用注册的clientid和clientsecret的验证:通过AAD注册应用,并在Python代码中使用应用的Client ID 和Client Secret作为认证手段。可参考博文:Python代码通过AAD认证访问微软Azure密钥保管库(Azure Key Vault)中机密信息(Secret)中的注册AAD部分

 

基于 CLI 的身份验证:通过登录账户和密码的方式

注:根据文档描述Azure Cli 登录自 2018 年 8 月起,此令牌在不活动 90 天后将被撤销,但此值可由 Microsoft 或租户管理员更改。 令牌被撤销后,你会收到来自 CLI 的消息,指示你需要重新登录。详细请参考:https://docs.azure.cn/zh-cn/cli/authenticate-azure-cli?view=azure-cli-latest

相关文章
|
3月前
|
JavaScript 前端开发 API
【Azure Developer】use @azure/arm-monitor sdk 遇见 ManagedIdentityCredential authentication failed.(status code 500)
【Azure Developer】use @azure/arm-monitor sdk 遇见 ManagedIdentityCredential authentication failed.(status code 500)
|
3月前
|
存储 Java API
【Azure 存储服务】Java Storage SDK 调用 uploadWithResponse 代码示例(询问ChatGTP得代码原型后人力验证)
【Azure 存储服务】Java Storage SDK 调用 uploadWithResponse 代码示例(询问ChatGTP得代码原型后人力验证)
|
5天前
|
Java 开发工具 Windows
【Azure App Service】在App Service中调用Stroage SDK上传文件时遇见 System.OutOfMemoryException
System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.
|
29天前
|
JavaScript 前端开发 开发工具
【Azure Developer】使用JavaScript通过SDK进行monitor-query的client认证报错问题
AADSTS90002: Tenant 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' not found. Check to make sure you have the correct tenant ID and are signing into the correct cloud. Check with your subscription administrator, this may happen if there are no active subscriptions for the tenant.
|
2月前
|
Kubernetes API 开发工具
【Azure Developer】通过SDK(for python)获取Azure服务生命周期信息
需要通过Python SDK获取Azure服务的一些通知信息,如:K8S版本需要更新到指定的版本,Azure服务的维护通知,服务处于不健康状态时的通知,及相关的操作建议等内容。
46 18
|
2月前
|
Windows Python
python获取windows机子上运行的程序名称
python获取windows机子上运行的程序名称
|
2月前
|
Python
Python批量复制指定名称文件的技巧
通过上述步骤和示例代码,你可以轻松实现批量复制特定名称文件的功能。这种技术不仅节省了时间,而且通过脚本自动化,提高了工作效率。
44 2
|
2月前
|
Python
python编程获取续蜀山剑侠传:从目录名称、网址到内容
python编程获取续蜀山剑侠传:从目录名称、网址到内容
|
2月前
|
Python
python编程获取《续蜀山剑侠传》目录信息:目录名称和网址
python编程获取《续蜀山剑侠传》目录信息:目录名称和网址
|
3月前
|
存储 API 开发工具
【Azure Storage Blob】如何通过.NET Azure Storage Blobs SDK获取到Blob的MD5值呢?
【Azure Storage Blob】如何通过.NET Azure Storage Blobs SDK获取到Blob的MD5值呢?