Blob 存储 403 未经授权

2023-12-09

我们在同一计划下在 Azure Web 应用程序上托管了多个后端 API。所有API具有相同的出站ip,并且所有这些API都启用了访问限制,这些API只能在api网关内访问。我们有 blob 存储,我们还对其启用了限制(网络 → 从选定的虚拟网络和 IP 地址启用 → 防火墙,在其上添加了所有 API ip),现在,当 API 要从 blob 获取某些图像时,它会抛出以下错误,

Azure.RequestFailedException: This request is not authorized to perform this operation.
RequestId:0bc5827d-c01e-0030-382f-929e61000000
Status: 403 (This request is not authorized to perform this operation.)
ErrorCode: AuthorizationFailure
Content:
<?xml version="1.0" encoding="utf-8"?><Error><Code>AuthorizationFailure</Code><Message>This request is not authorized to perform this operation.
RequestId:0bc5827d-c01e-0030-382f-929e61000000
Time:2023-05-29T13:11:56.0013545Z</Message></Error

需要注意的是,API 和 blob 均未使用 vNet,并且两者均位于同一资源组并使用相同的身份 但是当我们删除存储帐户的网络限制时,它工作正常


我在我的环境中尝试了相同的操作并得到了如下所示的相同错误:

HTTP/1.1 403 This request is not authorized to perform this operation.
content-length: 246
content-type: application/xml
date: Wed, 31 May 2023 12:19:02 GMT
request-context: appId=cid-v1:fd69b195-73bf-4983-8e10-20874ab6fd70
vary: Origin
x-ms-error-code: AuthorizationFailure
x-ms-request-id: 0482fe63-001e-0005-0cba-93338e000000

