使用 Azure powershell 列出容器上的现有 SASTokens

List existing SASTokens on a container using Azure powershell

通过 powershell 创建 SASToken 时,它会从 New-AzureStorageContainerSASToken comdlet 返回创建的 SAS 令牌 url。

$Context = New-AzureStorageContext -StorageAccountName $StorageAccount -StorageAccountKey $StorageAccountKey                                                        
$now = Get-Date

$sasUrl = New-AzureStorageContainerSASToken -Name mycontainer -Permission rwdl -StartTime $now.AddHours(-1) -ExpiryTime $now.AddMonths(1) -Context $context -FullUri  
echo $sasUrl 

但是现在如果我丢失了,我该如何列出现有的 SASTokens?你可能在同一个容器上有几个。

尝试了 Get-AzureStorageContainer,但此信息不可用。
尝试使用其他 Get-AzureStorage* 并未能找到它。
powershell 是否支持此操作?

无法获取 SAS URL 列表,因为它们未存储在 Azure 存储中的任何位置。

可能有点晚了....但在此页面上: https://docs.microsoft.com/en-us/azure/storage/storage-dotnet-shared-access-signature-part-1

它说: "The SAS token generated by the storage client library is not tracked by Azure Storage in any way. You can create an unlimited number of SAS tokens on the client side."

喂! 保罗

使用 Powershell 可能不行,但可能使用 REST API:https://docs.microsoft.com/en-us/rest/api/storagerp/storageaccounts/listaccountsas

对于 POST 请求,需要填写一些请求正文参数,这需要反复试验,因为您可能不记得允许 SAS 的持续时间。但是如果 https://docs.microsoft.com/en-us/rest/api/storagerp/storageaccounts/listaccountsas#request-body 处的所有值都以某种方式记录下来,那么应该可以通过编程方式获取 SAS 令牌本身。