管理存储凭据

本文介绍如何列出、查看、更新、授予其权限和删除存储凭据

Databricks 建议你仅授予对存储凭据的 CREATE EXTERNAL LOCATION 特权,而不授予其他特权。

本文介绍如何在笔记本或 Databricks SQL 查询中使用 Catalog Explorer 和 SQL 命令管理存储凭据。 有关使用 Databricks CLI 或 Terraform 的信息,请参阅 Databricks Terraform 文档什么是 Databricks CLI?

列出存储凭据

若要查看元存储中所有存储凭据的列表,可以使用目录资源管理器或 SQL 命令。

目录资源管理器

  1. 在边栏中单击“目录”图标“目录”。
  2. 在屏幕底部,单击“外部数据”>“存储凭据”。

Sql

在笔记本或 Databricks SQL 编辑器中运行以下命令。

SHOW STORAGE CREDENTIALS;

查看存储凭据

若要查看存储凭据的属性,可以使用目录资源管理器或 SQL 命令。

目录资源管理器

  1. 在边栏中单击“目录”图标“目录”。
  2. 在屏幕底部,单击“外部数据”>“存储凭据”。
  3. 单击存储凭据的名称以查看其属性。

Sql

在笔记本或 Databricks SQL 编辑器中运行以下命令。 将 <credential-name> 替换为凭据的名称。

DESCRIBE STORAGE CREDENTIAL <credential-name>;

显示对存储凭据的授予

若要显示存储凭据上的授权,请使用如下命令。 你可以选择筛选结果以只显示指定主体的授权。

SHOW GRANTS [<principal>] ON STORAGE CREDENTIAL <storage-credential-name>;

替换占位符值替:

  • <principal>:帐户级用户的电子邮件地址或要向其授予权限的帐户级组的名称。
  • <storage-credential-name>:存储凭据的名称。

注意

如果组名包含空格,请在其周围使用反勾(而不是撇号)。

授予创建外部位置的权限

要授予使用存储凭据创建外部位置的权限,请完成以下步骤:

目录资源管理器

  1. 在边栏中单击“目录”图标“目录”。
  2. 在屏幕底部,单击“外部数据”>“存储凭据”。
  3. 单击存储凭据的名称以打开其属性。
  4. 单击“权限”。
  5. 若要向用户或组授予权限,请选择每个标识,然后单击“授予”。
  6. 若要撤销用户或组的权限,请选择每个标识,然后单击“撤销”。

Sql

在笔记本或 SQL 查询编辑器中运行以下命令:

GRANT CREATE EXTERNAL LOCATION ON STORAGE CREDENTIAL <storage-credential-name> TO <principal>;

替换占位符值替:

  • <principal>:帐户级用户的电子邮件地址或要向其授予权限的帐户级组的名称。
  • <storage-credential-name>:存储凭据的名称。

注意

如果组名包含空格,请在其周围使用反勾(而不是撇号)。

更改存储凭据的所有者

存储凭据的创建者是其初始所有者。 若要将所有者更改为其他帐户级别的用户或组,请执行以下操作:

在笔记本或 Databricks SQL 编辑器中运行以下命令。 替换占位符值替:

  • <credential-name>:该凭据的名称。
  • <principal>:帐户级用户的电子邮件地址或帐户级组的名称。
ALTER STORAGE CREDENTIAL <credential-name> OWNER TO <principal>;

将存储凭据标记为只读

如果你希望用户对存储凭据管理的所有数据具有只读访问权限,则可以使用 Catalog Explorer 将存储凭据标记为只读。

将存储凭据设置为只读意味着使用该凭据配置的任何存储都是只读的。

创建存储凭据时,可以将它们标记为只读。

还可以使用 Catalog Explorer 在创建存储凭据后更改只读状态:

  1. 在 Catalog Explorer 中,找到存储凭据,单击对象行上的 串形菜单 串形菜单(也称为三点菜单),然后选择“编辑”
  2. 在编辑对话框中,选择“只读”选项。

重命名存储凭据

若要重命名存储凭据,可以使用目录资源管理器或 SQL 命令。

目录资源管理器

  1. 在边栏中单击“目录”图标“目录”。
  2. 在屏幕底部,单击“外部数据”>“存储凭据”。
  3. 单击存储凭据的名称以打开编辑对话框。
  4. 重命名存储凭据并保存。

Sql

在笔记本或 Databricks SQL 编辑器中运行以下命令。 替换占位符值替:

  • <credential-name>:该凭据的名称。
  • <new-credential-name>:凭据的新名称。
ALTER STORAGE CREDENTIAL <credential-name> RENAME TO <new-credential-name>;

删除存储凭据

若要删除某个存储凭据,你必须是其所有者。 若要删除存储凭据,可以使用目录资源管理器或 SQL 命令。

目录资源管理器

  1. 在边栏中单击“目录”图标“目录”。
  2. 在屏幕底部,单击“外部数据”>“存储凭据”。
  3. 单击存储凭据的名称以打开编辑对话框。
  4. 单击“删除” 按钮。

Sql

在笔记本或 Databricks SQL 编辑器中运行以下命令。 将 <credential-name> 替换为凭据的名称。 括号中的命令部分是可选的。 默认情况下,如果凭据由外部位置使用,则不会删除它。 将 <credential-name> 替换为凭据的名称。

如果凭据不存在,则 IF EXISTS 不返回错误。

DROP STORAGE CREDENTIAL [IF EXISTS] <credential-name>;