【问题标题】:Access Azure Datalake from Datafactory using Service Principal使用服务主体从数据工厂访问 Azure 数据湖
【发布时间】:2021-10-07 21:16:11
【问题描述】:

我们正在尝试使用服务主体从数据工厂访问数据湖。 因此,作为其中的一部分,我创建了一个 AD 组和一个服务主体。将 SP 添加到 AD 组。 使用 AD 组在 Azure 数据湖中创建 ACL 角色。但这不起作用,因为我们收到“此请求未经授权”错误。 如果我将 ServicePrincipal 添加到“存储 Blob 贡献者”RBAC,它就可以工作。 关于如何使它工作的任何想法。 TIA。

【问题讨论】:

  • 如果我将 ServicePrincipal 添加到“Storage Blob Contributor”RBAC 它可以工作。 |您的问题是什么?
  • 我的问题是我不想提供 RBAC,而是将 SP 添加到已添加到 ACL 到 datalake 文件夹的 AD 组。
  • 你必须同时提供。 RBAC 授予与 Data Lake 的交互,ACL 授予与 files/blob/etc 的交互。您需要同时访问/编辑数据湖的内容。
  • 但是有一些 ServicePrincipals 只添加到 AAD 组中,这些组只能在 Datalake 的 ACL 级别访问(没有给出 RBAC 角色)文件夹,这些文件夹在 SSIS 中运行良好。我尝试对 datafactory 做同样的事情,但它不起作用。不幸的是,我无法分享任何屏​​幕截图..

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


【解决方案1】:

Azure RBAC 使用角色分配将权限集应用于安全主体。安全主体是代表用户、组、服务主体或托管标识 (AD) 的 Azure Active Directory 对象。例如,权限集可以授予安全主体“粗粒度”访问存储帐户中的所有数据或容器中的所有数据的权限。 存储 Blob 数据参与者、所有者或读者角色。

ACL 允许您在“Finner Grain”应用对目录和文件的访问程度。包含一系列 ACL 条目的权限构造称为 ACL。每个 ACL 条目将一个安全原则链接到某个访问级别。有关其他信息,请参阅 Azure Data Lake Storage Gen2 中的访问控制列表 (ACL)。

因此,您需要同时设置访问权限。

【讨论】:

  • 感谢您的回复。我确实与 MS 核对过,他们提供了以下内容。使用 ADLS 存储和防火墙时,您必须使用托管身份。另一种方法是安装自托管集成运行时机器。注意:在存储中使用“受信任的服务”功能以允许 Azure 数据工厂访问其数据时,仅支持托管身份身份验证。因此,当我这样做时,我能够使用 SP 连接到 ADL,而无需提供任何 RBAC,而只添加到 ACL。
猜你喜欢
  • 2017-11-18
  • 2023-03-25
  • 1970-01-01
  • 1970-01-01
  • 2018-08-01
  • 1970-01-01
  • 2020-07-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多