我希望仅允许通过 Azure Blob 存储 (ABS) 上的共享访问签名 (SAS) URL 安全 HTTP (HTTPS) 连接/访问 Blob 容器。 可以实现吗?怎么办?
最佳答案
请使用 CloudBlobContainer.GetSharedAccessSignature
的覆盖用于包含协议(protocol)限制。
下面是执行相同操作的示例代码:
static void GetHttpsOnlySas()
{
var storageAccount = new CloudStorageAccount(new StorageCredentials(accountName, accountKey), true);
var blobClient = storageAccount.CreateCloudBlobClient();
var blobContainer = blobClient.GetContainerReference("container-name");
var sas = blobContainer.GetSharedAccessSignature(new SharedAccessBlobPolicy()
{
Permissions = SharedAccessBlobPermissions.List,
SharedAccessExpiryTime = DateTime.UtcNow.AddHours(1)
},
null,
SharedAccessProtocol.HttpsOnly,//This option will force SAS to work only on HTTPS
null);
}
关于azure - 强制 HTTPS 连接到 Azure Blob 存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37011318/