问题标签 [azure-sas]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3718 浏览

.net - Azure SAS 令牌不适用于 Azure.Storage.Blobs BlobServiceClient

我正在使用Azure.Storage.Blobs v12.1.0图书馆。我正在使用带有 Azure 服务主体凭据的用户委托生成 Blob 级 SAS 令牌,并尝试使用生成的 SAS 令牌上传 Blob。我完全按照Azure 中的这个代码示例来生成 SAS 令牌。

这是我用来创建 SAS 令牌的代码:

如果我将 SAS 令牌保存在浏览器中,但BlobServiceClient如果我尝试上传文件或执行它现在正在工作的任何操作,则创建 SAS 令牌并且 Get Blob 工作得非常好。要检查它是否经过身份验证,我写了这行await service.GetPropertiesAsync();抛出以下错误:

这是错误

任何帮助将不胜感激。

0 投票
1 回答
238 浏览

azure - 共享访问签名 (SAS)

我正在使用共享访问签名 (SAS) 但是当谈到“允许的 IP 地址”时,当我提供一个 IP 地址时,我无法使用该 SAS 访问 SA。我试过没有IP地址它可以工作

0 投票
2 回答
2533 浏览

c# - 如何在 C# 中使用服务主体(clientId 和 clientSecret)为 Azure Data Lake Store(Gen-2)创建 SAS 令牌?

我有 Data Lake Store (Gen-2) 的 clientId 和 clientSecret,我正在寻找一种使用 C# 以编程方式为其创建 SAS 令牌的方法。我浏览了文档,但没有找到创建 SAS 令牌的方法。任何指导将不胜感激。谢谢。

正如 Md Farid Uddin Kiron 所建议的,我使用了这段代码但没有成功:

它给了我状态 400 错误。

0 投票
1 回答
173 浏览

android - 改造上传将表单数据存储在上传文件中,破坏它

我正在使用 Retrofit 2 通过 Azure 的 REST API 将音频文件上传到 Azure blob 存储服务。

上传似乎可以正常工作,但存储在 Azure blob 容器中的文件已损坏,因为它包含的音频数据以及似乎是 HTTP 标头的内容。例如,这些是一个上传文件的内容:

我究竟做错了什么?

我的上传功能如下所示:

我的Retrofit界面界面是这样的:

(它使用@URL,因为我使用的是 Azure SAS,动态 URL 和身份验证嵌入在 URL 中作为一系列查询字符串,而且效果很好,顺便说一句,对于任何偶然发现此问题的人来说,这是一个简洁的提示,因为它会阻止 Retrofit 对 URL 和查询进行编码。)

我的 OKHttp 客户端看起来像这样,添加了一些 Azure 要求的标头:

如果我使用简单的 RequestBody 而不是多部分表单,我仍然会损坏音频文件,尽管音频文件中的标头较少。

我已经看了很长时间,我不知道这是否是我在 Retrofit 中做错的事情,Azure 是否需要不同的标头,或者 Azure 是否根本不喜欢多部分表单数据。

谢谢

约翰

0 投票
1 回答
1105 浏览

azure - 如何将 Azure blob 文件下载到下载文件夹中,而不是在浏览器中

我想在页面中放置一个按钮,当用户单击该按钮时,我想将 azure blob 下载到下载文件夹中。

  1. 我生成 blob 链接 url:

    var downloadLink = blobService.getUrl('mycontainer', 'myblob', 'SAS_TOKEN');

  2. 获得此网址后,我将使用此解决方案下载:

    /li>

我在 S3 中使用了相同的方法,文件可以在同一个浏览器中下载到下载文件夹中,但是对于 Azure,当我使用此解决方案时,它只是打开一个新选项卡并在浏览器中显示内容。

谁能帮忙看看这是为什么?如何下载文件而不是在浏览器中显示内容?

生成的网址是:

https://myBucket.blob.core.windows.net/mycontainer/1000/rawEvents.json?se=2022-04-20T23%3A59%3A59Z&sp=rwdlacup&sv=2018-03-28&ss=b&srt=sco&sig=EzsjwqKfYmwwUo2n1ySkCBAsTfW35ic8M8M

