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

Azure跨存储账户类型创建单个Blob专属SAS令牌的方法问询

针对单个Blob生成SAS令牌的解决方案

当然可以生成仅对单个Blob有访问权限的SAS令牌,而且不管Azure存储账户的类型是什么(标准或高级存储账户都支持这种Blob级别的SAS),下面给你详细说明:

1. PowerShell实现方式

你提到的New-AzStorageBlobSASToken命令正是用来生成单个Blob专属SAS的正确工具——之前你用的New-AzStorageAccountSASToken是针对整个存储账户服务级别的SAS,所以才会获得全Blob服务的访问权限。

这里给你调整后的PowerShell脚本,专门生成指定Blob的SAS令牌:

# 选择目标存储账户
$SA = Get-AzStorageAccount | Select-Object StorageAccountName,ResourceGroupName,Location,SkuName,CreationTime | Out-GridView -PassThru
# 获取存储账户密钥
$key = Get-AzStorageAccountKey -ResourceGroupName $SA.ResourceGroupName -Name $SA.StorageAccountName
# 创建存储上下文
$context = New-AzStorageContext -StorageAccountName $SA.StorageAccountName -StorageAccountKey $key.value[0]

# 填写目标Blob所在的容器名称和Blob文件名
$containerName = "your-container-name"
$blobName = "your-target-blob-name"

# 生成仅针对该Blob的SAS令牌,可按需调整权限和有效期
$blobSas = New-AzStorageBlobSASToken -Container $containerName -Blob $blobName `
    -Permission "r"  # 这里仅设置读取权限,可根据需求调整为racwdlup等权限组合
    -ExpiryTime (Get-Date).AddHours(24)  # 设置SAS有效期为24小时,可自行修改时长
    -Context $context

Write-Output $blobSas

2. Azure门户实现方式

其实门户是可以创建单个Blob的SAS的,步骤很简单:

  • 登录Azure门户,找到目标存储账户
  • 进入存储账户的「容器」页面,打开目标容器
  • 找到需要生成SAS的Blob,点击右侧的「...」菜单,选择「生成SAS」
  • 在弹出的面板里设置权限、有效期等参数,点击「生成SAS和连接字符串」就能得到仅该Blob可用的SAS令牌

额外注意事项

  • 权限最小化:一定要严格控制权限,比如只给r(读取)权限,避免赋予不必要的写入、删除等高风险权限
  • 有效期设置:建议设置合理的过期时间,降低令牌泄露后的安全风险
  • 兼容性:不管是标准的General Purpose v2存储账户,还是高级的Blob存储账户,都完全支持这种Blob级别的服务SAS

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 07:47:04