![](/img/trans.png)
[英]How to authenticate to Azure Devops by using token of an Application ID(service principal)?
[英]Azure Devops Service Principal with Azure Machine Learning Workspace
我有一个 Azure Devops 管道,它运行一个脚本,该脚本在 Azure 机器学习工作室工作区中创建和运行一个实验。
Msft 文档建议对此类工作流使用服务主体身份验证:
但是,我无法通过从 Devops 自动使用服务主体设置来让它工作。 即,这样的设置:
当我运行我的脚本时,身份验证失败(因为它默认为交互式身份验证)
ws = Workspace.from_config(path='./config.json')
Workspace 的文档建议创建一个 ServicePrincipalAuthentication
svc_pr = ServicePrincipalAuthentication(
tenant_id="xxx",
service_principal_id="xxx",
service_principal_password="xxx")
ws = Workspace.from_config(path='./config.json', auth=svc_pr)
虽然第二种方法有效,但它违背了目的,因为我必须手动创建服务连接和秘密,然后通过管道中的构建变量将其传递到 ServicePrincipalObject。 有没有办法让我的脚本执行 ServicePrincipalAuthentication 而无需创建 ServicePrincipalAuthentication object?
如果不是,那么将机器学习工作区作为创建 Azure 服务连接的选项的意义何在?
默认情况下,它使用交互式身份验证,在您的脚本中,您可以使用下面示例中使用 Azure CLI 给出的服务主体身份验证。
https://github.com/Azure/mlops-v2/blob/main/documentation/deployguides/deployguide_ado.md
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.