You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Azure Blob容器生成包含't'权限的SAS令牌

结论先行

Azure门户当前不支持直接勾选t(标签操作)权限生成SAS,你可以通过PowerShell基于账户密钥生成SAS时手动指定权限参数,即可添加t权限。

Azure门户限制说明

当前Azure门户的SAS生成图形界面的可选权限列表未包含t权限选项,无法通过门户直接生成带t权限的SAS令牌,仅能通过命令行工具实现。

PowerShell 操作步骤(基于账户密钥生成)
  • 步骤1:安装Az.Storage模块(已安装可跳过)
    执行安装命令:
    Install-Module -Name Az.Storage -Scope CurrentUser -Force
    导入模块:
    Import-Module Az.Storage
  • 步骤2:登录Azure账户
    执行命令完成身份验证:
    Connect-AzAccount
    若有多个租户,可指定租户ID:Connect-AzAccount -Tenant <你的租户ID>
  • 步骤3:定义配置参数
    按需替换下方参数值:
    # 资源组名称
    $resourceGroupName = "your-resource-group-name"
    # 存储账户名称
    $storageAccountName = "your-storage-account-name"
    # 要授权的容器名称(容器级SAS需要,Blob级也需要填写所属容器)
    $containerName = "your-container-name"
    # 权限组合,按需添加,t为标签操作权限,必须小写
    # 示例:r=读,w=写,t=标签操作,三个权限组合写为rwt
    $sasPermissions = "rwt"
    # SAS有效期,示例为7天后过期,可按需调整
    $sasExpiryTime = (Get-Date).AddDays(7)
    
  • 步骤4:获取存储账户上下文(基于账户密钥)
    $storageAccount = Get-AzStorageAccount -ResourceGroupName $resourceGroupName -Name $storageAccountName
    $ctx = $storageAccount.Context
    
  • 步骤5:生成SAS令牌
    根据你的授权范围二选一执行:
    1. 生成容器级SAS(对容器下所有Blob生效)
      $sasToken = New-AzStorageContainerSASToken -Name $containerName -Permission $sasPermissions -ExpiryTime $sasExpiryTime -Context $ctx
    2. 生成Blob级SAS(仅对指定单个Blob生效)
      $sasToken = New-AzStorageBlobSASToken -Container $containerName -Blob "your-blob-name" -Permission $sasPermissions -ExpiryTime $sasExpiryTime -Context $ctx
  • 步骤6:获取SAS令牌
    执行Write-Output $sasToken即可输出生成的带t权限的SAS令牌,拼接至资源URL后即可使用。
注意事项
  • 权限参数中的t为大小写敏感,必须使用小写才能生效
  • 该方案基于账户密钥生成SAS,只要你有存储账户的密钥读取权限即可使用,不需要额外的RBAC高权限
  • 建议按需设置最小权限和最短有效期,降低SAS泄露后的安全风险

内容的提问来源于stack exchange,提问作者statler

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 15:18:03