如何通过Azure DevOps为Azure Databricks工作区授予用户访问权限
通过Azure DevOps CI/CD流水线为Azure Databricks工作区添加用户的实操方案
前置准备
- 已完成部署的Azure Databricks工作区信息,包含资源ID、工作区访问URL
- 权限符合要求的Azure DevOps服务连接,需持有目标Databricks工作区的Contributor权限或Databricks管理员权限
- 提前整理待添加用户/用户组的AAD对象ID或用户主名称(UPN),所有对象需归属当前Azure订阅绑定的AAD租户
可选用的两种实现方案
方案1:通过Databricks CLI执行添加操作(新手友好,操作灵活)
- 首先在DevOps流水线的Agent作业中添加CLI安装步骤,执行命令:
pip install databricks-cli - 第二步配置Databricks身份认证,建议使用AAD服务主体方式,无需手动生成长期token,对应命令:
databricks configure --aad-service-principal \ --host <替换为你的Databricks工作区URL> \ --client-id <服务主体客户端ID> \ --client-secret <服务主体客户端密钥> \ --tenant-id <你的AAD租户ID>
- 第三步执行用户添加操作:
单个用户添加命令:databricks users create --user-name <用户UPN> --display-name <用户显示名>
批量添加可将用户列表预存在代码仓库的JSON配置文件中,流水线读取后循环执行命令即可 - 第四步(可选)为用户分配工作区权限,执行命令:
databricks permissions update --workspace / --user-name <用户UPN> --permission-level <权限等级,可选值为CAN_READ/CAN_EDIT/ADMIN> - 如果需要添加的是AAD用户组,只需将上述命令中的
users替换为groups即可
方案2:整合进原有ARM部署流程(无需额外安装组件)
如果之前创建Databricks工作区是通过ARM模板部署,直接修改模板即可完成用户配置,和原有流水线完全适配:
- 在原有Databricks ARM模板中新增
Microsoft.Databricks/workspaces/accessControls资源节点,按要求填写待添加用户的信息和对应权限 - 在DevOps流水线的ARM模板部署任务中,直接选择增量更新模式部署该模板,Azure会自动完成已有工作区的用户添加和权限配置,不会影响工作区现有配置
注意事项
- 所有待添加的用户/用户组必须已存在于当前Azure订阅绑定的AAD租户内,否则添加操作会失败
- 权限配置需遵循最小权限原则,非必要场景不要给普通用户分配ADMIN权限
内容的提问来源于stack exchange,提问作者Saurabh Mehta
相关产品推荐
相关产品推荐

