Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Nota
本文是“Azure Synapse Analytics 安全白皮书”系列文章的一部分。 有关该系列的概述,请参阅 Azure Synapse Analytics 安全白皮书。
根据数据的建模和存储方式,数据管理和安全访问控制可能需要开发人员和安全管理员使用不同的方法或技术组合来实现可靠的安全基础。
Azure Synapse 支持各种功能来控制谁可以访问哪些数据。 这些功能基于一组高级访问控制功能构建,包括:
专用 SQL 池中的每个对象都具有可授予主体的关联权限。 在用户和服务帐户的上下文中,这就是保护各个表、视图、存储过程和函数的方式。 对象权限(如 SELECT)可以授予用户帐户(SQL 登录名、Microsoft Entra 用户或组)和 数据库角色,为数据库管理员提供灵活性。 此外,授予对表和视图的权限可以与其他访问控制机制(如下所述)结合使用,例如列级安全性、行级安全性和动态数据掩码。
在 Azure Synapse 中,向数据库级用户和角色授予所有权限。 此外,任何被授予内置的 Synapse 管理员 RBAC 角色的用户会自动拥有对所有专用 SQL 池的完全访问权限。
除了保护 Azure Synapse 中的 SQL 表外,还可以保护专用 SQL 池(以前为 SQL DW)、无服务器 SQL 池和 Spark 表。 默认情况下,当用户在笔记本中以交互方式执行代码时,分配给连接到工作区的数据湖的存储 Blob 数据参与者角色的用户对所有 Spark 创建的表具有 READ、WRITE 和 EXECUTE 权限。 它称为 Microsoft Entra 直通,适用于连接到工作区的所有数据湖。 但是,如果同一用户通过管道执行同一笔记本,则使用工作区托管服务标识 (MSI) 进行身份验证。 因此,要使管道成功执行工作区 MSI,它还必须属于访问的数据湖的存储 Blob 数据参与者角色。
行级安全性允许安全管理员根据运行查询的用户(或进程)的配置文件建立和控制对特定表行的精细访问。 个人资料或用户特征可能涉及组成员身份或执行环境。 当用户从同一表查询数据但必须看到不同数据子集时,行级安全性有助于防止未经授权的访问。
Nota
Azure Synapse 和专用 SQL 池(前为 SQL DW)支持行级别安全性,但 Apache Spark 池和无服务器 SQL 池不支持该安全。
列级安全性 允许安全管理员设置限制谁可以访问表中敏感列的权限。 它设置在数据库级别,并且可以实现,而无需更改数据模型或应用程序层的设计。
Nota
Azure Synapse、无服务器 SQL 池视图和专用 SQL 池(前称 SQL DW)支持列级安全性,但不支持无服务器 SQL 池外部表和 Apache Spark 池。 在无服务器 SQL 池中,当需要解决外部表问题时,可以通过基于外部表创建视图来应用解决方法。
动态数据掩码 允许安全管理员通过屏蔽对非特权用户的读取来限制敏感数据泄露。 它通过使管理员能够确定数据在查询时如何显示,帮助防止未经授权的访问敏感数据。 根据经过身份验证的用户标识及其在 SQL 池中的组分配,查询返回屏蔽或未屏蔽的数据。 无论数据是直接从表访问还是通过视图或存储过程访问,始终应用掩码。
Nota
Azure Synapse 和专用 SQL 池(前为 SQL DW)支持动态数据掩码,但 Apache Spark 池和无服务器 SQL 池不支持动态数据掩码。
Azure Synapse 还包括 Synapse 基于角色的访问控制 (RBAC) 角色,用于管理 Synapse Studio 的各个方面。 利用这些内置角色向用户、组或其他安全主体分配权限,以管理谁可以:
- 发布代码项目并列出或访问已发布的代码项目。
- 在 Apache Spark 池和集成运行时上执行代码。
- 访问受凭据保护的链接(数据)服务。
- 监视或取消作业执行、查看作业输出和执行日志。
在本白皮书系列的 下一篇文章 中,了解身份验证。