【问题标题】:Is it possible to connect to Azure Storage Account with Private Ednpoint from Databricks?是否可以使用 Databricks 的专用终结点连接到 Azure 存储帐户?
【发布时间】:2021-08-26 18:00:36
【问题描述】:

我正在尝试从我的 Databricks Notebook 连接到使用专用终结点启用的 Azure DataLake 2/Storage 帐户,但出现错误:

Caused by: StorageException: This Request is not Authorized to Perform this operation.

我尝试在防火墙 IP 列表中添加 Databricks IP 地址(在与 Databricks 连接的网络接口/VNET 中找到,但不确定是否是那个)以同时列出来自本地的请求。但得到同样的错误。有没有办法用这种配置建立连接?

【问题讨论】:

  • 您是否拥有该存储帐户的“Blob 贡献者”权限?

标签: azure networking azure-blob-storage databricks azure-storage-account


【解决方案1】:

我创建了与您相同的环境,并尝试在 Databricks 笔记本中挂载存储帐户,但出现相同的错误“未经授权”。

解决方案:

由于我们已经创建了带有专用端点的存储帐户,因此默认情况下会设置防火墙。因此,为了解决这个问题,我们需要在其中设置 vnet 和 databrick 使用的子网,如下所示。

之后,当我挂载存储帐户时,它会成功挂载。

但要再次从文件夹中读取文件,您必须管理容器的 ACL 以及文件。

之后你可以得到以下输出:

同样可以通过右键单击需要从 Databricks 笔记本读取的文件来对文件进行操作。

在文件中添加访问控制后,您可以在 Databricks 中对其进行测试:

注意:我已使用服务主体(即 ADLStest)来使用来自 Databricks 的 ADLS gen2 存储帐户。该服务主体应具有分配给它的“存储 Blob 数据参与者”角色。并且应该只为该服务主体执行管理 ACL。

参考:

Access Azure Data Lake Storage Gen2 using OAuth 2.0 with an Azure service principal

Mount an Azure Data Lake Storage Gen2 Account in Databricks (mssqltips.com)

【讨论】:

    猜你喜欢
    • 2021-05-14
    • 2022-01-03
    • 2020-12-07
    • 2022-12-22
    • 2020-05-26
    • 2017-05-09
    • 1970-01-01
    • 2021-06-19
    • 2021-09-21
    相关资源
    最近更新 更多