App Service部署槽Service Connector无法存储至Key Vault求助
检查自定义槽的托管标识权限:主槽和自定义槽的系统分配托管标识是独立实体,主槽的权限不会自动同步。进入自定义槽的「标识」->「系统分配」页面,复制对象ID,再到目标Key Vault的「访问策略」中,确认该对象ID是否被授予机密管理权限(至少包含Set、Get、List权限)。
确认自定义槽已关联Key Vault作为配置源:在自定义槽的「配置」->「应用程序设置」里,检查是否开启了「Azure Key Vault引用」,并正确关联了目标Key Vault。未关联时,Service Connector会隐藏存储到Key Vault的选项。
验证操作账号的Key Vault权限:创建Service Connector时,当前登录账号需要拥有Key Vault的写入权限(比如「机密参与者」角色)。若主槽创建时使用的账号权限更高,而自定义槽操作时用的账号权限不足,也会导致选项不显示。
检查部署槽的配置继承设置:进入自定义槽的「部署槽位」->「配置继承」页面,确认是否允许继承主槽的Key Vault关联配置。若设置了「不继承」相关配置项,Service Connector无法识别已关联的Vault,自然不会显示存储选项。
用Azure CLI排查UI缓存问题:如果以上配置均无问题,可能是Portal UI缓存导致的异常。尝试用CLI命令创建连接:
az webapp connection create sql --resource-group <你的资源组名> --name <应用服务名> --slot <自定义槽名> --target-resource-group <SQL资源组> --server <SQL服务器名> --database <数据库名> --secret-store keyvault --keyvault <Key Vault名>
若命令执行成功,说明是Portal UI的问题,刷新或重新进入页面即可;若失败,CLI会返回具体的权限或配置错误信息。
内容的提问来源于stack exchange,提问作者David Poxon

