azure - Azure 存储 - 使用存储访问策略时限制 SAS 中的 IP
问题描述
在 Azure 存储帐户中,我已经开始使用 SAS(共享访问签名)和 SAP(存储访问策略)来保护对 Azure 存储队列中特定队列的访问。
我想要实现的是将特定 IP 限制为特定队列(1.1.1.1 可以访问 queueA,但 2.2.2.2 不能)。
目前我已经看到我可以使用存储帐户级别的 SAS 来限制 IP,以及在门户的网络部分中设置限制。这些并没有完全削减它。
(我知道以下问题,但对回复不满意,回复说尝试设置存储帐户的网络 -是否可以使用访问策略过滤 Azure STORAGE SAS 的 IP 地址?)
谢谢
解决方案
您可以使用代码为该队列创建一个service SAS token
(例如,名为 queueA 的队列),然后将其与Stored Access Policy
.
例如(请修改代码以满足您的需要):
QueueClient queueClient = new QueueClient(connectionString, "queueA");
//create a service SAS
QueueSasBuilder sasBuilder = new QueueSasBuilder()
{
QueueName = "queueA",
//set the ip here
IPRange = new SasIPRange(IPAddress.Parse("172.16.0.1"))
};
//associate the service SAS with the Stored Access Policy
sasBuilder.Identifier = storedPolicyName;
//then you can use this uri with sas token to operate this queue
Uri sasUri = queueClient.GenerateSasUri(sasBuilder);
更多细节可以参考这篇文章(它是用于blob存储,但你可以很容易地修改它用于队列存储)。
推荐阅读
- unit-testing - 如何在 Loopback 4 的验收测试中模拟服务
- google-apps-script - Google 日历活动在错误的日期和时间创建
- php - 创建目录并将多个文件上传到创建的目录PHP
- reactjs - HEROKU react-router错误对象不是函数
- excel - Excel VBA 转大写
- c# - .NET 5.0:在多项目解决方案中构建项目
- regex - 使用正则表达式如何知道字符串的值是否为零?
- groovy - 遍历 Json 映射,创建带有嵌入链接的 html 表
- mongodb - MongoDB查找两个查询结果之间的交集
- python - 如何减去两个日期列,结果仅为正整数