Azure 数据工厂的角色和权限

适用于:Azure 数据工厂 Azure Synapse Analytics

本文介绍创建和管理 Azure 数据工厂资源所需的角色,以及由这些角色授予的权限。

角色和要求

若要创建数据工厂实例,用于登录到 Azure 的用户帐户必须属于参与者或所有者角色,或者是 Azure 订阅的管理员。 若要查看你在订阅中拥有的权限,请在 Azure 门户中选择右上角的用户名,然后选择“我的权限”。 如果可以访问多个订阅,请选择相应的订阅。

若要为数据工厂创建和管理子资源(包括数据集、链接服务、管道、触发器和集成运行时),以下要求适用:

  • 若要在 Azure 门户中创建和管理子资源,你必须属于“资源组”级别或更高级别的“数据工厂参与者”角色 。

    注意

    如果已在资源组级别或更高级别分配了“参与者”角色,则不需要“数据工厂参与者”角色 。 参与者角色是一个超集角色,它包含授予“数据工厂参与者角色”的所有权限。

  • 若要使用 PowerShell 或 SDK 创建和管理子资源,资源级别或更高级别的参与者角色已足够。

设置权限

创建数据工厂之后,可能需要让其他用户使用该数据工厂。 若要将该访问权限授予其他用户,必须将这些用户添加到数据工厂所在“资源组”中的内置“数据工厂参与者”角色。

“数据工厂参与者”角色的权限范围

“数据工厂参与者”角色中的成员身份允许用户执行以下操作:

  • 创建、编辑和删除数据工厂和子资源,包括数据集、链接服务、管道、触发器和集成运行时。
  • 部署资源管理器模板。 资源管理器部署是数据工厂在 Azure 门户中使用的部署方法。
  • 管理数据工厂的 App Insights 警报。
  • 创建支持票证。

有关此角色的详细信息,请参阅“数据工厂参与者”角色

资源管理器模板部署

资源组级别或更高级别的“数据工厂参与者”角色允许用户部署资源管理器模板。 因此,此角色的成员可以使用资源管理器模板来部署数据工厂及其子资源,包括数据集、链接服务、管道、触发器和集成运行时。 此角色的成员身份不允许用户创建其他资源。

重要

使用“数据工厂参与者”角色进行资源管理器模板部署不会提升你的权限。 例如,如果你部署一个可以创建 Azure 虚拟机的模板,而你没有创建虚拟机的权限,则部署会失败并出现授权错误。

在发布上下文中,“Microsoft.DataFactory/工厂/写入”权限适用于以下模式。

  • 仅当客户修改全局参数时,才需要在实时模式中使用该权限。

自定义方案和自定义角色

有时候,可能需要为不同的数据工厂用户授予不同的访问权限级别。 例如:

  • 可能需要一个其中的用户只有特定数据工厂的权限的组。
  • 或者可能需要一个其中的用户只能监视一个或多个数据工厂但不能对其进行修改的组。

若要实现这些自定义方案,可以创建自定义角色,然后向这些角色分配用户。 有关自定义角色的详细信息,请参阅 Azure 中的自定义角色

下面是一些示例,演示了自定义角色的功能:

  • 让用户通过 Azure 门户对资源组中的任何数据工厂执行创建、编辑或删除操作。

    在资源组级别为用户分配内置的“数据工厂参与者”角色。 若需允许用户访问订阅中的任何数据工厂,请在订阅级别分配角色。

  • 允许用户查看(读取)和监视数据工厂,但不允许对其进行编辑或更改。

    为用户分配内置的“读者”角色,其权限范围为数据工厂资源。

  • 允许用户在 Azure 门户中编辑单个数据工厂。

    此方案需要两个角色分配。

    1. 在数据工厂级别分配内置的“参与者”角色。
    2. 创建权限为“Microsoft.Resources/deployments/”的自定义角色。 将此自定义角色分配给资源组级别的用户。
  • 让用户能够测试链接服务中的连接或预览数据集中的数据

    创建具有以下操作权限的自定义角色:Microsoft.DataFactory/factories/getFeatureValue/read 和 Microsoft.DataFactory/factories/getDataPlaneAccess/action。 在数据工厂资源上为用户分配此自定义角色。

  • 允许用户通过 PowerShell 或 SDK 更新数据工厂,但不允许其在 Azure 门户中进行更新。

    为用户分配内置的“参与者”角色,其权限范围为数据工厂资源。 此角色允许用户在 Azure 门户中查看资源,但不允许其访问“发布”和“全部发布”按钮。