【问题标题】:How to create Azure Container SAS Token signed with Account key with PowerShell?如何使用 PowerShell 创建使用帐户密钥签名的 Azure 容器 SAS 令牌?
【发布时间】:2022-07-21 01:22:35
【问题描述】:

我需要使用 PowerShell 为容器创建一个 SAS 令牌,有效期为一年后。如果我使用New-AzStorageContainerSASToken,我无法设置 7 天后的到期日期,因为它使用了用户授权密钥。

例如,如果我这样做:

$container = New-AzStorageContainer -Name $saName -Context $backupContext
$token = $container | New-AzStorageContainerSASToken -Permission rwdl -ExpiryTime (Get-Date).AddYears(1)

我收到错误

New-AzStorageContainerSASToken: Generate User Delegation SAS with OAuth bases Storage context. User Delegate Key expiry time 20/07/2023 15:46:12 +00:00 must be in 7 days from now.

如何指定使用帐户密钥进行签名?

【问题讨论】:

  • 您可以访问帐户密钥吗?或者有权获取帐号密钥?
  • @GauravMantri 是的,我愿意

标签: azure powershell azure-storage


【解决方案1】:

如果您有权访问帐户名称和密钥,则可以使用它创建一个上下文。然后,您可以将该上下文传递给New-AzStorageContainerSASToken Cmdlet。

类似:

$ctx = New-AzStorageContext -StorageAccountName "account-name" -StorageAccountKey "account-key"
$container = New-AzStorageContainer -Name $saName -Context $ctx
$token = $container | New-AzStorageContainerSASToken -Permission rwdl -ExpiryTime (Get-Date).AddYears(1) -Context $ctx

您可以在此处了解有关 New-AzStorageContext 的更多信息:https://docs.microsoft.com/en-us/powershell/module/az.storage/new-azstoragecontext?view=azps-8.1.0

【讨论】:

    猜你喜欢
    • 2021-05-12
    • 2018-04-23
    • 1970-01-01
    • 1970-01-01
    • 2022-08-19
    • 2022-07-19
    • 2019-12-05
    • 2018-09-24
    • 2020-01-20
    相关资源
    最近更新 更多