备注
Microsoft Purview 数据目录(经典版)和数据健康洞察(经典版)已经停止接受新客户,且这些服务(以前为 Azure Purview)现在转为只支持现有客户。
本教程介绍如何发出 SQL 命令来检查已与 SQL 实例通信的 Microsoft Purview 策略;这些策略将在该实例中强制执行。 你还将了解如何强制将策略下载到 SQL 实例。 这些命令仅用于故障排除,在 Microsoft Purview 策略的正常操作期间不需要它们。 这些命令需要 SQL 实例中更高级别的特权。
有关 Microsoft Purview 策略的详细信息,请参阅后续步骤部分中列出的概念指南。
- 一个 Azure 订阅。 如果你还没有订阅,请创建一个试用版订阅。
- Microsoft Purview 帐户。 如果你没有帐户,请参阅创建 Microsoft Purview 帐户的快速入门。
- 注册数据源,启用数据策略强制实施,并创建一个策略。 为此,请使用 Microsoft Purview 策略指南之一。 按照本教程中的示例,可以为 Azure SQL 数据库创建 DevOps 策略。
创建策略后,策略主题中提到的 Microsoft Entra 主体应该能够连接到策略发布到的服务器上的任何数据库。
通过运行以下命令,可以强制将最新发布的策略立即下载到当前 SQL 数据库。 在 ##MS_ServerStateManager##-server 角色中运行其成员身份所需的最小权限。
-- Force immediate download of latest published policies
exec sp_external_policy_refresh reload
以下 DMV 可用于分析已下载了哪些策略,以及哪些策略当前已分配给 Microsoft Entra 主体。 运行它们所需的最低权限是 VIEW DATABASE SECURITY STATE - 或分配的操作组 SQL 安全审核员。
-- Lists generally supported actions
SELECT * FROM sys.dm_server_external_policy_actions
-- Lists the roles that are part of a policy published to this server
SELECT * FROM sys.dm_server_external_policy_roles
-- Lists the links between the roles and actions, could be used to join the two
SELECT * FROM sys.dm_server_external_policy_role_actions
-- Lists all Azure AD principals that were given connect permissions
SELECT * FROM sys.dm_server_external_policy_principals
-- Lists Azure AD principals assigned to a given role on a given resource scope
SELECT * FROM sys.dm_server_external_policy_role_members
-- Lists Azure AD principals, joined with roles, joined with their data actions
SELECT * FROM sys.dm_server_external_policy_principal_assigned_actions
Microsoft Purview 访问策略的概念指南: