azure-functions - 来自 KeyVault 的 Azure Function BlobTrigger 连接

标签 azure-functions azure-keyvault

摘要:我可以使用 KeyVault 将连接字符串提供给 Blob 存储绑定(bind)吗?

我最近将我的所有连接字符串和 secret 从 Azure Function 应用设置中移到 KeyVault 中。这包括我引用的各种存储帐户的连接字符串。我现在正在处理 Azure Blob 存储绑定(bind),但似乎 (per the docs) 引用连接字符串的所有方法都解析为应用级别设置。

我希望不必在两个不同的地方拥有这个 secret 。有没有办法指定存储帐户连接字符串ala KeyVault?

最佳答案

我可能处于不同的切线,但我相信我同意@ThatCreole,这是一种痛苦。集中配置和从已部署代码中删除 secret 不仅仅是在 CI/CD 管道中替换它的位置。如果文件系统受到破坏,访问配置文件会进一步破坏您的基础设施。通过 Azure,我们能够使用托管服务标识,它在系统运行和天蓝色事件目录的基础硬件上创建信任。这消除了在任何一点将任何 secret 存储在配置中的需要,包括访问 Key Vault 的 secret 。 Azure 函数可以利用这一点,但这仅在应用程序的启动/运行时有帮助。触发功能仍然依赖于触发,甚至到达该点,这会导致少量曝光表面。

我唯一能做的就是为触发器创建一个 RBAC,该触发器的权限集极其有限。将其添加为函数中的触发器,然后让函数在启动时通过 keystore 加载扩展权限 RBAC。这是一个不幸的解决方法,但我看不到另一种方法来做到这一点,同时保持我们系统的安全性。

关于azure-functions - 来自 KeyVault 的 Azure Function BlobTrigger 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50088275/

相关文章:

c# - Azure函数不运行异步方法

Azure函数: confusion about remote build and run from package

azure - 保护资源连接数据/字符串以供 Azure 中的微服务使用

c# - 无法从桌面控制台应用程序访问 Azure Key Vault

sql-server - 将 Always Encrypted 与 Entity Framework 和 Azure Key Vault 结合使用

c# - Azure Key Vault 环境变量

Azure Functions - 事件中心不触发函数

Azure函数: Maximum number of instances on consumption plan

azure - 是否可以在 Azure Function App 中为不同的队列触发器设置不同的设置?

azure - 无法在同一 Arm 模板中引用 Key Vault 的用户分配身份的principalId