【发布时间】:2022-02-02 19:56:50
【问题描述】:
我正在尝试创建和配置 Azure Databricks SCIM Provisioning Connector,以便我可以从 AAD 在我的 Databricks 工作区中配置用户。
按照these instructions,我可以让它手动工作。也就是说,在 Azure 门户中创建和设置应用程序有效,并且我选择的用户在 Databricks 中同步。 (这个过程并不完全简单。在它做任何事情之前需要进行很多摆弄,我不记得了,需要配置设置。)
当我尝试将其转换为 Terraform 时,我并没有走得太远:
-
我可以使用创建 Databricks 工作区资源的同一服务主体通过 Terraform 创建应用程序:
data "azuread_application_template" "scim" { display_name = "Azure Databricks SCIM Provisioning Connector" } resource "azuread_application" "scim" { display_name = "${var.name}-scim" template_id = data.azuread_application_template.scim.template_id feature_tags { enterprise = true gallery = true } }同样,我可以非常轻松地为我的服务主体创建 Databricks 访问令牌:
resource "databricks_token" "scim" { comment = "SCIM Integration" } -
现在我被困住了:
- 如何在 Terraform 中定义企业应用程序的用户和组?我没有看到任何看起来合适的
azuread资源。 - 同样,如何在 Terraform 中为企业应用程序配置供应(即,使用 SCIM 端点 URL 和 Databricks 令牌等)?
- 如何在 Terraform 中定义企业应用程序的用户和组?我没有看到任何看起来合适的
(旁白:我注意到,在我的 Terraform 创建的应用程序中,如果我继续在 Azure 门户中手动设置用户和配置,它似乎没有做任何事情。我可能不耐烦:“配置on Demand”按钮确实有效,但轮询同步要么什么都不做,要么真的很慢。)
(编辑:旁边的更新:轮询配置——在 Terraform 管理的 SCIM 应用程序上手动设置——自从我写这个问题以来,它现在已经运行了两次。在这一次,它没有同步我的用户手动选择,但决定删除我之前创建的 Databricks 中的“按需供应”用户...)
【问题讨论】:
-
您的最终目标是什么 - 提供用户?如果是,应该多快?
-
我的理解是 Databricks SCIM 应用程序将配置用户/组并定期运行以将 Databricks 与您从 AAD 中选择的内容同步。 (如果我错了,请纠正我。)或者,例如,在 Terraform 中读取 AAD 组,然后将这些成员配置为 Databricks 用户,这很简单。但是,如果没有我必须构建的额外机器,这将是一次运行,因此会失去未来 AAD 组成员资格更改的任何自动同步。
-
您可以简单地触发相同 terraform 的执行(例如在 Azure DevOps 上,其他地方)& 它会配置新用户,删除已删除。这就是我们正在做的事情。您只需要将状态保存在某处,例如在 ADLS 上
标签: azure azure-active-directory terraform azure-databricks scim