Azure函数应用访问队列存储遇403未授权错误求助
问题排查请求

核心组件说明
Function App – 1(订阅:01)
- 由BLOB(1)触发
- 写入至Queue(2)
问题:主机启动失败。
该函数应用可成功连接BLOB(1),但流程(2)中尝试连接自身存储账户(图中左下角绿色区域)内的队列,而非指定的存储账户(图中顶部绿色区域),触发未授权访问错误——403。
相关配置:
AzureWebJobsStorage:@Microsoft.KeyVault(SecretUri=https://keyname.vault.azure.net/secrets/FunctionStorageSecretUrl)WEBSITE_CONTENTAZUREFILECONNECTIONSTRING:DefaultEndpointsProtocol=https;AccountName=xxxxxxxLomStorageBlob:serviceUri: https://xxxxx.blob.core.windows.netLomContainerPath: xxxxxxLomStorageQueue:serviceUri: https://xxxxx.queue.core.windows.netQueueName: xxxxx
Function App – 2(订阅:01)
- 由Queue触发
- 写入至Queue
主机启动成功,日志可观察到队列连接已建立。
相关配置:
AzureWebJobsStorage:@Microsoft.KeyVaultxxxxxWEBSITE_CONTENTAZUREFILECONNECTIONSTRING:DefaultEndpointsProtocol=xxxxLomContainerPath: xxxxStorageQueue:serviceUri: xxxxRequestQueueName: (未配置具体值)ResponseQueueName: (未配置具体值)
存储账户 – st1(订阅:01)
- 托管Blob和Queues
- 创建于新订阅,在订阅02中定义专用链接
为BLOB和QUEUE定义2个专用终结点:
- Blob-pe01
- queue-pe01
DNS已在订阅02中配置
触发的异常信息
This request is not authorized to perform this operation.
RequestId:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Time:
Status: 403 (This request is not authorized to perform this operation.)
ErrorCode: AuthorizationFailure
注意:请求指向本地存储账户(st2)的队列
存储账户(st1)已配置权限
Managed Identity1
- Storage Blob Data Contributor
- Storage Blob Data Reader
- Storage Queue Data Contributor
- Storage Queue Data Message Processor
- Storage Queue Data Message Sender
- Storage Queue Data Reader
Managed Identity2
- Storage Queue Data Contributor
- Storage Queue Data Message Processor
- Storage Queue Data Message Sender
- Storage Queue Data Reader
Functionapp1
- Storage Blob Data Contributor
- Storage Blob Data Reader
- Storage Queue Data Contributor
- Storage Queue Data Message Processor
- Storage Queue Data Message Sender
- Storage Queue Data Reader
Functionapp2
- Storage Queue Data Contributor
- Storage Queue Data Message Processor
- Storage Queue Data Message Sender
- Storage Queue Data Reader
已配置上述所有角色及权限,但问题仍未解决,请求协助排查。
内容的提问来源于stack exchange,提问作者Rajesh Moharana
相关产品推荐
相关产品推荐

