服务主体的 Azure Databricks Git 凭据

J S*_*ith 8 azure azure-devops azure-databricks

我想使用对 Azure Devops 存储库的Git 引用来创建 Databricks 作业,该引用最好使用服务主体的 git 凭据。将服务主体添加到 Databricks 工作区非常简单,将服务主体添加到 Azure Devops 存储库也是如此。配置服务主体应使用的 git 凭据不太简单。根据git凭证API文档,该git_provider参数可以是;

服务主体无法创建令牌,例如个人访问令牌 (PAT) 或 SSH 密钥。他们可以生成自己的 Azure AD 令牌,这些令牌可用于调用 Azure DevOps REST API。

  • azureDevOpsServicesAAD:运行作业时,Databricks 会产生以下错误;

运行结果不可用:运行失败,并显示错误消息无法签出 Git 存储库:PERMISSION_DENIED:Git 提供程序凭据无效。转到用户设置 > Git 集成以确保:

  1. 您已输入带有 Git 提供商凭据的用户名。
  2. 您已使用您的凭据选择了正确的 Git 提供商。
  3. 您的个人访问令牌或应用程序密码具有正确的存储库访问权限。
  4. 您的个人访问令牌尚未过期。
  5. 如果您的 Git 提供商启用了 SSO,请务必授权您的令牌。

Azure Databricks 支持服务主体 git 凭据还是我做错了什么?

小智 -2

要在 Databricks 中配置 git 凭据,您可以按照此处的文档进行操作。您需要首先在 .databrickscfg 文件中设置 AD 令牌,然后运行以下命令:

databricks git-credentials create <git-provider-short-name> --git-username <git-provider-user-name> --personal-access-token <git-provider-access-token> -p <profile-name>
Run Code Online (Sandbox Code Playgroud)

在这种情况下,git-provider-access-token是您的 git 令牌,而不是 AD 令牌。

git-provider-short-name是以下之一:

  • 对于 GitHub,请使用 GitHub。
  • 对于 Azure Pipelines,请使用 AzureDevOpsServices。
  • 对于 GitLab CI/CD,请使用 GitLab。

  • 这是问题中提出的另一个问题:“服务主体无法创建令牌,例如个人访问令牌(PAT)或 SSH 密钥。” (2认同)