我将如何检索 AWS ECS 任务定义的 Vault 密钥?
How would I go about retreiving Vault keys to AWS ECS Task Definitions?
这是一个愚蠢的问题,但如果您能就此主题提供帮助,我们将不胜感激。
我使用托管在 AWS 中的 Hashicorp Vault。我正在尝试找到一种使用 AWS ECS 的任务定义从 Vault 检索密钥的方法;但是,我没有看到任何关于此的信息。您可以使用 AWS Secrets Manager,但我们没有使用此服务。
是否最好使用 CI/CD 服务(例如 GitLab),从 Vault 检索机密,构建映像并发送到 AWS ECS?或者,有没有办法在 AWS ECS 上实施 Vault?
感谢阅读本文post。
ECS 与 Secrets Manager 的集成发生在 ECS 部署您的容器时。 ECS 将查找这些机密,并将它们作为环境变量注入到容器中。 ECS 没有任何 third-party 秘密查找支持,它仅支持 AWS Secrets Manager 和 AWS Parameter Store。
在构建时将秘密烘焙到图像中似乎是非常错误的。它会将您的图像锁定到特定环境,并在每次秘密更改时强制您创建新图像。这也意味着您的 docker 图像现在需要存储在与您的 HashiCorp Vault 服务器一样安全的地方。
将 HashiCorp Vault 与 AWS ECS 集成的推荐方法是向您的 ECS 任务定义添加一个边车容器,它在任务启动时查找 Vault 中的秘密,并使这些秘密可供您在任务。这已记录在案 here。
但是,在该官方解决方案中,出于某种原因,他们正在使用共享的 EFS 卷。这对我来说似乎是非常错误的,因为这意味着您的 ECS 任务的多个实例将相互踩踏写入同一个 EFS 卷,并且无论如何都不需要将这些秘密写入容器外部的持久卷。我会修改该解决方案以简单地将 Vault 机密写入 ECS 任务中容器之间共享的临时卷。
或者,只需修改 docker 映像中的启动脚本,在启动您的应用程序之前,首先连接到您的 Vault 以下载机密并使它们在容器中可用。
这是一个愚蠢的问题,但如果您能就此主题提供帮助,我们将不胜感激。
我使用托管在 AWS 中的 Hashicorp Vault。我正在尝试找到一种使用 AWS ECS 的任务定义从 Vault 检索密钥的方法;但是,我没有看到任何关于此的信息。您可以使用 AWS Secrets Manager,但我们没有使用此服务。
是否最好使用 CI/CD 服务(例如 GitLab),从 Vault 检索机密,构建映像并发送到 AWS ECS?或者,有没有办法在 AWS ECS 上实施 Vault?
感谢阅读本文post。
ECS 与 Secrets Manager 的集成发生在 ECS 部署您的容器时。 ECS 将查找这些机密,并将它们作为环境变量注入到容器中。 ECS 没有任何 third-party 秘密查找支持,它仅支持 AWS Secrets Manager 和 AWS Parameter Store。
在构建时将秘密烘焙到图像中似乎是非常错误的。它会将您的图像锁定到特定环境,并在每次秘密更改时强制您创建新图像。这也意味着您的 docker 图像现在需要存储在与您的 HashiCorp Vault 服务器一样安全的地方。
将 HashiCorp Vault 与 AWS ECS 集成的推荐方法是向您的 ECS 任务定义添加一个边车容器,它在任务启动时查找 Vault 中的秘密,并使这些秘密可供您在任务。这已记录在案 here。
但是,在该官方解决方案中,出于某种原因,他们正在使用共享的 EFS 卷。这对我来说似乎是非常错误的,因为这意味着您的 ECS 任务的多个实例将相互踩踏写入同一个 EFS 卷,并且无论如何都不需要将这些秘密写入容器外部的持久卷。我会修改该解决方案以简单地将 Vault 机密写入 ECS 任务中容器之间共享的临时卷。
或者,只需修改 docker 映像中的启动脚本,在启动您的应用程序之前,首先连接到您的 Vault 以下载机密并使它们在容器中可用。