我有一个powershell脚本,它在连接到Azure blob存储和AzureSQL的Azure VM中运行。blob存储和SQL都受到防火墙的保护,blob存储是VNet的一部分。VM位于自己的VNet上。我将VM的IP地址插入Azure存储和sql azure中。对AzureSQL访问很好,但是当我尝试连接到blob存储时,我收到错误消息
“Get-AzStorageContainer:未授权此请求执行此操作。HTTP状态代码:403-HTTP错误消息:未授权此请求执行此操作。错误代码:AuthorizationFailure”。
我正在使用连接字符串访问blob存储。如果我从我的PC(其IP地址已输入防火墙)连接,我可以毫无问题地获得访问权限。如果我使用Azure存储资源管理器中的连接字符串从VM访问blob存储,我会收到相同的错误消息。
如果我禁用Blob存储上的防火墙,那么我可以使用powershell和存储资源管理器从VM很好地访问它。
不确定这是否相关,但如果我在VM上执行Get-NetIPAddress|Format-Table
,我会报告一个IPv6 IP地址,而不是我在其他任何地方和防火墙中使用的IPv4。
这可能是相关的,但不知道如何证明这一点:Azure存储帐户防火墙规则适用于表,但会破坏blob存储
有人能提出这种奇怪行为的原因吗?如何在不禁用防火墙的情况下从虚拟机可靠访问blob存储?
不确定您是否说过“blob存储是VNet的一部分”。但在这种情况下,您可以在VNet(位于虚拟机的)内启用Azure存储的服务endpoint,并将其子网添加到blob存储的虚拟网络中。您不需要将虚拟机的IP地址添加到存储帐户的防火墙。
参考:http://techtalk.cloud/azure-vnet-integration-service-endpoints-for-azure-storage/
如果存储帐户和虚拟机位于同一区域,则流量将通过Azure主干网络。我在另一个地区的虚拟机上试用了它,然后将Azure虚拟机的静态公共IP列入白名单,放到存储帐户的防火墙上,效果很好!
注意事项
IP网络规则对源自与存储帐户相同的Azure区域的请求没有影响。使用虚拟网络规则允许相同区域的请求。
部署在与存储帐户相同区域中的服务使用专用Azure IP地址进行通信。因此,您不能根据特定Azure服务的公共出站IP地址范围限制对其的访问。
参考:https://docs.microsoft.com/en-us/azure/storage/common/storage-network-security#grant-从internet ip范围访问
我有一个每天早上运行的Azure Runbook。 Runbook执行“Get-AzureStorageBlob”,但由于我们在存储帐户上启用了防火墙,它现在失败并出现错误: Get-AzureStorageBlob:远程服务器返回错误:(403)禁止。HTTP状态代码:403-HTTP错误消息:此请求无权执行此操作。第8行字符:17。。。ldBackups=Get AzureStorageBlo
我有一个Azure blob存储帐户,该帐户仅对选定的网络进行防火墙保护。我想从运行在动态计划上的函数应用访问此存储帐户,我知道该动态计划的出站IP地址。问题是,我将这些出站IP添加到blob存储的防火墙和虚拟网络设置中允许的IP地址中,但我仍然继续收到以下错误: 此请求无权执行此操作。 有人能指出我哪里出错了吗? N、 B.我使用PythonSDK访问带有帐户名和帐户密钥的blob存储!
我想要实现什么 通过Azure Function连接到位于防火墙后面的Azure BLOB存储帐户。 迄今为止采取的步骤 Azure Function针对按预期工作的公共存储帐户开发和测试。 在我的Azure Function的Azure资源管理器之后,我找到出站地址(条目),并将它们添加到存储帐户的防火墙中。 问题 在尝试对具有防火墙的存储帐户运行Azure功能时,我收到一个状态:500内部服务
基本概念 netfilter Linux 内核包含一个强大的网络过滤子系统 netfilter。netfilter 子系统允许内核模块对遍历系统的每个网络数据包进行检查。这表示在任何传入、传出或转发的网络数据包到达用户空间中的组件之前,都可以通过编程方式检查、修改、丢弃或拒绝。netfilter 是 RHEL 7 计算机上构建防火墙的主要构建块。 尽管系统管理员理论上可以编写自己的内核模块以与 n
我有一个服务器写在JavaServerSocket。 我有一个客户端,它位于一个公司防火墙之上,除了公共端口之外,它阻止了所有东西。 我已在SMTP端口(#25)上启动服务器。 有防火墙的用户连接到它,到目前为止一切正常。 然后服务器处理ServerSocket.accept()。据我所知,它在一个随机端口上创建一个套接字(每次端口号都不同)。因为防火墙而失败。 我的问题是-如何制作ServerS
iptables 命令 防火墙分为硬件防火墙和软件防火墙 防火墙策略一般分为两种:开放和屏蔽 iptables 是 Linux 上常用的防火墙软件 iptables 一共有四张表和五条链 iptables (选项)[表名] (选项)[链名规则] (选项)[动作] 表: Raw 负责连接跟踪 Mangle 负责包处理 Nat 负责地址转换 Filter 负责包过滤 链名规则: PREROUTING