我在AAD中注册了一个App,我得到了它的App ID。我为此应用程序分配了“特定订阅的所有者”的角色
现在,我想从 Azure Runbook 运行我的 python 脚本并使用此应用程序凭据登录。我的 python 脚本有 az cli 命令。 所以我不想使用powershell命令进行登录。 我正在尝试使用以下命令:
Az login --service-principal -u $azureapplucationId -p $azurePassword --tenant $azuretenantId
但我没有找到任何将 azurepassword 转换为 secureString 的方法。
有没有办法在Python脚本中使用服务主体ID登录?
最佳答案
在我的环境中部署后,如果您想在 python 脚本中使用服务主体 ID 登录,则需要使用以下命令在 python 脚本终端中安装 azure.cli.core
模块包
pip install azure.cli.core
下面是我的Python脚本reference从 @Jim Xu,使用服务主体登录 Azure 云:
from azure.cli.core import get_default_cli az_cli = get_default_cli() az_cli.invoke(['login', '--service-principal', '-u', '<app ID/clientID>', '-p', '<clientsecretvalue>','--tenant','<tenantID>'])
创建
应用->获取应用ID
点击应用并创建
新的客户端 key
证书和 key ->新客户端 key ->复制获取的客户端 key 值。
在“应用注册”>“您的应用”>“应用角色”下 > 提供以下详细信息:
输出:
您需要以“以管理员身份运行”运行 Visual Studio Code
关于python - 使用服务主体登录 python 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73701627/