本文介绍如何列出、查看、更新、授予权限以及删除服务凭据,这些凭据是 Unity Catalog 安全对象,可用于管理对外部云服务的访问权限。
另请参阅:
- 要了解简介以及如何创建服务凭据,请参阅:创建服务凭据
- 若要了解如何在代码中引用服务凭据并为计算资源指定默认服务凭据:使用 Unity Catalog 服务凭据连接到外部云服务。
开始之前
要执行本文中所述的任务,必须满足以下要求:
- 启用了 Unity Catalog 的 Azure Databricks 工作区。
- 若要列出或查看服务凭据,必须具有以下特权或角色之一:- 
              BROWSE父目录的特权
- 在元存储上CREATE SERVICE CREDENTIAL
- 服务凭据上的ACCESS
- 服务凭据的所有者
- 元存储管理员
 
- 
              
- 若要执行本文中列出的任何其他任务,你必须是服务凭据或元存储管理员的所有者。
- 如果使用 SQL 命令列出、查看或更新服务凭据,则需要在 Databricks Runtime 15.4 LTS 或更高版本上进行计算。 如果使用目录资源管理器或 REST API,则没有 Databricks Runtime 版本要求。
列出服务凭据
若要查看元存储中所有服务凭据的列表,可以使用目录资源管理器或 SQL 命令。
目录资源管理器
- 在边栏中,单击 - 目录。 
- 在“快速访问”页中单击“外部数据”>按钮,然后转到“凭据”选项卡。 
- 按用途(存储或服务)对凭据进行排序。 
SQL
在 Notebook 中运行以下命令。
SHOW SERVICE CREDENTIALS;
查看服务凭据
若要查看服务凭据的属性,可以使用目录资源管理器或 SQL 命令。
目录资源管理器
- 在边栏中,单击 - 目录。 
- 在“快速访问”页中单击“外部数据”>按钮,然后转到“凭据”选项卡。 
- 单击服务凭据的名称以查看其属性。 
SQL
在 Notebook 中运行以下命令。 将 <credential-name> 替换为凭据的名称。
DESCRIBE SERVICE CREDENTIAL <credential-name>;
显示对服务凭据的授权
若要显示服务凭据上的授权,请使用如下命令。 你可以选择筛选结果以只显示指定主体的授权。
SHOW GRANTS [<principal>] ON SERVICE CREDENTIAL <service-credential-name>;
替换占位符值替:
- 
              <principal>:帐户级用户的电子邮件地址或要向其授予权限的帐户级组的名称。
- 
              <service-credential-name>:服务凭据的名称。
注意
如果组或用户名包含空格或 @ 符号,请在其周围使用反勾(而不是撇号)。 例如, 财务团队 。
授予使用服务凭据访问外部云服务的权限
若要授予使用服务凭据访问外部云服务的权限,请完成以下步骤。 使用目录资源管理器或 SQL 命令:
目录资源管理器
- 在边栏中,单击 - 目录。 
- 在“快速访问”页中单击“外部数据”>按钮,然后转到“凭据”选项卡。 
- 单击服务凭据的名称以打开详细信息页。 
- 单击“权限”。 
- 若要向用户或组授予权限,请选择每个标识,然后单击“授予”。 - 选择 ACCESS 以授予使用服务凭据访问外部云服务的能力。
- 选择 CREATE CONNECTION 以授予使用此服务凭据在 Unity Catalog 中创建 Lakehouse Federation 连接的能力。 请参阅管理 Lakehouse Federation 的连接。
 
- 若要撤销用户或组的权限,请选择每个标识,然后单击“撤销”。 
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>;
若要撤销访问权限,请使用这些示例中的 GRANT 替换 REVOKE。
更改服务凭据的所有者
服务凭据的创建者是其初始所有者。 若要将所有者更改为其他帐户级别的用户或组,可使用目录资源管理器或 SQL 命令。
目录资源管理器
- 在边栏中,单击 - 目录。 
- 在“快速访问”页中单击“外部数据”>按钮,然后转到“凭据”选项卡。 
- 单击服务凭据的名称以打开编辑对话框。 
- 单击“  Edit icon所有者”旁边的 。 Edit icon所有者”旁边的 。
- 键入以搜索主体并将其选中。 
- 单击“ 保存”。 
SQL
在 Notebook 中运行以下命令。 替换占位符值替:
- 
              <credential-name>:该凭据的名称。
- 
              <principal>:帐户级用户的电子邮件地址或帐户级组的名称。
ALTER SERVICE CREDENTIAL <credential-name> OWNER TO <principal>;
重命名服务凭据
若要重命名服务凭据,可以使用目录资源管理器或 SQL 命令。
目录资源管理器
- 在边栏中,单击 - 目录。 
- 在“快速访问”页中单击“外部数据”>按钮,然后转到“凭据”选项卡。 
- 单击服务凭据的名称以打开编辑对话框。 
- 重命名服务凭据并保存。 
SQL
在 Notebook 中运行以下命令。 替换占位符值替:
- 
              <credential-name>:该凭据的名称。
- 
              <new-credential-name>:凭据的新名称。
ALTER SERVICE CREDENTIAL <credential-name> RENAME TO <new-credential-name>;
删除服务凭据
若要删除某个服务凭据,你必须是其所有者。 若要删除服务凭据,可以使用目录资源管理器或 SQL 命令。
目录资源管理器
- 在边栏中,单击 - 目录。 
- 在“快速访问”页中单击“外部数据”>按钮,然后转到“凭据”选项卡。 
- 单击服务凭据的名称以打开编辑对话框。 
- 单击“删除” 按钮。 
SQL
在 Notebook 中运行以下命令。 将 <credential-name> 替换为凭据的名称。 括号中的命令部分是可选的。
如果凭据不存在,则 IF EXISTS 不返回错误。
DROP SERVICE CREDENTIAL [IF EXISTS] <credential-name>;