【问题标题】:Hiding username and password in Visual Studio Azure connection在 Visual Studio Azure 连接中隐藏用户名和密码
【发布时间】:2017-04-01 13:56:18
【问题描述】:

在 Visual Studio 中建立与 Azure SQL 数据库的连接时,您必须为有权更改 SQL 数据库的用户编写用户名和密码。我如何避免这种情况,因为我担心防止反编译只能持续这么长时间?

例如:

    SqlConnection myConnection = new SqlConnection("Server=tcp:MYSERVER;Database=MYDATABASE;user id=MYIDHERE;password=MYPASSWORDHERE;Trusted_Connection=False;Encrypt=True;Connection Timeout=15;");

那么,长话短说,我该如何避免输入用户ID密码

感觉不安全,因为任何人都可以在反编译程序后向数据库中添加内容。

【问题讨论】:

标签: c# .net visual-studio azure azure-sql-database


【解决方案1】:

Azure SQL Database supports two types of authenticationSQL 身份验证,使用用户名和密码,Azure AD 身份验证,使用由 Azure Active Directory 管理的身份,受托管和集成域支持。如果您不想使用 SQL 身份验证,Azure AD 身份验证是一个替代选择。

此外,Azure SQL Database firewalls 会阻止对您的数据库服务器的所有访问,直到您使用防火墙规则指定哪些计算机具有权限。如果获取用户名和密码的客户端不在您在防火墙规则中指定的可接受 IP 地址范围内,则无法访问您的数据库。

【讨论】:

  • 我需要所有 IP 都能够随时访问数据库,但只有我允许他们通过应用程序访问的数据。如何使用 AD 身份验证?
  • only with data I allow them to access through an app 您希望您的应用程序作为用户访问数据库数据的唯一入口点,不必启用所有 IP,您可以为您的 Web 服务器添加防火墙规则以启用来自此的请求服务器并阻止其他计算机/请求。
  • Han 那我要启用哪些IP?我没有使用应用服务,它只是一个普通的 UWP / Xamarin 应用。我希望任何拥有该应用程序或其他两个 Windows 窗体应用程序的人都能够访问数据库。
【解决方案2】:

有关将 Azure AD 身份验证与 SQL Azure 数据库结合使用的信息,请参阅 https://docs.microsoft.com/en-us/azure/sql-database/sql-database-aad-authentication

【讨论】:

  • 我需要很多“客户”,我应该说不断地在数据库中读取和写入数据,同时保证它的安全。在这种情况下哪个会更好?
猜你喜欢
  • 2014-01-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-07
  • 1970-01-01
  • 2013-09-18
  • 1970-01-01
  • 2021-09-13
相关资源
最近更新 更多