如果单击此 url,它也可以读取内容。

0 投票
1 回答
2298 浏览

c# - 如何为 Azure Blob 存储中的文件夹生成共享访问签名?

我正在使用适用于 .NET 的 Azure Blob 存储客户端库 v12 在 Azure Blob 存储上生成共享访问签名。到目前为止,我想出了如何在容器和文件上生成令牌 SAS,但是,我在 Microsoft 文档中找不到如何在容器中的特定虚拟文件夹上生成 SAS。

可行吗?谢谢先进

0 投票
1 回答
299 浏览

php - 代码:403 值:此请求无权执行此操作。详细信息(如果有): AuthorizationFailure

我得到“失败:代码:403值:此请求无权执行此操作。详细信息(如果有):AuthorizationFailure此请求无权执行此操作。RequestId:a433a473-e01e-005a-2fa7-30f90a000000时间:2020 -05-23T02:12:36.6988696Z. " 错误。请在下面查看我的代码。

编辑: 从 SAS 中删除 IP 后,我得到不同的错误:HTTP 标头之一的值格式不正确。详细信息(如果有):InvalidHeaderValue HTTP 标头之一的值格式不正确。RequestId:cdb1b3c1-b01e-0078-29fd-303c15000000 时间:2020-05-23T12:28:57.6060563ZContent-Length0。

这是新的 $connectionString

0 投票
2 回答
1391 浏览

c# - 我可以创建一个 SAS url 来访问 C# 中 Azure 文件共享(即不是 Blob)中目录的所有文件和文件夹吗?

如何获得对 Azure 文件共享中的目录具有只读或只写权限的 Sas url,以访问该目录中的所有文件和子目录,但 Azure 文件共享中的其他目录或文件无法访问它?

有没有办法通过使用 REST API 或客户端库为 C# 中的目录创建 sasToken?在 Microsoft 文档(https://docs.microsoft.com/en-us/azure/storage/files/storage-files-faq)中,他们说可以通过使用 REST API 或客户端库来创建共享访问签名,通过指定共享中文件夹的只读或只写权限。

任何建议这是如何工作的?

0 投票
2 回答
3934 浏览

python - 如何在 Python 中生成 Azure blob SAS URL?

我正在尝试使用该azure-storage-blob包即时生成 blob SAS URL。此解决方案仅在您拥有现已弃用的azure-storage软件包时才有效,该软件包无法再安装。

我需要一种方法来模仿BlockBlobService.generate_blob_shared_access_signature生成 blob SAS URL 的行为,如下所示:

如果您有已弃用的软件包,则上述解决方案有效,但我需要一个不需要它的解决方案。

0 投票
2 回答
4201 浏览

azure - Azure 存储帐户:Blob 服务 (SAS) 连接检查失败

我们在 Azure 上创建了一个新的存储帐户。而且,当我们执行连接检查时,它显示 Blob 服务 (SAS) 端点不可访问,并显示消息“此存储帐户不允许公共访问”。状态码是 409。

Storage Account 已从 V1 升级到 General-Purpose V2。是不是导致了这个问题?

连接检查失败

此外,“共享访问签名”中的“生成 SAS 和连接字符串”按钮被禁用并显示为灰色。

生成 SAS 和连接字符串

我们如何创建和启用这个端点?到目前为止,我的搜索并未指向通过门户创建/启用它的任何解决方案。是否只能通过 REST API?

Blob 服务 (SRP) 检查,共享访问签名检查成功。没有私有端点,创建防火墙并且允许从“所有网络”访问。

使用带有 API 的存储帐户密钥从客户端访问 blob 当前失败,错误代码为 403。

此外,我们成功地从与存储帐户的“连接字符串”连接的“Microsoft Azure 存储资源管理器”中获取 blob 详细信息。

额外细节 :

我还可以看到“Blob 服务(Azure AD)”端点不可访问,但“队列服务(Azure AD)端点是。

Azure AD Blob 服务