我遵循了以下内容,了解如何从Azure应用服务引用密钥保管库连接字符串。
https://davecallan.com/how-to-reference-key-vault-connection-strings-from-an-azure-app- service/
连接字符串在应用程序服务配置中的名称为"sqlconnection"。然后,我从配置Json文件中删除了此条目,并重新启动了Web应用程序。然后我尝试连接,但它给出了一个数据库错误,没有详细信息。有什么想法吗?
cfh9epnr1#
我尝试在我的环境中重现相同的内容,如下所示:
我使用**Azure基于角色的访问控制(RBAC)**创建了密钥保管库,如下所示:
确保在访问控制中添加Key Vault管理员角色,如下所示:
在设置下生成密钥库密码。生成手动名称类型的密码时,将值设置为应用程序中存储的当前SQL数据库连接字符串**web.config**
web.config
尝试使用SQL数据库的Secret值连接字符串,如下所示:
然后,您可以看到密钥标识符如下:
在Web应用程序中-〉在设置下单击配置-〉单击新建连接字符串
键入连接字符串的名称并设置值@Microsoft.KeyVault(SecretUri=VALUE), where the VALUE
@Microsoft.KeyVault(SecretUri=VALUE), where the VALUE
在设置-〉下的标识中,确保添加系统分配状态,如下所示:
点击"角色分配"按钮,然后添加keyvault secrets用户角色如下:
当您遇到没有详细信息的数据库错误时,您可以检查Portals_default\Logs下的Log4net错误。
参考:
Connection strings and app settings not working properly on Azure App Service · Issue #4227 · dnnsoftware/Dnn.Platform · GitHub
1条答案
按热度按时间cfh9epnr1#
我尝试在我的环境中重现相同的内容,如下所示:
我使用**Azure基于角色的访问控制(RBAC)**创建了密钥保管库,如下所示:
确保在访问控制中添加Key Vault管理员角色,如下所示:
在设置下生成密钥库密码。生成手动名称类型的密码时,将值设置为应用程序中存储的当前SQL数据库连接字符串**
web.config
**尝试使用SQL数据库的Secret值连接字符串,如下所示:
然后,您可以看到密钥标识符如下:
在Web应用程序中-〉在设置下单击配置-〉单击新建连接字符串
键入连接字符串的名称并设置值
@Microsoft.KeyVault(SecretUri=VALUE), where the VALUE
在设置-〉下的标识中,确保添加系统分配状态,如下所示:
点击"角色分配"按钮,然后添加keyvault secrets用户角色如下:
当您遇到没有详细信息的数据库错误时,您可以检查Portals_default\Logs下的Log4net错误。
参考:
Connection strings and app settings not working properly on Azure App Service · Issue #4227 · dnnsoftware/Dnn.Platform · GitHub