使用powershell为Azure云存储帐户创建共享访问签名(SAS)

使用powershell为Azure云存储帐户创建共享访问签名(SAS),azure,azure-storage,azure-powershell,Azure,Azure Storage,Azure Powershell,如何为我的整个云存储帐户创建SAS url 我注意到azure powershell cmdlet有很多方法可以为特定资源(例如blob、queue等)创建SAS URL,但我想使用powershell为所有这些资源创建一个SAS,我假设您想使用azure存储。详情请参阅 不,很遗憾,API并没有按预期工作。azure存储帐户有一个较旧的版本,您提到的API用于为其创建SAS令牌。我需要能够为当前版本的Azure Storages创建SAS令牌。请尝试使用Powershell命令New Azur

如何为我的整个云存储帐户创建SAS url


我注意到azure powershell cmdlet有很多方法可以为特定资源(例如blob、queue等)创建SAS URL,但我想使用powershell为所有这些资源创建一个SAS,我假设您想使用azure存储。详情请参阅


不,很遗憾,API并没有按预期工作。azure存储帐户有一个较旧的版本,您提到的API用于为其创建SAS令牌。我需要能够为当前版本的Azure Storages创建SAS令牌。请尝试使用Powershell命令New AzureStorageAccountSASToken-服务Blob、文件、表、队列-资源类型服务、容器、对象-权限racwdlup。这与帐户sas和服务sas有关。我已经尝试过此API。它不允许您指定为哪个Azure StorageAccount生成SAS。调用匹配的集合AzureStorageAccount只对旧的存储帐户有效,而对新的存储帐户无效。对不起,我已经尝试过这个API意味着什么?我已经更新了答案,并使用资源管理存储帐户对其进行了测试。感谢您坚持我的观点:我缺少了-Context参数。如果省略,则默认为之前通过set-AzureStorageAccount设置的内容。据我所知,Set-AzureStorageAccount只适用于RM资源,所以当我尝试它时,它不起作用。
New-AzureStorageAccountSASToken
   -Service <SharedAccessAccountServices>
   -ResourceType <SharedAccessAccountResourceTypes>
   [-Permission <String>]
   [-Protocol <SharedAccessProtocol>]
   [-IPAddressOrRange <String>]
   [-StartTime <DateTime>]
   [-ExpiryTime <DateTime>]
   [-Context <IStorageContext>]
   [<CommonParameters>]



example : New-AzureStorageAccountSASToken -Service Blob,File,Table,Queue -ResourceType Service,Container,Object -Permission "racwdlup" -Context $ctx
$resourceGroup = "Resource group"
$storageAccountName = "account name "

Login-AzureRmAccount

$storageAccount = Get-AzureRmStorageAccount -ResourceGroupName $resourceGroup -Name $storageAccountName 

$ctx = $storageAccount.Context

$accountSAS = New-AzureStorageAccountSASToken -Service Blob,File,Table,Queue -ResourceType Service,Container,Object -Permission "racwdlup" -Context $ctx