设置用户以查询表

本文演示了管理员如何添加用户、从 Databricks 数据集创建包含 1000 万名人员记录的表,以及允许用户访问该表。 接下来,它将演示用户如何运行查询并查看查询运行时详细信息。

重要

数据访问控制在 Databricks SQL 中始终处于启用状态,这意味着必须始终向用户授予数据访问权限。

要求

  • 必须是 Azure Databricks 工作区管理员。

步骤 1:添加用户

  1. 转到管理设置页

  2. 单击“标识和访问”选项卡。

  3. 在“用户”旁单击“管理”。

  4. 单击“添加用户” 。

  5. 输入用户电子邮件地址 ID。 可以添加属于 Azure Databricks 工作区的 Microsoft Entra ID(以前称为 Azure Active Directory)租户的任何用户。 本文中的示例假设用户为 user@example.com

    添加用户

  6. 单击“确定”。

    用户已添加到工作区。

  7. 单击“Databricks SQL 访问”复选框。

    已添加用户

  8. 单击“确认” 。

步骤 2:创建一个包含 1000 万人的表

  1. 单击边栏中的“新建”,然后选择“查询”。

  2. 在左侧的下拉框中,选择一个 SQL 仓库,例如“初学者仓库”。

  3. 将以下内容粘贴到 SQL 编辑器中:

    CREATE TABLE default.people10m OPTIONS (PATH 'dbfs:/databricks-datasets/learning-spark-v2/people/people-10m.delta')
    

    该语句使用存储在 Databricks 数据集中的 Delta Lake 文件创建 Delta 表。

  4. 按 Ctrl/Cmd + Enter 或单击“执行”按钮 。 此查询将返回 No data was returned.

  5. 若要刷新架构,请单击架构浏览器底部的Refresh Schema按钮。

  6. 在架构右侧的文本框中键入 peo。 架构浏览器将显示新表。

    架构浏览器

步骤 3:配置 default.people10m 表访问权限

使你在步骤 1 中创建的用户可以访问在步骤 3 中创建的 default.people10m 表。

可以使用目录资源管理器SQL 编辑器来配置访问权限。

目录资源管理器

  1. 点击边栏中的目录

  2. 在右上角的下拉列表中,选择一个 SQL 仓库,例如“初学者仓库”。 default 架构已选定。 此时将显示架构注释和所有者。

  3. default 架构后面的文本框中键入 peo。 目录资源管理器将显示 people10m 表。

  4. 单击“权限”选项卡。

  5. 单击“授予”按钮。

    默认 db 权限授予

  6. 输入 user@example.com

  7. 选中“USAGE”复选框。

  8. 单击“确定”。

  9. 单击 people10m 表。

  10. 单击“权限”选项卡。

  11. 单击“授予”按钮。

    人员表权限授予

  12. 输入 user@example.com

  13. 单击“SELECT”和“READ_METADATA”复选框 。

  14. 单击“确定”。

SQL 编辑器

  1. 单击边栏中的“新建”,然后选择“查询”。

  2. 在左侧的下拉框中,选择一个 SQL 仓库,例如“初学者仓库”。

  3. 逐一进入以下查询:

    GRANT USAGE ON SCHEMA default TO `user@example.com`;
    
    GRANT SELECT, READ_METADATA ON TABLE default.people10m TO `user@example.com`;
    
    SHOW GRANTS `user@example.com` ON TABLE default.people10m;
    

    每次查询后,按 Ctrl/Cmd + Enter 或单击“执行”按钮 。 最后一次查询后,应会显示:

    +------------------+---------------+------------+-----------------------+
    | Principal        | ActionType    | ObjectType | ObjectKey             |
    +------------------+---------------+------------+-----------------------+
    | user@example.com | READ_METADATA | TABLE      | `default`.`people10m` |
    +------------------+---------------+------------+-----------------------+
    | user@example.com | SELECT        | TABLE      | `default`.`people10m` |
    +------------------+---------------+------------+-----------------------+
    | user@example.com | USAGE         | SCHEMA     | default               |
    +------------------+---------------+------------+-----------------------+
    

步骤 5:生成查询

完成用户快速入门

步骤 6:查看查询历史记录

  1. 单击边栏中的查询历史记录

  2. 单击“查询”列中的字符串可显示查询详细信息:

    查询历史记录详细信息

后续步骤

若要了解如何启用对你自己的数据和表的访问,请参阅访问控制概述

若要进行启用访问的过程,请转到 上的“入门”窗格,并将 <databricks-instance> 替换为 Azure Databricks <databricks-instance>,例如 adb-1234567890123456.7.databricks.azure.cn