如何通过terraform为Azure AD和Databricks配置SCIM配置



TL;DR:是否可以让terraform执行Microsoft Graph步骤,为Azure AD和Databricks提供SCIM?

我正在尝试为Databricks配置自动SCIM设置,以便用户和组管理可以通过Azure Active Directory而不是在Databricks本身中完成。我正试图弄清楚如何通过terraform实现这种配置。

我在这里看到以下Azure数据块文档,用于手动配置SCIM设置。看起来可以通过企业应用程序或使用Microsoft Graph来完成。

在撰写本文时,azuread terraform提供程序上有一个打开的pull请求,要求通过看起来像企业应用程序的方法添加供应。由于我不想等待PR被合并,我一直在试图弄清楚Microsoft Graph方法现在是否可以通过terraform实现。如果是的话,我不知道怎么做。

我使用的是azuread提供商的最新版本,它说从2.0开始;仅使用Microsoft Graph连接到Azure Active Directory">

我一直在查看azuread_application文档,遵循手动配置步骤,并试图弄清楚这些步骤的地形等效物是什么,但首先还不清楚这是否可能。

是的,完全可以将用户从AAD配置到Databricks。实现相对较大,可以完全放入答案中,但你可以在这里找到工作版本(我知道不推荐链接,但它是>100行的terraform代码,加上代码会不时更新,以处理更新版本的terraform&provider(。高级工作流程如下:

  • 使用databricks_group资源在Databricks中创建每个组;给予他们必要的权限(可以创建集群,可以访问DBSQL等(
  • 对于每个指定的组,从AAD获取用户列表
  • 从所有组的用户创建一个集合-以确保我们没有重复
  • 将用户与服务主体分离,并使用databricks_user资源在Databricks中创建它们(注意force标志,因此它将自动导入手动添加的用户(
  • 对使用databricks_service_principal资源的服务主体执行相同操作
  • 分配用户&使用databricks_group_member资源为组提供服务主体(这是理解起来最复杂的部分,因为我们需要两个嵌套循环(

当前限制:

  • 不处理嵌套组,尽管可以添加

最新更新