【App Service】为应用服务添加Key Vault证书时遇见的RBAC问题之两个困扰人的坑

简介: 本文详解Azure App Service通过RBAC方式从Key Vault导入HTTPS证书的三大权限坑:门户无法加载证书列表、Add时仍报无权访问。关键在于开启Key Vault诊断日志定位Forbidden错误,并为App Service托管标识、当前用户授予“Key Vault Certificate User”,为Microsoft.Azure.WebSites授予“Key Vault Secrets User”权限。

问题描述

为了安全,需要为App Service访问添加HTTPS证书。

为了更加安全,需要把证书放在Key Vault的证书中进行保存。

为了更加更加安全,App Service访问Key Vault中的证书时候,需要通过RBAC访问,替代了Key Vault中之前的Access Policy方式。

为了以上的三重安全,使用RBAC导入证书的时候,需要遇见两个困扰人的大坑。

坑一:在门户上操作App Service Add Certficates时,无法加载Key Vault中的证书列表以供选择。

报错:The operation is not allowed by RBAC. If role assignments were recently changed, please wait several minutes for role assignments to become effective.

 

坑二:当上一个坑解决后,当点击Add后,依旧出现无权限访问问题。

报错:The service does not have access to '/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/00-000-00/providers/microsoft.keyvault/vaults/0000000' Key Vault. Please make sure that you have granted necessary permissions to the service to perform the request operation.

 

问题解答

以上两个坑,都是RBAC之后的权限问题。

只是从直观的错误信息上,无法得出具体的错误信息。如果需要查看详细的错误消息,必须开启Key Vault的诊断日志。

如把Key Vault的诊断日志开启之后,以上两个坑的详细错误就可以从 【 AzureDiagnostics | where ResultSignature == "Forbidden" | distinct ResultDescription 】中得到具体是哪一个Application ID无法访问,是缺少什么权限的问题。

比如以上两个坑的Key Vault Audit日志显示:

当得到详细的错误信息后,就非常容易解决这个权限(Forbidden)问题。分别为当前登录的用户添加”Key Vault Certificate User“权限和为"Microsoft.Azure.WebSites" 添加 "Key Vault Secrets User" 权限。

 

最后总结

要想成功配置RBAC认证方式,从App Service加载Key Vault证书,需要如下三个赋权步骤(均在Azure Key Vault的Access Control页面完成):

1:为这个App Service的Identity添加”Key Vault Certificate User“权限。

2:为当前登录Azure页面的用户添加”Key Vault Certificate User“权限。

3:为"Microsoft.Azure.WebSites" 添加 "Key Vault Secrets User" 权限。注:第三个权限与前两个不一样。

 

参考资料

导入来自密钥保管库的证书: https://docs.azure.cn/zh-cn/app-service/configure-ssl-certificate#import-a-certificate-from-key-vault

通过密钥保管库使用Azure RBAC 机密、密钥和证书权限 : https://docs.azure.cn/zh-cn/key-vault/general/rbac-guide?tabs=azure-cli#using-azure-rbac-secret-key-and-certificate-permissions-with-key-vault

启用日志记录:https://docs.azure.cn/zh-cn/key-vault/general/howto-logging?tabs=azure-portal

 


当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!

