如何使用Azure Cloud Services隐藏我的存储和SQL连接字符串?

问题描述 投票:4回答:3

我想将存储和SQL连接字符串从解决方案的各个项目中存储的配置文件中移到只能在Azure门户中访问。

在源代码管理中保留连接字符串意味着,如果任何人查看我们的代码库,他们将无限制地访问我们的Azure帐户。

在Azure网站中,可以在门户中设置连接字符串,并在下次部署时保留连接字符串。云服务是否可以这样做?

azure connection-string azure-sql-database azure-table-storage azure-cloud-services
3个回答
4
投票

不,不可能。云服务是VM,不是可以消耗连接字符串的应用程序。

如果拥有连续集成服务器,您可以执行以下操作:在将应用程序部署到云服务中之前,运行一个脚本,将连接字符串的值更改为所需的值,然后进行部署。这样,连接字符串仅在您的CI服务器中可见,而在您的代码中不可见。

但是请注意,如果您已经将连接字符串提交到代码库,则无法从历史记录中删除它们。 ((除非您执行force push,否则不推荐)。


3
投票

Azure Key Vault现在应该可以实现。我还没有尝试过-但计划-但是这里是关于getting started with key vaultusing key vault from a web app的不错的教程。我不确定这对Cloud Services是否完全一样。


0
投票

这确实很晚,但是如果您将项目部署为Web服务,则安全地存储连接字符串的最简单方法是转到:

您的App服务->配置->连接字符串->新的连接字符串

在这里,添加连接字符串的名称(例如DBConnectionString)和连接字符串的值。此值应将Web.config文件中名称为DBConnectionString的任何虚拟连接字符串替换为上面添加的值。

您的Web.config文件应包含以下内容。在这里,您可以将SOME DUMMY VALUE替换为任何内容。部署的服务将从Azure门户获取连接字符串。本地调试将要求您再次添加连接字符串。

<connectionStrings>
    <add name="DBConnectionString"
               connectionString="SOME DUMMY VALUE" />
</connectionStrings>
© www.soinside.com 2019 - 2024. All rights reserved.