使用 Azure DevOps 授予对 Azure Databricks 的访问权限

3

我对Azure DevOps和Azure Databricks比较新。

我已经使用Azure DevOps CI/CD Pipeline创建了Azure Databricks工作区。 现在我正在寻找一种解决方案,使用DevOps Pipeline将用户添加到Azure Databricks工作区中。

1个回答

1

有几种方法:

  • 使用Databricks Terraform提供的databricks_user资源 - 可以像下面的示例一样简单,或者您可以将其与azuread提供程序结合使用,并从Azure Active Directory中提取用户。 Terraform提供程序的另一个优点是您可以将其与用户组和其他内容结合使用。
resource "databricks_user" "me" {
  user_name = "me@example.com"
}
  • 使用Databricks的SCIM API for Users(作为通用SCIM API的一部分)- 创建非常简单,您只需要按照文档中描述的形式正确地构建JSON,并使用curl或类似工具进行调用即可。此外,

  • 有一个由DataThirst公司开发的PowerShell脚本集合,包括添加和删除用户等脚本。这些脚本在底层使用REST API,并且可能比使用REST API更简单。其中一些任务也可以在DevOps市场上找到。

无论如何,您都需要对工作区进行身份验证。对于自动化流水线,您有两个选择-服务主体或与DevOps工作人员关联的托管标识,并且它们应该在工作区级别具有Owner或Contributor权限,或者被添加为管理员用户。

  • 有关服务主体的REST API身份验证详细信息在文档中有描述,对于托管标识,您只需从内部REST API获取令牌。
  • Databricks Terraform提供程序也支持服务主体和托管标识。

嗨亚历克斯,感谢你提出不同的方式,我正在尝试使用SCIM 2.0 API。我已经创建了一个高级DB Workspace,并将我的用户添加为管理员...但是当我尝试使用下面的URL获取用户详细信息时: https://adb-5084807039519483.3.azuredatabricks.net/api/2.0/preview/scim/v2/Me它给出了未经授权的错误: HTTP错误401 访问/api/2.0/preview/scim/v2/Me时出现问题。原因:未经授权我已经尝试过Me、Users和Groups服务端点。 对此有什么想法/评论吗? - Saurabh Mehta
你是否按照步骤生成AAD令牌? - Alex Ott
我已在Databricks工作区生成了一个PAT。现在Curl命令可以正常工作了。我需要了解如何从Azure Devops pipeline生成AAD或PAT。 我认为要再次使用API生成PAT,但不确定是否需要使用Token API来生成PAT。 - Saurabh Mehta
你可以使用PAT,但它将是用户的PAT...在Azure上,服务主体没有PAT。 - Alex Ott

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接