Azure Data Lake Service Principal使用Data Factory编写

时间:2017-06-15 20:15:44

标签: azure azure-data-factory azure-data-lake

我已经创建了一个服务主体,并设置了必要的链接服务,以便在ADF中使用凭证和密钥等,这里有一个如何完成这个过程:

https://docs.microsoft.com/en-us/azure/data-lake-store/data-lake-store-authenticate-using-active-directory

当我执行我的管道,并且文件被写入ADL时,我可以看到顶级文件夹(我登录了ADL服务的创建者,我也是资源组的贡献者),但我我绝对无法深入了解。

我收到的错误基本上归结为ACL错误。

有趣的是,我也没有在执行地点被列为:使用服务主体的东美2。

当我手动验证数据工厂中的ADL连接(使用我自己的凭据)时,每个工作都非常正常,并且“执行位置”现在正确地列为北欧。

有没有人见过这个?

1 个答案:

答案 0 :(得分:1)

有用的阅读:https://docs.microsoft.com/en-us/azure/data-lake-store/data-lake-store-access-control

您遇到的问题就像您提到的ACL问题一样。只需拥有参与者访问权限,您就只能拥有管理平面的访问权限,而不能拥有该帐户的数据平面。

以下是思考ACL的心理模型

  1. 如果您需要能够读取文件,则需要对该文件进行r-x访问,并且对父文件夹的-x权限一直到root。

  2. 如果您创建了一个新文件夹,并为自己创建了一个默认ACL条目,它将应用于在其下创建的所有文件和文件夹。

  3. 要解决您的问题,请让超级用户(所有者组中的某个人)为您提供此访问权限。

    或者,如果您是所有者,则您将拥有对任何ACL独立的任何文件/文件夹的RWX访问权限。

    这应该可以解决您的问题。