管理服务凭据

重要

此功能目前以公共预览版提供。

本文介绍如何列出、查看、更新、授予权限以及删除服务凭据,这些凭据是 Unity Catalog 安全对象,可用于管理对外部云服务的访问权限。

另请参阅:

开始之前

要执行本文中所述的任务,必须满足以下要求:

  • 启用了 Unity Catalog 的 Azure Databricks 工作区。
  • 若要列出或查看服务凭据,必须具有以下特权或角色之一:
    • BROWSE父目录的特权
    • 在元存储上CREATE SERVICE CREDENTIAL
    • 服务凭据上的ACCESS
    • 服务凭据的所有者
    • 元存储管理员
  • 若要执行本文中列出的任何其他任务,你必须是服务凭据或元存储管理员的所有者。
  • 如果使用 SQL 命令列出、查看或更新服务凭据,则需要在 Databricks Runtime 15.4 LTS 或更高版本上进行计算。 如果使用目录资源管理器或 REST API,则没有 Databricks Runtime 版本要求。

列出服务凭据

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

目录资源管理器

  1. 在边栏中,单击 目录图标目录”。
  2. 在“快速访问”页中单击“外部数据”>按钮,然后转到“凭据”选项卡。
  3. 用途(存储或服务)对凭据进行排序。

SQL

在 Notebook 中运行以下命令。

SHOW SERVICE CREDENTIALS;

查看服务凭据

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

目录资源管理器

  1. 在边栏中,单击 目录图标目录”。
  2. 在“快速访问”页中单击“外部数据”>按钮,然后转到“凭据”选项卡。
  3. 单击服务凭据的名称以查看其属性。

SQL

在 Notebook 中运行以下命令。 将 <credential-name> 替换为凭据的名称。

DESCRIBE SERVICE CREDENTIAL <credential-name>;

显示对服务凭据的授权

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

SHOW GRANTS [<principal>] ON SERVICE CREDENTIAL <service-credential-name>;

替换占位符值替:

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

注意

如果组或用户名包含空格或 @ 符号,请在其周围使用反勾(而不是撇号)。 例如, 财务团队

授予使用服务凭据访问外部云服务的权限

若要授予使用服务凭据访问外部云服务的权限,请完成以下步骤。 使用目录资源管理器或 SQL 命令:

目录资源管理器

  1. 在边栏中,单击 目录图标目录”。
  2. 在“快速访问”页中单击“外部数据”>按钮,然后转到“凭据”选项卡。
  3. 单击服务凭据的名称以打开详细信息页。
  4. 单击“权限”。
  5. 若要向用户或组授予权限,请选择每个标识,然后单击“授予”。
    • 选择 ACCESS 以授予使用服务凭据访问外部云服务的能力。
    • 选择 CREATE CONNECTION 以授予使用此服务凭据在 Unity Catalog 中创建 Lakehouse Federation 连接的能力。 请参阅管理 Lakehouse Federation 的连接
  6. 若要撤销用户或组的权限,请选择每个标识,然后单击“撤销”。

SQL

若要授予访问权限,请在笔记本中运行以下命令之一,替换占位符值:

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

注意

如果组或用户名包含空格、破折号 (-) 或 @ 符号,请在其周围使用反勾(而不是撇号)。 例如: `finance team`.

GRANT ACCESS ON SERVICE CREDENTIAL <service-credential-name> TO <principal>;

如果要授予使用此服务凭据在 Unity Catalog 中创建 Lakehouse Federation 连接的能力,请使用以下内容:

GRANT CREATE CONNECTION ON SERVICE CREDENTIAL <service-credential-name> TO <principal>;

若要撤销访问权限,请使用这些示例中的 REVOKE 替换 GRANT

更改服务凭据的所有者

服务凭据的创建者是其初始所有者。 若要将所有者更改为其他帐户级别的用户或组,可使用目录资源管理器或 SQL 命令。

目录资源管理器

  1. 在边栏中,单击 目录图标目录”。
  2. 在“快速访问”页中单击“外部数据”>按钮,然后转到“凭据”选项卡。
  3. 单击服务凭据的名称以打开编辑对话框。
  4. 单击“所有者”旁边的 “编辑”图标
  5. 键入以搜索主体并将其选中。
  6. 单击“ 保存”。

SQL

在 Notebook 中运行以下命令。 替换占位符值替:

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

重命名服务凭据

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

目录资源管理器

  1. 在边栏中,单击 目录图标目录”。
  2. 在“快速访问”页中单击“外部数据”>按钮,然后转到“凭据”选项卡。
  3. 单击服务凭据的名称以打开编辑对话框。
  4. 重命名服务凭据并保存。

SQL

在 Notebook 中运行以下命令。 替换占位符值替:

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

删除服务凭据

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

目录资源管理器

  1. 在边栏中,单击 目录图标目录”。
  2. 在“快速访问”页中单击“外部数据”>按钮,然后转到“凭据”选项卡。
  3. 单击服务凭据的名称以打开编辑对话框。
  4. 单击“删除” 按钮。

SQL

在 Notebook 中运行以下命令。 将 <credential-name> 替换为凭据的名称。 括号中的命令部分是可选的。

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

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