Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure存储-使用存储访问策略时限制SAS中的IP_Azure_Azure Storage_Azure Storage Queues_Shared Access Signatures - Fatal编程技术网

Azure存储-使用存储访问策略时限制SAS中的IP

Azure存储-使用存储访问策略时限制SAS中的IP,azure,azure-storage,azure-storage-queues,shared-access-signatures,Azure,Azure Storage,Azure Storage Queues,Shared Access Signatures,在Azure存储帐户中,我已经开始使用SAS(共享访问签名)和SAP(存储访问策略)来保护对Azure存储队列中特定队列的访问 我希望实现的是将特定IP限制到特定队列(1.1.1.1可以访问queueA,但2.2.2.2不能) 目前,我已经看到我可以使用存储帐户级别的SAS来限制IP,以及在门户的网络部分设置限制。这些不太合适 (我知道以下问题,但对回答不满意,回答是尝试设置存储帐户的网络-) 谢谢您可以使用代码为该队列(例如,名为queueA的队列)创建一个服务SAS令牌,然后将其与存储访问策

在Azure存储帐户中,我已经开始使用SAS(共享访问签名)和SAP(存储访问策略)来保护对Azure存储队列中特定队列的访问

我希望实现的是将特定IP限制到特定队列(1.1.1.1可以访问queueA,但2.2.2.2不能)

目前,我已经看到我可以使用存储帐户级别的SAS来限制IP,以及在门户的网络部分设置限制。这些不太合适

(我知道以下问题,但对回答不满意,回答是尝试设置存储帐户的网络-)


谢谢

您可以使用代码为该队列(例如,名为queueA的队列)创建一个
服务SAS令牌
,然后将其与
存储访问策略相关联

例如(请修改代码以满足您的需要):

有关更多详细信息,您可以参考(它用于blob存储,但您可以轻松地修改它以用于队列存储)

        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);