繁体   English   中英

Azure Devops 服务负责人和 Azure 机器学习工作区

[英]Azure Devops Service Principal with Azure Machine Learning Workspace

我有一个 Azure Devops 管道,它运行一个脚本,该脚本在 Azure 机器学习工作室工作区中创建和运行一个实验。

Msft 文档建议对此类工作流使用服务主体身份验证:

  1. https://learn.microsoft.com/en-us/azure/machine-learning/how-to-devops-machine-learning

  2. https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/manage-azureml-service/authentication-in-azureml/authentication-in-azureml.ipynb

但是,我无法通过从 Devops 自动使用服务主体设置来让它工作。 即,这样的设置:

创建与 ML Studio Workspace 的服务连接

当我运行我的脚本时,身份验证失败(因为它默认为交互式身份验证)

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM