可以使用 Microsoft Purview DevOps 策略实现哪些目的?

本文介绍与通过 Microsoft Purview 治理门户管理对数据资产中数据源的访问权限。 文中侧重于介绍 DevOps 策略的基本概念。 也就是说,在你参阅其他文章了解配置步骤之前,本文提供你应该了解的 DevOps 策略的相关背景信息。

IT 和 DevOps 人员必须通过访问系统元数据来确保关键数据库系统正常、按预期运行并保持安全。 可以通过 Microsoft Purview DevOps 策略高效、大规模地授予和撤销该访问权限。

任何在 Microsoft Purview 的根集合级别拥有“策略作者”角色的用户都可以创建、更新和删除 DevOps 策略。 DevOps 策略在保存后会自动发布。

访问策略与 DevOps 策略对比

Microsoft Purview 访问策略使客户能够管理对其整个数据资产中数据系统的访问,所有这些访问均从云中的中心位置进行。 可以将这些策略视为可通过 Microsoft Purview Studio 创建的访问授权,因而无需编写代码。 这些策略规定是否应允许或拒绝 Microsoft Entra 主体(例如用户、组等)列表对某一数据源或其中的资产进行特定类型的访问。 Microsoft Purview 将这些策略传达给数据源,并在数据源本地强制实施。

DevOps 策略是一种特殊类型的 Microsoft Purview 访问策略。 DevOps 策略授予对数据库系统元数据而不是用户数据的访问权限。 这些策略简化了 IT 运营和安全审核人员的访问权限预配。 DevOps 策略仅授予访问权限。 不拒绝访问。

DevOps 策略的要素

DevOps 策略由以下三个元素定义:

  • 主题

    这是向其授予了访问权限的 Microsoft Entra 用户、组或服务主体的列表。

  • 数据资源

    这是强制实施策略的范围。 数据资源路径是由订阅、资源组和数据源组成的。

    Microsoft Purview DevOps 策略当前支持 SQL 类型的数据源。 既可以在单个数据源,也可以在整个资源组和订单上配置 DevOps 策略。 只有在 Microsoft Purview 中注册数据源后,且“数据策略强制实施”选项处于开启状态,才能创建 DevOps 策略。

  • 角色

    角色映射到策略允许对数据资源执行的一组操作。 DevOps 策略支持“SQL 性能监视器”和“SQL 安全审核员”角色。 这两个角色都提供对 SQL 系统元数据的访问,更具体地说,是提供对动态管理视图 (DMV) 和动态管理函数 (DMF) 的访问。 但两个角色授予的 DMV 和 DMF 集合却是不同的。 本文稍后会提供一些常见示例。

    文章《创建、列出、更新和删除 Microsoft Purview DevOps 策略》详细介绍了每个数据源类型的角色定义。 也就是说,它提供了 Microsoft Purvie 中的角色与该类型的数据源中允许执行的操作的映射。 例如,SQL 性能监视器和 SQL 安全审核员的角色定义包括数据源端的服务器和数据库级别的“连接”操作。

从本质上讲,DevOps 策略将角色的相关权限分配给主体,并在数据资源路径的范围内强制实施。

以分层形式强制实施策略

对数据资源本身及其包含的所有子资源强制实施针对数据资源的 DevOps 策略。 例如,Azure 订阅上的 DevOps 策略适用于所有资源组、每个资源组中所有启用策略的数据源以及每个数据源中的所有数据库。

演示概念和优势的示例方案

Bob 和 Alice 参与其公司的 DevOps 流程。 他们需要登录到数十个本地 SQL 服务器实例和 Azure SQL 逻辑服务器来监视服务器性能,以便关键的 DevOps 进程不会中断。 他们的经理 Mateo 将所有这些 SQL 数据源放入了资源组 1。 然后,他创建了一个 Microsoft Entra 组并将 Alice 和 Bob 加入了该组。 接下来,他使用 Microsoft Purview DevOps 策略(下图中的策略 1)向此 Microsoft Entra 组授予对托管逻辑服务器的资源组 1 的访问权限。

显示资源组上 DevOps 策略示例的示意图。

优势如下:

  • Mateo 不必在每个服务器中创建本地登录名。
  • Microsoft Purview 的策略通过限制本地访问特权来提高安全性。 这些策略支持最低特权原则。 在该方案中,Mateo 仅授予 Bob 和 Alice 执行系统运行状况和性能监视任务的最低访问权限。
  • 将新的服务器添加到资源组后,Mateo 无需更新 Microsoft Purview 中的策略即可在新的服务器上强制实施该策略。
  • 如果 Alice 或 Bob 从组织离职且该作业已回填,则 Mateo 只会更新 Microsoft Entra 组。 他不必对服务器或他在 Microsoft Purview 中创建的策略进行任何更改。
  • 在任何时候,Mateo 或公司审核员都可以看到直接在 Microsoft Purview Studio 中授予的所有权限。
原则 好处
简化 SQL 性能监视器和 SQL 安全审计员角色定义捕获典型 IT 和 DevOps 角色执行其作业所需的权限。
对于每个数据源类型的权限专业知识需求较少。
减少工作量 图形界面使你可以快速浏览数据对象层次结构。
Microsoft Purview 支持将策略应用于整个 Azure 资源组和订阅。
增强安全性 访问权限是集中授予的,可以轻松地进行审核和撤销。
减少特权帐户直接在数据源上配置访问权限的需求。
DevOps 策略通过数据资源范围和角色定义支持最低特权原则。

DevOps 策略 API

许多经验丰富的客户更喜欢通过脚本(而不是通过 UI)与 Microsoft Purview 进行交互。 Microsoft Purview DevOps 策略现在支持 REST API,该 API 提供完整的创建、读取、更新和删除 (CRUD) 功能。 此功能包括列出、面向 SQL 性能监视器的策略,以及面向 SQL 安全审计员的策略。 有关详细信息,请参阅 API 规范

显示在 Azure REST API 菜单中可以找到 DevOps API 的位置的屏幕截图。

SQL 动态元数据包括由 700 多个 DMV 和 DMF 构成的列表。 下表列出了一些最常用的 DMV 和 DMF。 该表将 DMV 和 DMF 映射到其在 Microsoft Purview DevOps 策略中的角色定义。 此外,还提供参考内容的链接。

DevOps 角色 类别 DMV 或 DMF 示例
SQL 性能监视器 查询系统参数以了解系统 sys.configurations
sys.dm_os_sys_info
查明性能瓶颈 sys.dm_os_wait_stats
分析当前正在运行的查询 sys.dm_exec_query_stats
分析阻碍性问题 sys.dm_tran_locks
sys.dm_exec_requests
sys.dm_os_waiting_tasks
分析内存使用情况 sys.dm_os_memory_clerks
分析文件使用情况和性能 sys.master_files
sys.dm_io_virtual_file_stats
分析索引使用情况和碎片 sys.indexes
sys.dm_db_index_usage_stats
sys.dm_db_index_physical_stats
管理活动用户连接和内部任务 sys.dm_exec_sessions
获取过程执行统计信息 sys.dm_exec_procedure_stats
使用查询存储 sys.query_store_plan
sys.query_store_query
sys.query_store_query_text
SQL 安全审核员 获取审核详细信息 sys.dm_server_audit_status
SQL 性能监视器和 SQL 安全审核程序 sys.dm_audit_actions
sys.dm_audit_class_type_map

有关通过 Microsoft Purview 角色授予 IT 支持人员访问权限时可以执行的操作的详细信息,请参阅以下资源:

后续步骤

要开始使用 DevOps 策略,请参阅以下资源: