「应用安全」Secrets Manager ,Hashicorp Vault ,Parameter Store

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 「应用安全」Secrets Manager ,Hashicorp Vault ,Parameter Store

当您在DevOps实践中越来越快地前进时,就会遇到一个小问题。在系统安全、管理和更新方面,这个问题可能会让你付出很大代价。应用程序参数/配置;这些实际上决定了我们的应用程序如何运行。它跨越数据库连接,以登录RabbitMQ凭据和其他秘密凭据。作为一种安全实践,在将代码提交给VCS(版本控制系统)时,您不希望这些凭据在您的代码库中可见。保护这些凭证的方法之一是使用可以注入到特定环境中的环境变量,您需要这些秘密和配置,而不是使用值本身。还需要有一个地方,这些数据需要存储的安全保管,并在可能的情况下加密存储的地方。

我们将看到DevOps工程师使用的这3个秘密存储解决方案。这些方法各有利弊,我们将用以下标准来分析它们:

  1. 成本。
  2. 安全
  3. API / SDK集成
  4. 功能

成本

AWS Secrets Manager

这是一个由AWS管理的服务,根据AWS的定价,这项服务每个秘密每月花费0.40美元,每10,000个API调用花费0.05美元。出于上下文目的,如果您存储了100个秘密(密码、API密匙等),则每月支付40美元;如果您在一个月内通过40000个API调用请求该秘密的值,则每月支付0.2美元。更多的在这里

Hashipcorp’s Vault

这是一个开源工具。这意味着你负责设置和扩展服务。您将需要在虚拟机上进行设置,您使用的VM将确定更新所涉及的成本和其他操作成本,从而保护安装和配置Vault的服务器。

AWS Parameter Store

它仍然是AWS上的托管服务,但这次是在一个名为Systems Manager的特性下。基本上是免费的。你刚才看到了吗?是的,我的意思是不花钱。在这里看到的

安全

AWS Secrets Manager

机密管理器是一项全新的服务,它完全由AWS管理,其中存储的证书的安全性与AWS帐户上的IAM访问绑定在一起。您还可以将secret Manager与AWS KMS集成。这有助于加密存储的数据。secret Manager还提供了一个秘密旋转功能,允许您自动旋转API密钥、密码等。这可以配置和连接一个Lambda函数来帮助旋转。

Hashipcorp’s Vault

与vault应用程序的安全性有关的所有事情都完全由用户负责。Vault将密码存储在安装它的机器中,并对数据进行加密。支持多种后台存储;文件系统,AWS S3, Azure,谷歌云存储,MongoDB。更多的在这里

这里的秘密旋转特性(https://www.vaultproject.io/docs/internals/rot.html)

AWS Parameter Store

就像secret Manager一样,安全是与AWS中的IAM帐户绑定的。所有请求都是通过API或CLI发出的。这两个密钥都是从控制台生成并使用的。没有任何类型的秘密旋转特性,除非您想自定义一个。

API / SDK集成

在这里,它们都有api和sdk来检索存储的密钥。所以他们都通过了

一般特征

AWS Secrets Manager

  • -在AWS上安全储存机密
  • -允许对通过KMS存储的密钥进行加密
  • -键旋转可以配置在一个特定的周期
  • -权限管理(IAM)

Hashipcorp’s Vault

  • -在文件系统或数据库中存储秘密
  • -加密即服务
  • -权限管理

AWS Parameter Store

  • -在AWS上安全储存机密
  • -允许对通过KMS存储的密钥进行加密
  • -权限管理(IAM)

基于这些特性。你可以选择你可以用来存储和检索你的秘密。但重要的是要有一个库来存储密码、API密钥和连接字符串。

相关文章
|
2月前
|
存储 JSON API
【Azure Cloud Service】使用Key Vault Secret添加.CER证书到Cloud Service Extended Support中
由于Key Vault仅支持上传pfx格式的证书,而中间证书和根证书通常为crt或cer格式,无法直接转换为pfx。因此,将完整的证书链上传至Key Vault后,只能显示服务器证书的指纹,无法直接在Cloud Service (Extended Support)中修改。解决方法是先将中间证书和根证书存储在Key Vault Secrets中,再通过调用Cloud Service API更新证书配置。具体步骤包括准备证书文件、将证书内容JSON格式化并使用az cli命令设置到Key Vault Secret中,最后通过API更新Cloud Service信息。
|
4月前
|
存储 安全 BI
【Azure Storage Account】使用Azure Policy来检查Storage Account中是否有开启匿名访问的Container
【Azure Storage Account】使用Azure Policy来检查Storage Account中是否有开启匿名访问的Container
【Azure Storage Account】使用Azure Policy来检查Storage Account中是否有开启匿名访问的Container
|
3月前
【Azure Policy】分享Policy实现对Azure Activity Log导出到Log A workspace中
在Policy Rule部分中,选择资源的类型为 "Microsoft.Resources/subscriptions", 效果使用 DeployIfNotExists (如果不存在,则通过修复任务进行修正。 在 existenceCondition 条件中,如果当前订阅已经启用了 diagnostic setting并且输出日志到同一个Log A workspace,表示满足Policy要求,不需要进行修正。 在 deployment 中,使用了 ARM 模板, 为订阅添加Diagnostic Setting并且所有的日志Category均启用。
|
4月前
|
Java 开发工具
【Azure Developer】Java代码访问Key Vault Secret时候的认证问题,使用 DefaultAzureCredentialBuilder 或者 ClientSecretCredentialBuilder
【Azure Developer】Java代码访问Key Vault Secret时候的认证问题,使用 DefaultAzureCredentialBuilder 或者 ClientSecretCredentialBuilder
|
4月前
|
Java
【Azure 应用服务】在App Service 中如何通过Managed Identity获取访问Azure资源的Token呢? 如Key Vault
【Azure 应用服务】在App Service 中如何通过Managed Identity获取访问Azure资源的Token呢? 如Key Vault
|
4月前
|
数据中心 容器
【Azure 应用服务】在创建App Service时,遇见“No available instances to satisfy this request. App Service is attempting to increase capacity.”错误
【Azure 应用服务】在创建App Service时,遇见“No available instances to satisfy this request. App Service is attempting to increase capacity.”错误
|
4月前
|
API 网络架构 开发者
【Azure Developer】使用 CURL 获取 Key Vault 中 Secrets 中的值
【Azure Developer】使用 CURL 获取 Key Vault 中 Secrets 中的值
|
4月前
|
Shell PHP Windows
【Azure App Service】Web Job 报错 UNC paths are not supported. Defaulting to Windows directory.
【Azure App Service】Web Job 报错 UNC paths are not supported. Defaulting to Windows directory.
|
4月前
|
存储 Linux API
【Azure 应用服务】Azure App Service能否使用Storage Account File Share
【Azure 应用服务】Azure App Service能否使用Storage Account File Share
|
4月前
|
存储 数据安全/隐私保护
【Azure 环境】Azure Key Vault (密钥保管库)中所保管的Keys, Secrets,Certificates是否可以实现数据粒度的权限控制呢?
【Azure 环境】Azure Key Vault (密钥保管库)中所保管的Keys, Secrets,Certificates是否可以实现数据粒度的权限控制呢?