微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何生成 SAS 令牌以连接到 Azure 存储帐户 - 文件共享?

如何解决如何生成 SAS 令牌以连接到 Azure 存储帐户 - 文件共享?

为了连接到 Azure 共享存储(特别是文件共享)以执行从远程到 Azure 存储复制/删除/修改文件等任务,我们需要启用 SAS(共享访问签名)或 Active Directory 设置(然后根据需求分配角色)。

我想使用 SAS 方法实现访问,我尝试从 UI 生成 SAS,尝试通过使用访问密钥(存在内部存储帐户 - 机密和最重要的存储帐户密钥)生成 SAS 都有效。但是 UI 方法在我的情况下不利于,并且除了管理员之外,不能将访问令牌提供给任何人。

那么有没有办法使用 Azure AD 凭据或某些服务生成 SAS,我们可以在其中创建帐户和密码/密钥,并且该帐户可用于通过 curl(REST 调用)创建 SAS 令牌,而不是通过访问生成 SAS密钥(管理密钥)。

解决方法

棘手的部分是让您的用户为文件共享创建 sas 令牌,而不授予他们对整个存储帐户的权限。

您可以使用中间层应用程序来创建 SAS 令牌并允许用户使用该应用程序。例如,可以使用带有 HTTP 触发器的 azure 函数。使用托管服务标识授予 Azure 函数访问存储帐户的权限,并使用 Active Directory 或分发给用户的函数密钥保护对 Azure 函数的访问。

,

你可以试试这个方法:

可以使用 Azure AD 凭据或帐户密钥来保护用于访问容器、目录或 Blob 的 SAS 令牌。 Microsoft 建议您尽可能使用 Azure AD 凭据作为安全最佳实践,而不是使用帐户密钥,因为后者更容易被攻破。当您的应用程序设计需要共享访问签名时,请使用 Azure AD 凭据创建用户委派 SAS 以获得更高的安全性。

Create a User delegation SAS

Generate a User Delegation Key

POST https://myaccount.blob.core.windows.net/?restype=service&comp=userdelegationkey

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?