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

消费计划Azure Function访问公网封锁存储账户的方案及用户授权咨询

问题解决方案

一、消费计划Azure Function访问禁用公网的存储账户

当存储账户禁用所有公网访问后,基于账户密钥的连接字符串访问会被直接阻断,且消费计划的Function无法通过私有端点接入虚拟网络,需按以下步骤调整配置:

  1. 存储账户网络权限配置

    • 进入存储账户的「网络」设置页,在「允许访问来源」中选择「禁用公网访问」,然后勾选允许受信任的Microsoft服务访问此存储账户(Azure Functions属于受信任服务列表,此配置允许Function通过托管标识绕过公网限制访问存储)
    • 为Function的系统分配标识分配Storage Blob Data Contributor角色(不要用通用的「参与者」角色,数据操作需要对应的数据权限角色,而非管理角色)
  2. PowerShell脚本修改(改用托管标识认证)
    放弃使用连接字符串,直接通过托管标识完成身份认证,示例代码如下:

    # 通过系统分配托管标识完成Azure AD认证
    Connect-AzAccount -Identity
    
    # 初始化存储上下文(无需连接字符串)
    $storageContext = New-AzStorageContext -StorageAccountName "your-storage-account-name" -UseConnectedAccount
    
    # 上传敏感JSON文件至Blob容器
    Set-AzStorageBlobContent -Context $storageContext -Container "your-container-name" -File "local-path-to-sensitive.json" -Blob "target-sensitive-file.json"
    

二、仅基于Azure用户账户控制存储账户访问

完全可以实现,无需依赖IP地址限制,配置方式如下:

  1. 存储账户网络限制

    • 存储账户「网络」设置选择「禁用公网访问」,或选择「允许选定的网络」但不添加任何IP地址范围;若需要Function同时访问,需保留「允许受信任的Microsoft服务访问」的勾选
  2. Azure AD RBAC权限分配

    • 为指定的Azure AD用户/用户组分配存储账户的数据权限角色,常用角色包括:
      • Storage Blob Data Reader:仅允许读取Blob数据
      • Storage Blob Data Contributor:允许读写Blob数据
    • 禁用存储账户的账户密钥和SAS令牌功能(可选,进一步强制所有访问必须通过Azure AD认证)
  3. 用户访问方式
    用户必须通过Azure AD身份验证访问存储,比如:

    • PowerShell:执行Connect-AzAccount登录后,直接操作存储资源
    • Azure存储资源管理器:选择「Azure AD账户」登录,即可访问对应权限的存储内容

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 09:07:06