使用 Microsoft Purview 数据所有者策略 (预览版) 预配对 Azure 存储的读取访问权限

重要

此功能目前处于预览阶段。 Microsoft Azure 预览版的补充使用条款包括适用于 Beta 版、预览版或其他尚未正式发布的 Azure 功能的其他法律条款。

数据所有者策略 是一种Microsoft Purview 访问策略。 它们允许你管理对已在 Microsoft Purview 中为 数据策略强制 注册的源中的用户数据的访问权限。 可以直接在 Microsoft Purview 治理门户中创作这些策略,发布后,数据源会强制实施这些策略。

本指南介绍了数据所有者如何委托Microsoft Purview 管理对 Azure 存储数据集的访问。 目前支持以下两个 Azure 存储源:

  • Blob 存储
  • Azure Data Lake Storage (ADLS) Gen2

先决条件

区域支持

  • 支持所有 Microsoft Purview 区域
  • 支持以下区域中的存储帐户,无需进行其他配置。 但是,不支持区域冗余存储 (ZRS) 帐户。
    • 澳大利亚中部
    • 澳大利亚东部
    • 澳大利亚东南部
    • 巴西南部
    • 加拿大中部
    • 加拿大东部
    • 印度中部
    • 美国中部
    • 东亚
    • 美国东部 2
    • 美国东部
    • 法国中部
    • 德国中西部
    • 日本东部
    • 日本西部
    • 韩国中部
    • 美国中北部
    • 北欧
    • 挪威东部
    • 波兰中部
    • 卡塔尔中部
    • 美国中南部
    • 南非北部
    • 东南亚
    • 印度南部
    • 瑞典中部
    • 瑞士北部
    • 美国中西部
    • 西欧
    • 美国西部
    • 美国西部 2
    • 美国西部 3
    • 阿联酋北部
    • 英国南部
    • 英国西部
  • 设置 功能标志 AllowPurviewPolicyEnforcement 后,支持公有云中其他区域中的存储帐户,如下一部分所述。 如果在设置 功能标志 AllowPurviewPolicyEnforcement 后创建,则支持新创建的 ZRS 存储帐户。

如果需要,可以 按照本指南操作创建新的存储帐户。

为 Microsoft Purview 中的策略配置 Azure 存储帐户所在的订阅

仅在某些区域需要此步骤, (请参阅上一部分) 。 若要启用 Microsoft Purview 来管理一个或多个 Azure 存储帐户的策略,请在要在其中部署 Azure 存储帐户的订阅中执行以下 PowerShell 命令。 这些 PowerShell 命令将使 Microsoft Purview 能够管理该订阅中所有 Azure 存储帐户的策略。

如果要在本地执行这些命令,请确保以管理员身份运行 PowerShell。 或者,可以在 Azure 门户 中使用 Azure Cloud Shell:https://shell.azure.com

# Install the Az module
Install-Module -Name Az -Scope CurrentUser -Repository PSGallery -Force
# Login into the subscription
Connect-AzAccount -Subscription <SubscriptionID>
# Register the feature
Register-AzProviderFeature -FeatureName AllowPurviewPolicyEnforcement -ProviderNamespace Microsoft.Storage

如果最后一个命令的输出将 RegistrationState 显示为 Registered,则你的订阅将启用访问策略。 如果输出为 Registering,请等待至少 10 分钟,然后重试该命令。 除非 RegistrationState 显示为 Registered,否则请勿继续

Microsoft Purview 配置

在 Microsoft Purview 中注册数据源

在 Microsoft Purview 中为数据资源创建策略之前,必须在 Purview Studio Microsoft 注册该数据资源。 本指南稍后会介绍与注册数据资源相关的说明。

注意

Microsoft Purview 策略依赖于数据资源 ARM 路径。 如果数据资源移动到新的资源组或订阅,则需要取消注册,然后在 Microsoft Purview 中再次注册。

配置权限以在数据源上启用数据策略强制实施

