创建、列出、更新和删除 Microsoft Purview DevOps 策略

DevOps 策略是一类 Microsoft Purview 访问策略。 你可以使用它们来管理对已在 Microsoft Purview 中注册进行数据策略强制实施的数据源中的系统元数据的访问。

可以直接从 Microsoft Purview 治理门户配置 Azure DevOps 策略。 保存后自动发布,并由数据源强制实施。 Microsoft Purview 策略仅管理 Microsoft Entra 主体的访问权限。

本指南介绍在 Microsoft Purview 中使用 Azure DevOps 策略操作为“SQL 性能监视器”和“SQL 安全审计员”角色规定对数据库系统元数据的访问权限的配置步骤。 其中演示如何创建、列出、更新和删除 Azure DevOps 策略。

必备条件

配置

在 Microsoft Purview 策略门户中创作策略之前,需要配置数据源,使其可以强制实施这些策略:

  1. 遵循源的任何特定于策略的先决条件。 查看 Microsoft Purview 支持的数据源表,并在“访问策略”列中选择提供访问策略的源的链接。 按照“访问策略”和“先决条件”部分中列出的任何步骤进行操作。
  2. 在 Microsoft Purview 中注册数据源。 按照资源的源页面中的“先决条件”和“注册”给出的步骤进行操作。
  3. 在数据源注册中打开“数据策略强制实施”开关。 有关详细信息,包括操作此步骤所需的其他权限,请参阅在 Microsoft Purview 源上启用数据策略强制实施

创建新的 DevOps 策略

要创建的 DevOps 策略,请首先确保你在根收集级别拥有 Microsoft Purview 策略作者角色。 请参阅本指南中有关管理 Microsoft Purview 角色分配的部分。 然后,按如下步骤操作:

  1. 登录到 Microsoft Purview 治理门户

  2. 在左窗格中,选择“数据策略”。 然后选择“DevOps 策略”。

  3. 选择“新建策略”按钮。

    显示用于创建新 SQL DevOps 策略的按钮的屏幕截图。

    会打开策略详细信息面板。

  4. 在“数据源类型”那里,选择一个数据源。 在“数据源名称”下,选择列出的其中一个数据源。 然后单击“选择”,返回到“新建策略”面板。

    显示选择策略的数据源的面板的屏幕截图。

  5. 选择两个角色之一:性能监视器安全审核员。 然后选择“添加/删除对象”,打开“主题”面板。

    在“选择使用者”框中,输入 Microsoft Entra 主体(用户、组或服务主体)的名称。 Microsoft 365 组受支持,但对组成员身份的更新最多需要 1 小时才能反映在 Microsoft Entra ID 中。 继续添加或删除主题,直到满意为止,然后选择“保存”。

    显示策略选择的角色和主题的屏幕截图。

  6. 选择“保存”以保存策略。 策略会自动发布。 强制执行在 5 分钟内从数据源开始。

列出 DevOps 策略

若要列出 DevOps 策略,首先请确保在根集合级别具有以下 Microsoft Purview 角色之一:策略作者、数据源管理员、数据策展人或数据读取者。 请参阅本指南中有关管理 Microsoft Purview 角色分配的部分。 然后,按如下步骤操作:

  1. 登录到 Microsoft Purview 治理门户

  2. 在左窗格中,选择“数据策略”。 然后选择“DevOps 策略”。

    DevOps 策略”面板列出已创建的任何策略。

    显示用于打开 SQL DevOps 策略列表的选项的屏幕截图。

更新 DevOps 策略

要更新的 DevOps 策略,请首先确保你在根收集级别拥有 Microsoft Purview 策略作者角色。 请参阅本指南中有关管理 Microsoft Purview 角色分配的部分。 然后,按如下步骤操作:

  1. 登录到 Microsoft Purview 治理门户

  2. 在左窗格中,选择“数据策略”。 然后选择“DevOps 策略”。

  3. 在“DevOps 策略”面板上,从其数据源路径中选择它,以打开其中一个策略的策略详细信息。

    显示打开 SQL DevOps 策略选项的屏幕截图。

  4. 在策略详细信息面板上,选择“编辑”。

  5. 进行所需的更改,然后选择“保存”。

删除 DevOps 策略

要删除 DevOps 策略,请首先确保你在根收集级别拥有 Microsoft Purview 策略作者角色。 请参阅本指南中有关管理 Microsoft Purview 角色分配的部分。 然后,按如下步骤操作:

  1. 登录到 Microsoft Purview 治理门户

  2. 在左窗格中,选择“数据策略”。 然后选择“DevOps 策略”。

  3. 选择其中一个策略的复选框,然后选择“删除”。

    显示删除 SQL DevOps 策略选项的屏幕截图。

测试 DevOps 策略

