如何基于访问策略为ADLS Gen2容器或文件夹生成SAS令牌
基于访问策略生成ADLS Gen2 SAS令牌操作指南
前置操作:创建对应层级的存储访问策略
首先需要在对应资源层级创建访问策略,策略会预先定义权限、有效期、IP限制、允许协议等规则,后续生成的SAS会直接继承该策略的所有配置,修改策略即可同步作用于所有关联的SAS,无需重新生成凭证:
- 容器级别策略创建路径:进入目标存储账户 → 左侧导航栏选择「容器」→ 点击目标容器 → 容器页面左侧菜单选择「访问策略」→ 点击「添加策略」→ 按需配置权限(读/写/删除/列表等)、有效起止时间、允许访问的IP段、允许的协议,完成后保存即可。
- 文件夹级别策略创建路径:进入目标容器 → 找到目标文件夹右键点击 → 选择「访问策略」→ 点击「添加策略」→ 同上配置对应规则后保存。
生成容器级别绑定访问策略的SAS
操作步骤和Azure门户界面逻辑完全匹配:
- 进入目标容器的详情页,点击顶部菜单栏的「共享访问令牌」
- 「签名方法」下拉选项选择「存储访问策略」
- 「策略名称」下拉列表选择你提前创建完成的容器级访问策略
- 页面展示的权限、起止时间等配置会自动继承策略内容,默认不可手动修改,确认配置符合预期即可
- 点击「生成SAS令牌和URL」,即可获取独立的SAS令牌、以及拼接好SAS的完整资源访问URL。
生成文件夹级别绑定访问策略的SAS
注意:ADLS Gen2的文件夹级SAS仅支持绑定该文件夹专属的访问策略,无法直接绑定容器级别的访问策略
操作步骤如下:
- 进入目标容器的资源列表,找到需要生成SAS的目标文件夹,右键点击文件夹后选择「生成SAS」
- 「签名方法」下拉选项选择「存储访问策略」
- 「策略名称」下拉列表选择你提前为该文件夹创建好的访问策略
- 确认继承的策略配置符合预期
- 点击「生成SAS令牌和URL」,即可获取该文件夹专属、绑定访问策略的SAS凭证。
补充:命令行生成方式
如果你需要通过Azure CLI批量生成,可使用以下命令:
- 容器级别SAS生成:
az storage container generate-sas --account-name <你的存储账户名称> --name <目标容器名称> --policy-name <绑定的访问策略名称> --output tsv
- 文件夹级别SAS生成:
az storage directory generate-sas --account-name <你的存储账户名称> --container-name <目标容器名称> --name <目标文件夹完整路径> --policy-name <绑定的访问策略名称> --output tsv
注意事项
- 文件夹级别的访问策略仅作用于该文件夹及内部所有子文件/子文件夹,不会影响容器或其他同级目录的权限
- 如需修改SAS的权限、有效期等规则,直接修改绑定的访问策略即可,所有关联的SAS会立即同步生效
- 如需批量作废某一批SAS,直接删除对应绑定的访问策略即可,所有关联的SAS会立即失效
- 生成的SAS令牌可以单独拼接在任意对应层级的资源访问路径后使用,也可以直接使用生成好的完整访问URL。
内容的提问来源于stack exchange,提问作者Harish Kowrada
相关产品推荐
相关产品推荐