![enter image description here](https://i.imgur.com/K48CoeH.png)

添加了对IP地址或虚拟网络的应用服务访问限制,如下所示:

enter image description here

在存储帐户防火墙中添加 IP 地址,如下所示:

enter image description here

Make sure in Exceptions allow azure service on the trusted service list to access this storage account
enter image description here

在 APIM 中打开托管身份。分配Storage Blob Data Contributor存储容器下的 Azure APIM 服务主体的角色。

enter image description here

现在应用程序服务中的访问限制,仅允许所需的 Ip 和成功执行的存储帐户相同,如下所示:

HTTP/1.1 200 OK
accept-ranges: bytes
content-length: 534283
content-md5: Fq04hjyWtblQ0ljt0ObAeQ==
content-type: image/png
date: Wed, 31 May 2023 12:56:56 GMT
etag: "0x8DB61A69A90XXX"
last-modified: Wed, 31 May 2023 07:13:58 GMT
request-context: appId=cid-v1:fd69b195-73bf-4983-8e10-20874ab6fd70
vary: Origin
x-ms-blob-type: BlockBlob
x-ms-creation-time: Wed, 31 May 2023 07:13:58 GMT
x-ms-lease-state: available
x-ms-lease-status: unlocked
x-ms-request-id: 8c7194fc-601e-0061-04bf-XXXXXXX
x-ms-server-encrypted: true
x-ms-version: 2017-11-09

enter image description here

参考:

使用 Azure API 管理和托管身份保护 Azure Blob 存储 |作者:马库斯·蒂 (Marcus Tee)马库斯 T 恤随时 |中等的 by 马库斯·蒂

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Blob 存储 403 未经授权 的相关文章

  • Azure 应用服务 - 自定义身份验证 - 不允许 HTTP 动词

    我按照本教程在我的 Xamarin Forms 应用程序中启用身份验证 https adrianhall github io develop mobile apps with csharp and azure chapter2 custom
  • 来自字符串的文件大小

    我如何从 php 中的字符串中获取 文件大小 我将字符串作为 blob 放入 mysql 数据库中 并且需要存储 blob 的大小 我的解决方案是创建一个临时文件并将字符串放入临时文件中 现在我可以从 字符串 中获取文件大小 但这个解决方案
  • 使用 Azure 应用服务轻松身份验证 + Azure AD B2C 是否可以保护单个 Web API 并让多个本机应用程序使用它?

    我们有一个 Web API 旨在为多个业务合作伙伴提供服务 每个业务合作伙伴都将定制我们的本机应用程序客户端的白标版本 我们还有一个 Web API 为不同的应用程序提供通用功能 我们希望使用 AD B2C 作为身份和身份验证系统 但无法了
  • Web.config 在 Azure 部署期间发生(大幅)更改

    部署到 Azure 后 我不断收到服务器错误 应用程序无法运行 所以我在实例中做了一个远程桌面 发现 web config 被彻底修改了 这是怎么回事 我以为 web config 是按原样打包的 相反 整个配置已被替换 当我用原始的 未改
  • 将 Azure Blob 与 Azure 网站结合使用

    我正在制作一个MVC Windows Azure涉及用户上传图像的网站 我想将图像存储在 blob 中 我搜索了教程 但大多数都涉及Webapps而不是 MVC 网站 我发现的唯一有用的教程是 http www codeproject co
  • 部署到 azure 然后收到 403 - 访问禁止

    我正在尝试部署到 Azure Silverlight 应用程序 我已迁移数据库 更新连接字符串并将应用程序发布到 Azure 但是当我单击服务 URL 时 我得到以下信息 403 禁止 访问被拒绝 您无权使用您提供的凭据查看此目录或页面 知
  • Azure git 部署 - 第二个程序集中缺少引用

    我正在尝试将 Bitbucket 部署设置到 Azure 网站 我成功链接了 Bitbucket 和 Azure 但是当我推送到 Bitbucket 时 我在 Azure 站点上收到以下错误 如果我单击 查看日志 它会显示以下编译错误 D
  • 在 Azure 上运行本机代码

    我正在尝试在 Azure 上运行 C 可执行文件 我有很多workerRoles 他们不断检查作业队列 如果队列中有作业 辅助角色将根据作业类中存储的命令行参数将 C 可执行文件的实例作为进程运行 C 可执行文件通常会创建一些日志文件 我不
  • Http 标头已删除 Azure Web 应用程序

    我在 Azure 上托管的 Web 应用程序遇到问题 该应用程序是一个用于身份验证 授权的identityserver4应用程序 asp net core 此应用程序可以在本地运行 但不能在 Azure 上运行 通过跟踪来自服务器的响应标头
  • 将证书安装到 Azure Web 应用上的受信任根证书存储

    如何将证书安装到 Azure Web 应用程序中 以便我的 azure web 应用程序可以通过 SSL 与远程服务通信 此特定证书未由公共 CA 签名 我使用 openssl 生成了一个 ssl 证书 当我将其安装到本地计算机上受信任的根
  • Azure AD B2C 中的自定义 SAML iDP 是否支持 iDP 发起的 SSO?

    我正在努力添加自定义 SAML 2 0 身份提供商 Okta 以与我的 B2C 租户一起使用 我已经配置了它 当我从我的应用程序启动登录时 它工作得很好 但是 当我从身份提供商 Okta 启动登录时 它无法登录 第一次尝试时 我从 B2C
  • 将包含特殊字符的标签发送到 Azure 通知中心

    我们想在 iPad 应用程序中使用 Azure 通知中心 但遇到了问题 确定谁收到推送消息的标签是电子邮件地址 如果它仅包含普通字符 则可以正常工作 但当我们尝试发送如下所示的标签时 它不起作用 电子邮件受保护 cdn cgi l emai
  • Azure无法访问React Web应用程序中的env变量

    几年前我看到有一个类似的问题 但超链接答案已被微软关闭 我有一个使用 create react app 创建的 React 应用程序 它已经部署到heroku并加载一些环境变量来访问谷歌地图等 这一切对于heroku来说都工作得很好 我已经
  • App Insights 升级到 2.5 后,Azure 应用服务将无法启动

    我有一个存储库 它使用应用程序洞察来记录有关在 ASP NET 中运行的服务的信息 我们有一些 ASP NET Core 2 0 站点以及一些完整框架的 asp net 4 应用程序 随着应用程序洞察 2 5 的发布 我们在核心站点中获得了
  • linux azure web 应用程序不显示我的reactjs 应用程序

    我使用 npx create react app 创建了一个 Reactjs Web 应用程序 并创建了一个 azure ci cd 管道以将构建文件夹推送到我的 Linux Web 应用程序实例 我还指定了启动命令 pm2 serve h
  • 无法将预编译、合并的 webapp 部署到 Azure

    我正在尝试将 ASP NET Web 应用程序部署到 Azure 它是 Web 表单 MVC 和 WebAPI 的混合体 并且有大量的 aspx ascx 文件 因此它们确实需要预编译 否则每次部署都会使网站运行缓慢一段时间 我正在尝试通过
  • Azure 函数和文档数据库

    我很好奇 Azure Functions 上的缩放与输出到文档数据库的关系如何 基本上 当文档数据库因为超出分配的吞吐量而返回 429 时会发生什么 我之所以这么问 是因为当我将最低级别的 Azure Functions 与最低级别的文档数
  • Azure Policy:删除资源组上的锁定

    我尝试使用 Azure Policy 检查生产订阅中的所有资源组是否都有 CanNotDelete 锁 我制定了一项政策 其灵感来自于这个问题 https stackoverflow com questions 54883610 how t
  • 在流量管理器和 Web 应用程序上配置自定义域

    我推荐了这个微软文档 但它很令人困惑 https learn microsoft com en us azure app service web sites traffic manager custom domain name https
  • Azure Functions - 注入的 ILogger 日志未显示

    我在用着FunctionsStartup在 Azure Functions 项目中设置 IoC 绑定 但是 从注入创建的任何日志ILogger

随机推荐

  • PHP中的文件上传问题

    您好 我正在尝试使用 php 脚本上传图像 真正奇怪的是我只在 Internet Explorer 中收到以下错误 其他脚本都可以正常工作 Warning move uploaded file pictures function move
  • ListView背景滚动数据

    是否可以使背景延伸到整个 ListView 而不是仅仅停留在固定位置 我记得在 CSS 中制作网站时 您可以将背景附件固定为背景在滚动时保持在同一位置 我试图归档与此相反的内容 使背景在您向下滚动时跟随数据 ListView有这样的东西吗
  • Heroku 临时文件系统和临时文件

    据我了解 Herokus 临时文件系统只允许您对临时文件夹进行写访问 当创建文件的 dyno 停止或重新启动时 在该文件夹中创建的文件将被丢弃 我不明白的是 如果测功机不停止或重新启动会发生什么 一定时间后文件还会被丢弃吗 我们目前正在构建
  • Predict() 返回太多值而不是一个

    我正在构建一个系统 根据最适合用户的内容从数据集中推荐一本书 问题是 不仅退还给我一本书 而且还出了很多书 我该如何解决 代码是这样的 from sklearn neighbors classification import KNeighb
  • Google Fusion 地图信息窗口未格式化

    我创建了一个包含 2 层的 Google Fusion Map 除 1 个例外外 一切似乎都正常工作 我已经使用 Google Fusion Table 工具格式化了两个图层的信息窗口 但是 第 1 层上的信息窗口并未按照以下代码的指定显示
  • pread 和 pwrite 未定义?

    我正在尝试使用 pread 和 pwrite 以便我可以 lseek 到文件的开头并开始在一个原子操作中读取或写入 这两个函数都会为我做到这一点 但是我遇到的问题是编译器给了我warning implicit declaration of
  • 获得良好性能的 Gem5 系统要求

    我必须在我的项目中使用 gem5 但想知道我应该购买什么硬件配置 我拥有一台 足够好 的笔记本电脑 但遗憾的是它不再可靠地工作 所以我不得不坚持使用一些低端笔记本电脑 我应该购买什么最低价格的处理器 还有AMD或者英特尔吗 也买不起苹果笔记
  • 将带有时区的日期字符串转换为时间戳

    我收到以下格式的日期2015 01 09T20 46 00 0100并需要将其转换为时间戳 不幸的是 strtotime 函数忽略了时区部分 print strtotime 2015 01 09T20 46 00 0100 n print
  • JTable 设置模型并保留列格式(宽度、对齐方式等)

    这是一次令人伤脑筋的经历JTable捆绑 这就是我所做的 我创建了一个JTable将列设置为指定宽度 并使用以下命令对其进行格式化renderers 并在其上添加了一些代码 但是当我尝试将其绑定到模型时 所有列都被模型的字段替换 有没有办法
  • 如何以编程方式更改 Active Directory 密码

    我有一组将要创建的测试帐户 但这些帐户将设置为要求在首次登录时更改密码 我想用 C 编写一个程序来检查测试帐户并更改密码 您可以使用用户主体 class 设置密码方法 前提是您有足够的权限 一旦找到正确的 UserPrincipal 对象
  • 文本更改时启动故事板

    我有一个 TextBlock 绑定到我的视图模型上的属性 我有一个故事板 使用不透明度属性淡入和淡出文本 我使用此文本在用户执行操作 成功 错误等 后向用户提供反馈 当视图模型的属性发生更改时 如何启动 StoryBoard 有没有更好的方
  • 如何在 google-cloud-ml 中设置 pytorch

    我尝试放弃工作Pytorchgoogle cloud ml 中的代码 所以我编写了 setup py 文件 并添加选项 install requires 设置 py from setuptools import find packages
  • MySQL 检查是否存在多行

    Here you can find how to check row existance SELECT EXISTS SELECT 1 FROM table1 WHERE some condition 如何有效地从表中存在多行 例如 SEL
  • CSS margin 的奇怪行为,为什么?

    有下面的 HTML div style width 400px height 200px background color Gray margin bottom 10px div div style width 400px height 2
  • golang程序退出后如何保持子进程运行?

    我注意到使用创建的子流程Start 程序退出后将被终止 例如 package main import os exec func main cmd exec Command sh test sh cmd Start when main exi
  • 使用 SQLAlchemy 在关联表中插入数据时出现 IntegrityError

    我试图在此关联表中插入角色数据 class Association db Model tablename associations user id db Column db Integer db ForeignKey users id pr
  • 如何让 MSBuild 处理所有 SSIS 项目

    我已成功关注博客1让 MSBuild 构建 SSIS 项目 这涉及创建 dll 和 MSBuild 脚本 该过程适用于任何单个项目文件 我正在寻求帮助 以使此过程适用于解决方案 sln 文件中定义的每个 dtproj 文件 我读过有关 MS
  • 获取用于在 Google 表单 URL 中预填充字段(项目)的条目 ID

    注意 这个问题是not关于查找 Item 表单元素 的 ID 但查找 Entry 的 ID 这些是不同的事情 条目 ID 是一个数字 用于预填充表单 URL 中的字段 项目 如此处所述https developers google com
  • AttributeError:使用 CX_FREEZE 构建 Python 3.6 可执行文件时,模块“dis”没有属性“_unpack_opargs”

    我一直在尝试将我的 Python 3 6 程序转换为 EXE 当我使用 cx Freeze 构建时 它会生成以下错误 见下面的日志 我之前使用 Kivy 模块 但在构建多次失败后 我仍然使用简单的 Hello World 程序尝试它 它失败
  • Blob 存储 403 未经授权

    我们在同一计划下在 Azure Web 应用程序上托管了多个后端 API 所有API具有相同的出站ip 并且所有这些API都启用了访问限制 这些API只能在api网关内访问 我们有 blob 存储 我们还对其启用了限制 网络 从选定的虚拟网