相关文章
|
22天前
|
人工智能 搜索推荐 JavaScript
GEO文章发布后为什么仍可能失效?
GEO文章发布后失效,常因内容无法长期存活。本文提出“六层验证模型”:Survive(存活)→Retrieve→Read→Use→Cite→Recommend,强调内容须先稳定公开、可访问、可验证,方能成为AI可信信源。官网为原始事实源,第三方平台仅作传播放大器。(239字)
147 5
|
18天前
|
Windows
【Azure Service Fabric 】节点扩展状态为 Not Ready 的恢复办法
Azure Service Fabric Windows节点卡在“Node configuration is in progress”状态,实为扩展未就绪(Not Ready),非正常进行中。本文详解通过停止服务、重命名运行时目录、重启安装服务及虚拟机,触发自动修复完成节点恢复的实操方案。
113 2
|
25天前
|
JSON 运维 API
【Azure Developer】如何使用 Microsoft Graph Explorer?为什么说它是一个非常便利的 Microsoft Graph API 调试工具?
Microsoft Graph Explorer 是微软官方在线API调试工具,支持全球版与21Vianet中国版(endpoint不同)。无需编码即可调用Graph API、实时查看JSON响应、调试权限、生成多语言代码示例,适用于快速验证、排错与学习。
|
23天前
|
JSON 文字识别 API
open-code-review 接百炼:7 档 qwen 模型审同一份代码,一次 PR 的总账与耗时实测
本文实测 open-code-review 接入百炼 qwen 系列模型的完整方案:内置 dashscope provider,支持 7 档 qwen 模型;单价差 40 倍,单次审查成本差 545 倍;qwen3.7-plus 为性价比拐点(23.4 秒、满分、¥0.0799 内);详解配置、成本估算与门禁选型。
open-code-review 接百炼:7 档 qwen 模型审同一份代码,一次 PR 的总账与耗时实测
|
12月前
|
存储 Prometheus 监控
使用helm快速部署prometheus+Grafana
通过Helm快速部署Prometheus监控栈:添加仓库、更新缓存并安装kube-prometheus-stack。建议创建独立命名空间(如monitoring)进行隔离,使用`port-forward`临时访问Prometheus和Grafana界面。通过自定义values.yaml文件可配置持久化、密码等参数,实现灵活管理。
1345 0
|
23天前
|
缓存 人工智能 测试技术
Codex 子 Agent 配置:config.toml 字段、并行判据与上下文管理
本文详解Codex子Agent配置要点:厘清`config.toml`作用域、`[agents]`字段语义(尤其`max_concurrent_threads_per_session`不含主Agent)、`max_depth=1`的必要性、官方并行判据、轮询开销、主线程模型选择策略、`reasoning.effort`五档含义及上下文管理开关等关键细节,助你规避常见配置陷阱。(239字)
|
24天前
|
人工智能 自然语言处理 容灾
模型越接越多,管理越来越乱?LiteLLM 与 New API 到底该怎么选
当多模型接入导致API Key分散、额度难管、环境混乱时,LiteLLM与New API两类开源模型网关提供自建解决方案:LiteLLM侧重研发侧统一调用、路由容灾与成本管控,适合技术团队;New API聚焦多用户管理、令牌分发与运营看板,适合需API商业化或精细化运营的场景。二者均支持OpenAI兼容接口,可私有化部署,比OpenRouter更可控、更安全。(239字)
|
23天前
|
人工智能 Ubuntu 数据可视化
Ubuntu 本地部署Ollama+OpenWebUI教程
本文详解Ubuntu下零基础部署Ollama+OpenWebUI:一键安装Ollama(支持CPU/GPU)、拉取轻量qwen3.5:0.8b模型、虚拟环境隔离安装OpenWebUI、配置systemd自启服务,最终建成可远程访问、离线运行、稳定易用的本地AI对话网页。
376 2
|
25天前
|
人工智能 安全 数据挖掘
阿里千问办公 QwenWork 价格科普:免费 / 标准版 / 高级版套餐权益横向对比
阿里千问办公QwenWork提供免费版(注册送2000积分)及付费版:个人版、企业标准版(198元/人/月)、旗舰版(支持VPC部署)。免费版限基础功能,付费版享更多模型权限、无限经济版推理等权益,阿里千问办公官网:https://t.aliyun.com/U/JNKJuO 阿里AI工作平台,一句话完成数据分析、PPT 生成、视频剪辑、网页搭建等复杂任务
|
4月前
|
人工智能 自然语言处理 API
【Azure AI Search】Index的字段使用默认Analyzer(standard.lucene) 和 en.microsoft 有什么不同?
Azure AI Search英文检索因词形差异(如brief/briefs)无法匹配,根源在于analyzer选择:默认standard.lucene不处理词形还原,而en.microsoft支持lemmatization,可将变体还原为基本形式。需通过新增字段并配置en.microsoft analyzer解决,兼顾检索质量与业务需求。
340 124