集群访问控制
请注意
访问控制仅在优质及以上计划.
缺省情况下,所有用户都可以创建和修改集群除非管理员启用了集群访问控制。使用集群访问控制,权限决定用户的能力。本文描述了权限。
在使用集群访问控制之前,Databricks管理员必须为工作区启用它。看到为您的工作区启用集群访问控制.
权限类型
可以配置两种类型的集群权限:
的允许无限制地创建集群授权控制您创建集群的能力。
集群级权限控制您使用和修改特定集群的能力。
启用集群访问控制时:
管理员可以配置用户是否可以创建集群。
任何有可以管理集群的权限可以配置用户是否可以连接、重新启动、调整大小和管理该集群。
集群级别的权限
集群有四种权限级别:没有权限,可以附着于,可以重新启动,可以管理.该表列出了每个权限的能力。
重要的
用户提供可以附着于权限可以在log4j文件中查看服务帐户密钥。在授予此权限级别时请谨慎使用。
能力 |
没有权限 |
可以附着于 |
可以重新启动 |
可以管理 |
---|---|---|---|---|
将笔记本连接到集群 |
x |
x |
x |
|
查看Spark界面 |
x |
x |
x |
|
查看集群指标 |
x |
x |
x |
|
查看驱动日志 |
X(见注) |
X(见注) |
x |
|
终止集群 |
x |
x |
||
启动集群 |
x |
x |
||
重新启动集群 |
x |
x |
||
编辑集群 |
x |
|||
将库附加到集群 |
x |
|||
调整集群 |
x |
|||
修改权限 |
x |
请注意
秘密不是从Spark驱动日志流编校的
stdout
而且stderr
.为了保护可能出现在这些驱动程序日志流中的秘密,以便只有在集群上具有Can Manage权限的用户才能查看它们,请设置集群的Spark配置属性spark.databricks.acl.needAdminPermissionToViewLogs真正的
.你有可以管理您所创建的任何集群的权限。
配置集群级权限
请注意
介绍权限管理的操作步骤。你也可以使用权限API 2.0.
必须对集群进行访问控制启用你必须有可以管理集群的权限。
点击计算在侧栏中。
单击需要修改的集群名称。
点击权限在这一页的顶部。
在<集群名称>的权限设置对话,你可以:
对象中选择用户和组添加用户和组下拉菜单并为其分配权限级别。
使用用户或组名旁边的下拉菜单更新已经添加的用户和组的集群权限。
点击完成.
例如:使用集群级别的权限强制集群配置
集群访问控制的一个好处是能够强制执行集群配置,这样用户就不能更改它们。
例如,管理员可能希望强制执行的配置包括:
标签收回成本
IAM角色控制对数据的访问
发现实例以节省成本
标准库
Databricks为需要锁定集群配置的组织推荐以下工作流程:
禁用允许无限制地创建集群适用于所有用户。
请注意
不能从admin用户中删除此权限。
在创建了希望用户使用的所有集群配置之后,为需要访问给定集群的用户提供访问权限可以重新启动许可。这允许用户自由地启动和停止集群,而无需手动设置所有配置。
起程拓殖集成
您可以在完全自动化的设置中使用Databricks Terraform提供商而且databricks_permissions:
资源"databricks_group" "auto" {display_name = "自动化"}资源"databricks_group" "eng" {display_name = "工程"}资源"databricks_group" "ds" {display_name = "数据科学"}数据"databricks_spark_version" "最新" {}Data "databricks_node_type" "最小" {local_disk = true}资源"databricks_cluster" "共享自动伸缩" {cluster_name = "共享自动伸缩" spark_version = Data .databricks_spark_version.latest。Id node_type_id = data.databricks_node_type. least。Id autotermination_minutes = 60 autoscale {min_workers = 1 max_workers = 10}} resource "databricks_permissions" "cluster_usage" {cluster_id = databricks_cluster.shared_autoscaling. Id autotermination_minutes = 60 autoscale {min_workers = 1 max_workers = 10}}Cluster_id access_control {group_name = databricks_group.auto. Cluster_id access_control {group_name = databricks_group.auto. Cluster_iddisplay_name permission_level = "CAN_ATTACH_TO"} access_control {group_name = databricks_group.eng。display_name permission_level = "CAN_RESTART"} access_control {group_name = databricks_group.ds. display_name permission_level = "CAN_RESTART"}display_name permission_level = "CAN_MANAGE"}}