使用Azure AD用户

时间:2019-10-11 08:18:05

标签: azure-devops

我们已从TFS 2017更改为Azure DevOps Services。在TFS中,我们使用了AD对用户进行身份验证。对于Azure DevOps Services,我们使用Azure AD。 因此,我想在本地计算机上配置自托管构建代理。我尝试使用PAT身份验证,它的工作原理与预期的一样。只是为了看看它是否有效,我尝试了其他身份验证类型:

--auth <type> - authentication type. Valid values are:

pat (Personal access token) --> works
negotiate (Kerberos or NTLM) --> not working because of Azure AD authentication
alt (Basic authentication) --> ?
integrated (Windows default credentials) --> not working because of Azure AD authentication

我尝试使用用户名(电子邮件)和我用来成功通过PAT进行身份验证的用户密码进行身份验证。但是每次我收到一条消息,即用户无权访问服务器。

是否无法通过Azure DevOps Services用户的用户名和密码(而不是PAT)对构建代理进行身份验证?

当我尝试通过API向Azure DevOps Service进行身份验证时,我遇到了同样的问题。但是我可以使用 VssAadCredential 代替 VssBasicCredential

构建代理配置是否存在类似问题?

2 个答案:

答案 0 :(得分:1)

您只能使用PAT或备用凭据(git username + pass)将Azure Devops代理连接到Azure DevOps(云)。

您不能使用Azure Active Directory连接代理。

内部部署确实允许NTLM / kerberos身份验证。


了解PAT仅用于注册代理可能会很有用。在注册过程中,代理会协商自己的凭据和加密密钥。

您可以在连接代理后撤消PAT,并且您的代理将保持连接状态而没有问题。

有关Azure Pipelines代理的身份验证设计的更多详细信息:

答案 1 :(得分:0)

注册代理时,通过使用身份验证类型= Negotiate,代理应使用用户名和密码而不是PAT。

enter image description here