【问题标题】:Azure Key Vault. How it works? [closed]Azure 密钥保管库。这个怎么运作? [关闭]
【发布时间】:2020-08-03 10:31:52
【问题描述】:

嘿,谁能解释一下 Azure Key Vault 的工作原理,因为我有一些疑问。 当我们想避免在代码中放置连接字符串时,我们可以使用密钥库。但是如果我们想调用这个密钥库,我们必须放置(硬编码)Vault、ClientId、Thumbprint(如果我们使用证书)等。所以这对我来说毫无意义。有人可以解释一下为什么使用它是一种好习惯吗?请理解并感谢您的任何回答。

【问题讨论】:

    标签: .net azure azure-keyvault


    【解决方案1】:

    这是一个很好的问题:)

    这通常称为引导问题。 要访问秘密存储,我们需要进行身份验证,但我们需要一个秘密!

    如果您在 Azure 上运行,我认为最好的解决方案是使用托管标识。 这允许您的应用程序在例如应用服务对 Key Vault 等服务进行身份验证,而无需在应用配置或代码中存储任何机密。

    您可以在文档中阅读更多关于它们的信息:https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/overview

    支持托管身份的服务:https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/services-support-managed-identities

    【讨论】:

    • 所以我应该使用管道(生产)或机密(开发)覆盖应用程序设置(使用 Vault、ClientId 等),例如在 Azure DevOps 中?
    • 我们所做的是在 DevOps 中设置机密,将它们作为机密添加到 Key Vault,然后我们使用 ASP.NET Core 中的 Key Vault 配置提供程序将机密加载到配置中(内存中) 在应用程序启动时。
    • @juunas 是否可以以编程方式保存到密钥保管库。例如,我们有 api 集成,并考虑使用密钥库将客户帐户的访问密钥存储在密钥库而不是数据库中。那么在我们的集成代码中,当我们通过授权获取密钥时,是否有可能将它们存储在密钥库中,然后从密钥库而不是数据库中获取密钥?
    • 是的,您可以为此使用 Key Vault SDK:docs.microsoft.com/en-gb/dotnet/api/overview/azure/…
    • @juunas 谢谢看看
    猜你喜欢
    • 2016-10-13
    • 2021-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-19
    • 1970-01-01
    • 1970-01-01
    • 2018-06-29
    相关资源
    最近更新 更多