为工作区启用作业访问控制

作业启用访问控制可以使作业所有者控制哪些用户可以查看作业结果或管理作业的运行。 本文介绍如何启用作业访问控制,以及如何防止用户看到他们无权访问的作业。

有关分配权限和配置作业访问控制的信息,请参阅作业访问控制

要求

此功能需要高级计划

启用作业访问控制

  1. 转到管理控制台
  2. 单击“工作区设置”选项卡。
  3. 单击“群集、池和作业访问控制”开关。
  4. 单击“确认” 。

防止用户看到他们无权访问的作业

注意

默认情况下,发布 Azure Databricks 平台 3.34 版(于 2020 年 12 月发布)之后创建的工作区的作业可见性控制处于启用状态。 如果工作区是在此之前创建的,则管理员必须启用该功能。

作业访问控制本身不会阻止用户看到 Azure Databricks UI 中显示的作业,即使用户没有这些作业的权限也是如此。 若要防止用户看到这些作业,请执行以下操作:

  1. 转到管理控制台
  2. 单击“工作区设置”选项卡。
  3. 单击“作业可见性”开关。
  4. 单击“确认” 。

Terraform 集成

你可以使用 Databricks Terraform 提供程序databricks_permissions 在全自动设置中管理权限:

resource "databricks_group" "auto" {
  display_name = "Automation"
}

resource "databricks_group" "eng" {
  display_name = "Engineering"
}

data "databricks_spark_version" "latest" {}

data "databricks_node_type" "smallest" {
  local_disk = true
}

resource "databricks_job" "this" {
  name                = "Featurization"
  max_concurrent_runs = 1

  new_cluster {
    num_workers   = 300
    spark_version = data.databricks_spark_version.latest.id
    node_type_id  = data.databricks_node_type.smallest.id
  }

  notebook_task {
    notebook_path = "/Production/MakeFeatures"
  }
}

resource "databricks_permissions" "job_usage" {
  job_id = databricks_job.this.id

  access_control {
    group_name       = "users"
    permission_level = "CAN_VIEW"
  }

  access_control {
    group_name       = databricks_group.auto.display_name
    permission_level = "CAN_MANAGE_RUN"
  }

  access_control {
    group_name       = databricks_group.eng.display_name
    permission_level = "CAN_MANAGE"
  }
}

可以使用 databricks_jobs 获取有关作业的信息。