在云中安全地管理秘密

Visual Studio博客

您可能已经听说过关于一个开发人员错误地检入了Github的AWS3密钥的故事的一些版本。他在5分钟内拔出了钥匙,但仍从搜索开源网站寻找秘密的机器人那里获得了数千美元的钞票。作为开发人员,我们都理解并关心如何确保开发和生产机密的安全,但单独管理这些机密,尤其是在团队中管理这些机密可能会很麻烦。我们很高兴地宣布几个新功能,这些功能将使检测代码中的秘密以及使用Azure上安全存储的秘密变得比以往任何时候都更容易。

在构建Azure时保护秘密

我们大多数人都知道,最好将连接字符串、域密码或其他凭据等机密设置作为运行时配置保存在源代码之外。Azure密钥库提供了一个安全位置,用于保护云应用程序使用的密钥和其他机密。Azure应用程序服务最近添加了对的支持托管服务标识这意味着在App Service上运行的应用程序可以轻松获得访问密钥库和其他受AAD保护的资源的授权,因此您不再需要在环境变量中存储机密可见性。

如果您这样做,那么使用正确的秘密设置本地开发环境可能会很痛苦,尤其是在团队中工作时。我们听说许多开发人员通过电子邮件发布共享开发服务的秘密,或者只是将其签入源代码。所以我们创建了应用程序身份验证扩展以便于在本地开发应用程序,同时将您的秘密保存在密钥库中。安装了扩展后,您本地运行的应用程序使用登录到Visual Studio的身份获取您有权直接从密钥库访问的机密。这在团队环境中非常有效,在这种环境中,您可以为开发团队设置安全组,以访问开发环境密钥库。

Azure密钥保管库

工具选项中的Azure服务身份验证帐户选择设置

在ASP。NET应用程序ASP。NET密钥库和用户密钥配置生成器。净值4.7.1是一个NuGet包,它允许将机密应用程序设置保存在安全配置存储中,而不是以明文形式保存在web.config中,而无需更改应用程序源代码。在ASP。NET核心应用程序有一个小的代码更改,以加载Key Vault作为配置提供程序,一旦您这样做,您就设置好了。这个改变还没有完成,但我们希望很快消除它。

应用程序设置

以下是两个演练,向您展示了一切的工作原理:

凭证扫描程序(CredScan)代码分析器预览

我们还希望让开发人员更容易在代码中发现秘密,从而鼓励将秘密转移到更安全的位置,例如用户机密Azure密钥库。这个凭证扫描代码分析器是一个很早的预览版,可以检测存储访问密钥、SAS令牌、API管理密钥、Cosmos DB访问密钥、AAD服务主体密钥、SQL的连接字符串、Azure SQL、Service Bus、Azure Logic应用程序、BizTalk server以及各种其他凭据类型。当您编辑代码时,分析器会扫描您的代码,并立即警告您它在任何打开的文档中发现的机密,并在错误列表和提交时的生成和代码分析中发出警告。这是我们在微软内部开发、利用和改进的一段时间了。

这个凭证扫描代码分析器是预览版,并在实验DevLabs扩展中发布,Visual Studio的连续交付工具这是因为我们知道这是一个重要的领域,它超越了打开的文档,可以一直延伸到您的CI环境中。我们现在发布了一个实验版本,而不是等待,因为我们认为它很有用,并且我们希望您能反馈您在您的环境中如何使用它。

请安装这些扩展,并尝试通过演练让我们知道您的想法。

凯瑟琳·王,Azure开发人员体验团队项目经理@卡瓦卡蒂Catherine是Microsoft Azure开发人员体验团队的项目经理。我曾使用Azure安全工具、Azure诊断工具、Storage Explorer、Service Fabric和Docker工具。有兴趣使开发体验简单、流畅、高效。

0条评论

讨论结束。

反馈usabilla图标