在不使用 Azure Databricks SCIM 连接器的情况下将 Azure AD 用户和组同步到 Azure Databricks 工作区
Sync Azure AD users & groups to Azure Databricks workspace without using Azure Databricks SCIM Connector
有没有人有将 azure ad 用户和组同步到 azure databricks 工作区的好解决方案? Azure Databricks SCIM 连接器需要高级工作区和高级 azure 广告帐户。
如果有人这样做或看到任何可以用作起点的好 github 资源,请分享,否则请在下面评论我建议的高级 idea/logic:
使用 terraform/azure cli 和 databricks rest api:
同步群组
- 配置:获取定义的 azure 广告组列表
- databricks rest api:获取 databricks 工作区组列表(不包括管理员和所有用户组)
- 脚本:将现有的 databricks 工作区组与配置中定义的 azure 广告组列表进行比较。
如果组存在于列表中但不存在于数据块工作区中:
- databricks rest api:在 databricks 工作区中创建组
如果组存在于 databricks 工作区中但不在配置中定义的 azure 广告组列表中:
- databricks rest api:删除 databricks 工作区中的组
同步用户
添加用户
- databricks rest api:获取 databricks 工作区中所有用户的列表
- azure cli:遍历已定义的 azure 广告组列表并获取成员列表
每个 azure 广告组
- 脚本:将 azure 广告组中的成员列表与 databricks 工作区中的所有用户列表进行比较。
如果成员不在数据块工作区中。
- databricks rest api:在 databricks 工作空间中创建用户
- databricks rest api:将用户添加到 databricks 工作区中的组
删除用户
- azure cli:遍历已定义的 azure 广告组列表并获取唯一成员列表。
- 脚本:将所有 azure 广告组中的唯一成员列表与 databricks 工作区中的所有用户列表进行比较,并获取所有不匹配的用户。
- databricks rest api:删除 databricks 工作区中的用户
从我的角度来看,实现此目的的最简单方法是将 [Databricks Terraform Provider][2] 的用户和组资源与 [Azure AD Terraform provider][3] 相结合 - 使用它您可以轻松拉取来自 AAD 的组和用户,并应用这些数据在 Databricks 中创建用户和组。 Terraform 将负责存储状态、查找差异、删除用户等(只是不要忘记将 Terraform 状态存储在持久的地方,例如 ADLS 或类似的东西)
执行该操作的代码太长,无法作为答案发布在这里,但您可以找到它 here。
有没有人有将 azure ad 用户和组同步到 azure databricks 工作区的好解决方案? Azure Databricks SCIM 连接器需要高级工作区和高级 azure 广告帐户。
如果有人这样做或看到任何可以用作起点的好 github 资源,请分享,否则请在下面评论我建议的高级 idea/logic:
使用 terraform/azure cli 和 databricks rest api:
同步群组
- 配置:获取定义的 azure 广告组列表
- databricks rest api:获取 databricks 工作区组列表(不包括管理员和所有用户组)
- 脚本:将现有的 databricks 工作区组与配置中定义的 azure 广告组列表进行比较。
如果组存在于列表中但不存在于数据块工作区中:
- databricks rest api:在 databricks 工作区中创建组
如果组存在于 databricks 工作区中但不在配置中定义的 azure 广告组列表中:
- databricks rest api:删除 databricks 工作区中的组
同步用户
添加用户
- databricks rest api:获取 databricks 工作区中所有用户的列表
- azure cli:遍历已定义的 azure 广告组列表并获取成员列表
每个 azure 广告组
- 脚本:将 azure 广告组中的成员列表与 databricks 工作区中的所有用户列表进行比较。
如果成员不在数据块工作区中。
- databricks rest api:在 databricks 工作空间中创建用户
- databricks rest api:将用户添加到 databricks 工作区中的组
删除用户
- azure cli:遍历已定义的 azure 广告组列表并获取唯一成员列表。
- 脚本:将所有 azure 广告组中的唯一成员列表与 databricks 工作区中的所有用户列表进行比较,并获取所有不匹配的用户。
- databricks rest api:删除 databricks 工作区中的用户
从我的角度来看,实现此目的的最简单方法是将 [Databricks Terraform Provider][2] 的用户和组资源与 [Azure AD Terraform provider][3] 相结合 - 使用它您可以轻松拉取来自 AAD 的组和用户,并应用这些数据在 Databricks 中创建用户和组。 Terraform 将负责存储状态、查找差异、删除用户等(只是不要忘记将 Terraform 状态存储在持久的地方,例如 ADLS 或类似的东西)
执行该操作的代码太长,无法作为答案发布在这里,但您可以找到它 here。