gpt4 book ai didi

c# - 保护 .NET Core 2.1 与 SQL Azure 数据库通信的应用程序设置中的连接字符串

转载 作者:行者123 更新时间:2023-12-03 01:42:38 25 4
gpt4 key购买 nike

好的,我正在制作一个 Web API,用于与 SQL Azure 数据库通信并按照此处的教程进行操作:https://learn.microsoft.com/en-us/azure/sql-database/sql-database-security-tutorial

我进入了我已经知道如何复制 Azure 连接字符串的部分,其中有这样的部分(ADO.NET):

Server=tcp:{myDatabase}.database.windows.net,1433;Initial Catalog=Expenses;Persist Security Info=False;User ID={your_username};Password={your_password};MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;

我知道我必须提供我的凭据,我可以将它们放入并让 API 正常工作。我的问题是,如果我将这个字符串保存到 GitHub 或在源代码管理下,如何保护它?过去,我使用 .NET 做了一个带有 protected 配置的方法,如下所示: https://learn.microsoft.com/en-us/dotnet/framework/data/adonet/connection-strings-and-configuration-files

基本上是这样的:

<connectionStrings configProtectionProvider="DataProtectionConfigurationProvider">
<EncryptedData>
<CipherData>
<CipherValue>{long ciphered value}</CipherValue>
</CipherData>
</EncryptedData>
</connectionStrings>

我试图潜在地扩展类似本文的服务:Encrypted Configuration in ASP.NET Core

但是,我正在使用 Azure,并且我知道将 Azure 混合在一起还可以让您做一些其他事情。使用过 Azure 数据库的人是否对如何保护其连接字符串有任何建议,或者至少有一个链接来帮助我入门?

最佳答案

我猜您正在使用 Azure Sql 身份验证(需要用户名和密码)或带密码的 Azure 集成安全性,这就是您担心保护凭据的原因。

如果有一个选项,我建议使用 Azure 集成安全性(相当于 Windows 集成安全性),这样可以避免在连接字符串中暴露用户/服务主体凭据。它只需要 Azure Active Directory 中的该帐户。

如果这不是一个需要考虑的选项,我们可以考虑将连接字符串存储在 Azure Key Vault 中,并动态检索它以建立数据库连接。

关于c# - 保护 .NET Core 2.1 与 SQL Azure 数据库通信的应用程序设置中的连接字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51444795/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com