我正在使用 Postgres Amazon RDS 和 Amazon ECS 来运行我的 docker 容器。问题是。将RDS数据库的用户名和密码获取到ECS上运行的docker容器中的最佳实践是什么?
我看到几个选项:
- 将凭据构建到 docker 映像中。我不喜欢这样,从那时起每个有权访问图像的人都可以获得密码。
- 将凭据放在 ECS 的自动扩展组使用的启动配置的用户数据中。使用这种方法,在我的 ECS 集群上运行的所有 docker 映像都可以访问凭据。我也不是很喜欢。这样,如果黑帽在我的任何服务(甚至是不使用数据库的服务)中发现安全漏洞,他将能够获取数据库的凭据。
- 将凭证放入 S3 并使用 ECS 服务器具有的 IAM 角色控制对该存储桶的访问限制。与将它们放入用户数据中的缺点相同。
- 将凭证放入 ECS 的任务定义中。我在这里看不到任何缺点。
您对执行此操作的最佳方法有何看法?我错过了任何选择吗?
问候,托拜厄斯