Microsoft Fabric SQL 数据库中的授权
本文介绍 Fabric SQL 数据库项的访问控制。
可以在两个级别配置 SQL 数据库的访问权限:
- 在 Fabric 中,通过使用 Fabric 访问控制 - 工作区角色和项权限。
- 在数据库中,通过使用 SQL 访问控制,例如 SQL 权限或数据库级角色。
这两个不同级别的访问控制相互配合。
- 若要连接到数据库,用户必须至少拥有 Fabric 数据库项的 Fabric 中读取权限。
- 可以使用 Fabric 访问控制和/或 SQL 访问控制授予对特定功能的访问权限。 只能使用 Fabric 角色或权限授予连接到数据库的权限。
- 在数据库中拒绝访问(使用 DENY Transact-SQL 语句)始终优先。
Fabric 访问控制
在 Fabric 中,可以使用 Fabric 工作区角色和项权限来控制访问。
工作区角色
Fabric 工作区角色允许你管理谁可以在 Microsoft Fabric 工作区中执行哪些操作。
- 有关工作区角色的概述,请参阅工作区中的角色。
- 有关分配工作区角色的说明,请参阅授予用户对工作区的访问权限。
下表列出了允许特定工作区角色的成员访问的特定于 SQL 数据库的功能。
功能 | 管理员角色 | 成员角色 | 参与者角色 | 查看者角色 |
---|---|---|---|---|
完全管理访问权限和完全数据访问权限 | 是 | 是 | 是 | 否 |
读取数据和元数据 | 是 | 是 | 是 | 是 |
连接到数据库 | 是 | 是 | 是 | 是 |
项权限
Fabric 项权限控制对工作区中各 Fabric 项的访问。 不同的 Fabric 项具有不同的权限。 下表列出了适用于 SQL 数据库项的项权限。
权限 | 功能 |
---|---|
读取 | 连接到数据库 |
ReadData | 读取数据和元数据 |
ReadAll | 直接从 OneLake 文件读取镜像数据 |
共享 | 共享项和管理 Fabric 项权限 |
写入 | 完全管理访问权限和完全数据访问权限 |
授予项权限最简单的方法是将用户、应用程序或组添加到工作区角色。 每个角色的成员身份意味着该角色成员具有工作区中所有数据库的权限子集,如下表指定。
角色 | 读取 | ReadAll | ReadData | 写 | 共享 |
---|---|---|---|---|---|
管理员 | 是 | 是 | 是 | 是 | 是 |
成员 | 是 | 是 | 是 | 是 | 是 |
参与者 | 是 | 是 | 是 | 是 | 否 |
查看者 | 是 | 是 | 是 | 否 | 否 |
共享项权限
还可以通过 Fabric 门户中的“共享”快速操作来授予各数据库的“读取”、“全部读取”和“读取数据”权限。 可以通过 Fabric 门户中的“管理权限”快速操作查看和管理为数据库项授予的权限。 有关详细信息,请参阅共享 SQL 数据库和管理权限。
SQL 访问控制
与 Fabric 工作区角色和项权限相比,以下 SQL 概念允许更精细的访问控制。
- 数据库级角色。 存在两种类型的数据库级角色:数据库中预定义的“固定数据库角色”和可以创建的“用户定义的数据库角色”。
- 可以在 Fabric 门户中管理数据库级角色的成员身份,并为常见的方案定义用户定义的角色。
- 有关详细信息,请参阅从 Fabric 门户管理 SQL 数据库级角色。
- 还可以使用 Transact-SQL 管理角色成员身份和角色定义。
- 若要向数据库角色添加和删除成员,请使用
ADD MEMBER
ALTER ROLEDROP MEMBER
语句的 和 选项。 若要管理用户定义的角色的定义,请使用 CREATE ROLE、ALTER ROLE 和 DROP ROLE。
- 若要向数据库角色添加和删除成员,请使用
- 可以在 Fabric 门户中管理数据库级角色的成员身份,并为常见的方案定义用户定义的角色。
- SQL 权限。 可以使用 GRANT、REVOKE 和 DENY Transact-SQL 语句来管理数据库用户或数据库角色的权限。
- 行级安全性 (RLS) 允许你控制对表中特定行的访问。
有关详细信息,请参阅为 SQL 数据库配置精细访问控制。