注册资源后,但在 Microsoft Purview 中为该资源创建策略之前,必须配置权限。 需要一组权限才能启用 数据策略强制实施。 这适用于数据源、资源组或订阅。 若要启用 数据策略强制实施,必须 资源具有特定的标识和访问管理 (IAM) 特权,以及特定的Microsoft Purview 权限:

  • 必须在资源的 Azure 资源管理器 路径上使用以下 IAM 角色组合之一,或者 (的任何父角色组合之一,即使用 IAM 权限继承) :

    • IAM 所有者
    • IAM 参与者和 IAM 用户访问管理员

    若要配置 Azure 基于角色的访问控制 (RBAC) 权限,请按照 本指南操作。 以下屏幕截图显示了如何访问数据资源Azure 门户中的“访问控制”部分以添加角色分配。

    显示Azure 门户中用于添加角色分配的部分的屏幕截图。

    注意

    数据资源的 IAM 所有者 角色可以从父资源组、订阅或订阅管理组继承。 检查哪些Microsoft Entra用户、组和服务主体持有或正在继承资源的 IAM 所有者角色。

  • 如果启用了) 继承,则还需要具有集合或父集合的 Microsoft Purview 数据源管理员 角色 (。 有关详细信息,请参阅 管理 Microsoft Purview 角色分配的指南

    以下屏幕截图显示了如何在根集合级别分配 数据源管理员 角色。

    显示用于在根集合级别分配数据源管理员角色的选项的屏幕截图。

配置 Microsoft Purview 权限以创建、更新或删除访问策略

若要创建、更新或删除策略,需要在根集合级别获取 Microsoft Purview 中的策略作者角色:

  • 策略作者角色可以创建、更新和删除 DevOps 和数据所有者策略。
  • 策略作者角色可以删除自助服务访问策略。

有关管理 Microsoft Purview 角色分配的详细信息,请参阅在Microsoft Purview 数据映射中创建和管理集合

注意

必须在根集合级别配置策略作者角色。

此外,若要在创建或更新策略的主题时轻松搜索Microsoft Entra用户或组,可以在Microsoft Entra ID中获取目录读取者权限,从而大大受益。 这是 Azure 租户中的用户的常见权限。 如果没有目录读取者权限,策略作者必须键入数据策略主题中包含的所有主体的完整用户名或电子邮件。

为发布数据所有者策略配置 Microsoft Purview 权限

如果将 Microsoft Purview 策略作者数据源管理员 角色分配给组织中的不同人员,则数据所有者策略允许进行检查和平衡。 在数据所有者策略生效之前, (数据源管理员) 的第二个人必须对其进行查看并通过发布来显式批准该策略。 这不适用于 DevOps 或自助访问策略,因为创建或更新这些策略时,这些策略会自动发布。

若要发布数据所有者策略,需要在根集合级别获取 Microsoft Purview 中的数据源管理员角色。

有关管理 Microsoft Purview 角色分配的详细信息,请参阅在Microsoft Purview 数据映射中创建和管理集合

注意

若要发布数据所有者策略,必须在根集合级别配置数据源管理员角色。

将访问预配责任委托给 Microsoft Purview 中的角色

为资源启用 数据策略强制实施后,在根集合级别具有 策略作者 角色的任何Microsoft Purview 用户都可以从 Microsoft Purview 预配对该数据源的访问权限。

注意

任何Microsoft Purview 根 集合管理员可以 将新用户分配到根 策略作者 角色。 任何 集合管理员可以 将新用户分配到集合下的 数据源管理员 角色。 最小化并仔细审查拥有 Microsoft Purview 集合管理员数据源管理员策略作者 角色的用户。

如果删除具有已发布策略的 Microsoft Purview 帐户,这些策略将在依赖于特定数据源的一段时间内停止强制实施。 此更改可能会影响安全性和数据访问可用性。 IAM 中的“参与者”和“所有者”角色可以删除Microsoft Purview 帐户。 可以通过转到 Microsoft Purview 帐户的“访问控制 (IAM) ”部分并选择“角色分配”来检查这些权限。 还可以使用锁来防止通过资源管理器锁删除 Microsoft Purview 帐户。

在 Microsoft Purview 中注册数据源以实施数据策略

需要先将 Azure 存储资源注册到 Microsoft Purview,以便稍后定义访问策略。

若要注册资源,请遵循以下指南的 先决条件注册 部分:

注册资源后,需要启用数据策略强制实施。 数据策略强制需要某些权限,并且可能会影响数据的安全性,因为它委托给某些Microsoft Purview 角色来管理对数据源的访问。 在本指南:如何启用数据策略强制实施中浏览与数据策略强制相关的安全做法

数据源启用“数据策略强制”切换后,如下所示:

显示如何通过切换资源编辑器中的“启用”选项卡来为策略注册数据源的屏幕截图。

创建和发布数据所有者策略

执行数据所有者策略创作教程创建新策略发布策略部分中的步骤。 结果将是类似于图中所示示例的数据所有者策略:一个策略,该策略向组 Contoso Team 提供对存储帐户 marketinglake1读取访问权限:

显示授予 Azure 存储帐户访问权限的示例数据所有者策略的屏幕截图。

重要

  • 发布是一项后台操作。 Azure 存储帐户最多可能需要 2 小时 才能反映更改。

取消发布数据所有者策略

单击此链接,了解 在 Microsoft Purview 中取消发布数据所有者策略的步骤。

更新或删除数据所有者策略

通过此链接了解 更新或删除 Microsoft Purview 中的数据所有者策略的步骤。

数据消耗

  • 数据使用者可以使用 Power BI 或 Azure Synapse Analytics 工作区等工具访问请求的数据集。
  • Azure 存储资源管理器中的“复制”和“克隆”命令需要其他 IAM 权限才能工作,以及 Purview 中的“允许修改”策略。 在 IAM 中向Microsoft Entra主体提供 Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey/action 权限。
  • 子容器访问:支持在存储帐户上低于容器级别设置的策略语句。 但是,如果仅在 Azure 存储帐户的文件或文件夹级别授予访问权限,则用户将无法使用Azure 门户的存储浏览器或Microsoft Azure 存储资源管理器工具浏览到数据资产。 这是因为这些应用尝试从容器级别开始向下爬网层次结构,并且请求失败,因为该级别未授予任何访问权限。 相反,请求数据的应用必须通过向数据对象提供完全限定的名称来执行直接访问。 以下文档演示了如何执行直接访问的示例。 另请参阅本操作指南的 后续步骤 部分中的博客。

其他信息

  • 在存储帐户级别创建策略使使用者能够访问系统容器,例如 $logs。 如果这是不需要的,请先扫描数据源,然后为每个 (创建更精细的策略,即容器级别或子容器级别) 。
  • 如果此类策略的范围是存储帐户中的订阅、资源组、存储帐户或容器,则Microsoft Purview 允许类型 RBAC 策略中的Microsoft Entra主体可以访问容器中的根 Blob。
  • 如果此类策略的作用域是订阅、资源组或存储帐户,则Microsoft Purview 允许类型 RBAC 策略中的Microsoft Entra主体可以访问存储帐户中的根容器。

限制

  • 存储帐户可以强制实施Microsoft Purview 策略的限制为每个订阅 100 MB,这大致相当于 5,000 个策略。

已知问题

与策略创建相关的已知问题

  • 不要基于 purview 资源集Microsoft创建策略语句。 即使显示在 Microsoft Purview 策略创作 UI 中,它们也尚未强制执行。 详细了解 资源集

策略操作映射

本部分包含Microsoft Purview 数据策略中的操作如何映射到 Azure 存储中的特定操作的参考。

Microsoft Purview 策略操作 特定于数据源的操作
Read Microsoft.Storage/storageAccounts/blobServices/containers/read
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read
Modify Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/add/action
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/move/action
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/delete
Microsoft.Storage/storageAccounts/blobServices/containers/read
Microsoft.Storage/storageAccounts/blobServices/containers/write
Microsoft.Storage/storageAccounts/blobServices/containers/delete

后续步骤

查看博客、演示和相关教程: