当前位置: 首页 > 知识库问答 >
问题:

Azure数据湖:此请求未被授权执行此操作

雷飞虎
2023-03-14

此问题不是此请求的重复,未授权执行此操作。Azure blobClient

我想从Azure函数访问Azure数据湖。我使用托管标识,并在我的数据湖IAM选项卡中为该功能分配了一个“所有者”角色。一切工作,但只有当我允许“所有网络”在我的数据湖。当我切换到“选定的网络”时,我会得到“此请求未被授权执行此操作”,尽管我将我的Azure函数的所有出站IP地址添加到了我的数据湖的防火墙规则中。

我在Azure函数中添加了对https://api.ipify.org的调用,以查看其公共IP地址。我还使用socket.gethostbyname()获取数据湖主机名的解析IP地址(只是为了检查它是否可能被解析为Microsoft数据中心中的私有IP,但不是,它是公共IP)

但我还是得到了

错误]执行'functions.json-deserialize-eventHub'(失败,ID=10554E46-2F5E-42A7-A9F7-A95DAD1B4E30,DURATION=1063MS)结果:故障异常:httpresponseerror:此请求无权执行此操作。requestid:84928EA9-201E-0092-5A97-D46E78000000Time:2020-12-17T17:07:38.2792923zerrorcode:authorizationFailureerrornonestack:File“/dispatcher.py”,第355行,在_handle__invocation_requestcall_result=await self._loop.run_in_executor(文件“/usr/local/lib/python3.8/concurrent/future/thread.py”,第57行,在runresult=self.fn(*self.args,**self.kwargs)文件“py”,第38行,在maindlc.append_object(obj_converted,data_lake_target_url)文件“/home/site/wwwroot/shared/datalake.py”,第41行,在append_objectfofile_system_containers中的r容器:文件“/home/site/wwwroot/.python_packages/lib/site-packages/azure/core/paging.py”,第129行,在__next__return next(self._page_iterator)文件“/home/site/wwwroot/.python_packages/lib/site-packages/azure/core/paging.py”中,在__next__return next(self._page.py“中,第76行,在models.py”,第401行,在_get_next_cbprocess_storage_error(错误)文件“/home/site/wwwroot/.python_packages/lib/site-packages/azure/storage/blob/_shared/response_handlers.py”中,第147行,在process_storage_error引发错误

代码本身很简单,我基本上只是使用Azure.storage.fileDataLake模块中的DataLakeServiceClient与数据湖通信。

为什么这行不通?我如何允许我的函数写/读数据?VNet集成目前还不是一个选项。

共有1个答案

陈浩
2023-03-14

在特殊情况下,您将存储帐户配置为允许从特定的公共internet IP地址范围进行访问。

部署在存储帐户所在区域的服务使用私有Azure IP地址进行通信。因此,您不能基于特定Azure服务的公共出站IP地址范围来限制对这些服务的访问。

我还看到在您的截图中有一个私有IP172.16.0.5。您可以在Azure Data Lake区域的不同区域中的另一个Azure函数中创建相同的函数应用程序来验证这一点。

 类似资料:
  • 我刚刚将react应用程序部署到firebase,部署后我很难让firebase Google登录工作,并得到错误:“此域(************.web.app)无权运行此操作。请将其添加到firebase控制台->Auth部分->Sign in method选项卡中的OAuth重定向域列表中。”请看下面图片中的错误:请看这个 此外,我已经将该域列入白名单,并将其添加到身份验证选项卡(请参见此

  • 我导入了Firebase JS v3 API,并使用以下方法初始化Firebase: 但是,应用程序未能通过本地主机上的web浏览器正确加载,导致以下错误:

  • 我有一个在Azure网站上运行的标准Web API,启用了Azure AD身份验证,当在浏览器中浏览API时,我可以通过浏览器登录并获得对API的访问权。 但是,WPF桌面应用程序在提交请求时接收到未经授权的响应: 更新: 我已经在一个Azure帐户中重新创建了这个环境,我可以访问这个帐户,但仍然收到一个未经授权的响应(在浏览器中运行良好)。

  • 我在帐户a中有一个lambda函数,试图从帐户B访问资源。创建了一个新的lambda角色,该角色具有基本执行功能,可以将日志上载到cloud watch。 以下是我在Python 3.7中的函数代码: 还修改了账户B中假定角色的信托政策,如文件中所述:https://aws.amazon.com/premiumsupport/knowledge-center/lambda-function-ass

  • 我正在制作一个需要firebase身份验证的应用程序,但收到一个错误。 “此应用未被授权使用Firebase身份验证。 > sha-1是正确的 项目包是正确的 项目已连接到firebase 依赖项设置正确 电话身份验证已启用 还有一件事,我只收到这个错误,当我从Playstore下载的应用程序,当我从Android Studio安装它的应用程序工作正常。.

  • 我很难让Firebase Google登录与自定义域一起工作。当在LocalHost上运行应用程序时,该功能可以工作。我已经在授权域的Authentication和Sign in方法下添加了自定义域 我在这里遗漏了什么,可能是我在Heroku中用Express服务器部署了Angular应用程序吗?感谢任何协助。