创建策略后,已选择作为使用者的任何 Microsoft Entra 用户现在可以连接到策略范围内的数据源。 若要进行测试,请使用 SQL Server Management Studio (SSMS) 或任何 SQL 客户端,并尝试查询一些动态管理视图 (DMV) 和动态管理函数 (DMF)。 以下部分列出一则示例。 如需获取更多示例,请参阅可以使用 Microsoft Purview DevOps 策略实现哪些功能?,查看常用的 DMV 和 DMF 的映射。

如果需要进一步进行故障排除,请参阅本指南的后续步骤部分。

测试访问 SQL 性能监视器

如果你提供了策略 SQL 性能监视器角色的主体,则可以发出以下命令:

-- Returns I/O statistics for data and log files
SELECT * FROM sys.dm_io_virtual_file_stats(DB_ID(N'testdb'), 2)
-- Waits encountered by threads that executed. Used to diagnose performance issues
SELECT wait_type, wait_time_ms FROM sys.dm_os_wait_stats

屏幕截图显示了 SQL 性能监视器的测试。

测试访问 SQL 安全审核程序

如果你提供了策略 SQL 安全审核程序角色的主体,则可以从 SSMS 或任何 SQL 客户端发出以下命令:

-- Returns the current state of the audit
SELECT * FROM sys.dm_server_audit_status
-- Returns information about the encryption state of a database and its associated database encryption keys
SELECT * FROM sys.dm_database_encryption_keys

确保无法访问用户数据

尝试使用以下命令访问以下其中一个数据库:

-- Test access to user data
SELECT * FROM [databaseName].schemaName.tableName

应会拒绝你用于测试的 Microsoft Entra 主体,这意味着数据受到保护,可以免受内部威胁。

屏幕截图显示了测试访问用户数据。

角色定义详细信息

下表将 Microsoft Purview 数据策略角色映射到 SQL 数据源中的特定操作。

Microsoft Purview 策略角色 数据源中的操作
SQL 性能监视器 Microsoft.Sql/Sqlservers/Connect
Microsoft.Sql/Sqlservers/Databases/Connect
Microsoft.Sql/Sqlservers/Databases/SystemViewsAndFunctions/DatabasePerformanceState/Rows/Select
Microsoft.Sql/Sqlservers/SystemViewsAndFunctions/ServerPerformanceState/Rows/Select
Microsoft.Sql/Sqlservers/Databases/SystemViewsAndFunctions/DatabaseGeneralMetadata/Rows/Select
Microsoft.Sql/Sqlservers/SystemViewsAndFunctions/ServerGeneralMetadata/Rows/Select
Microsoft.Sql/Sqlservers/Databases/DBCCs/ViewDatabasePerformanceState/Execute
Microsoft.Sql/Sqlservers/DBCCs/ViewServerPerformanceState/Execute
Microsoft.Sql/Sqlservers/Databases/ExtendedEventSessions/Create
Microsoft.Sql/Sqlservers/Databases/ExtendedEventSessions/Options/Alter
Microsoft.Sql/Sqlservers/Databases/ExtendedEventSessions/Events/Add
Microsoft.Sql/Sqlservers/Databases/ExtendedEventSessions/Events/Drop
Microsoft.Sql/Sqlservers/Databases/ExtendedEventSessions/State/Enable
Microsoft.Sql/Sqlservers/Databases/ExtendedEventSessions/State/Disable
Microsoft.Sql/Sqlservers/Databases/ExtendedEventSessions/Drop
Microsoft.Sql/Sqlservers/Databases/ExtendedEventSessions/Target/Add
Microsoft.Sql/Sqlservers/Databases/ExtendedEventSessions/Target/Drop
Microsoft.Sql/Sqlservers/ExtendedEventSessions/Create
Microsoft.Sql/Sqlservers/ExtendedEventSessions/Options/Alter
Microsoft.Sql/Sqlservers/ExtendedEventSessions/Events/Add
Microsoft.Sql/Sqlservers/ExtendedEventSessions/Events/Drop
Microsoft.Sql/Sqlservers/ExtendedEventSessions/State/Enable
Microsoft.Sql/Sqlservers/ExtendedEventSessions/State/Disable
Microsoft.Sql/Sqlservers/ExtendedEventSessions/Drop
Microsoft.Sql/Sqlservers/ExtendedEventSessions/Target/Add
Microsoft.Sql/Sqlservers/ExtendedEventSessions/Target/Drop
SQL 安全审核员 Microsoft.Sql/Sqlservers/Connect
Microsoft.Sql/Sqlservers/Databases/Connect
Microsoft.Sql/sqlservers/SystemViewsAndFunctions/ServerSecurityState/rows/select
Microsoft.Sql/Sqlservers/Databases/SystemViewsAndFunctions/DatabaseSecurityState/rows/select
Microsoft.Sql/sqlservers/SystemViewsAndFunctions/ServerSecurityMetadata/rows/select
Microsoft.Sql/Sqlservers/Databases/SystemViewsAndFunctions/DatabaseSecurityMetadata/rows/select

后续步骤

请查看以下博客文章及相关文章: