在Azure存储帐户中,我已开始使用SAS(共享访问签名)和SAP(存储的访问策略)来保护对Azure存储队列中特定队列的访问。
我想要实现的是将特定IP限制为特定队列(1.1.1.1可以访问queueA,而2.2.2.2不能访问)。
目前,我已经看到我可以使用存储帐户级别SAS来限制IP,以及在门户的“网络”部分中设置限制。这些还不够。
(我知道以下问题,但对答复表示不满意,该答复说尝试设置存储帐户的网络-是否可以通过ACCESS POLICY过滤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存储,但是您可以轻松地对其进行修改以用于队列存储)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句