容器安全:秘密传递与运行时保护
1. 向容器传递秘密
应用程序代码通常需要特定的凭证(即秘密)来完成其工作,如访问数据库的密码或访问特定 API 的令牌。这些秘密的存在是为了限制对资源的访问,确保只有真正需要的人或组件才能获取。
- 秘密的特性
- 保密性 :秘密必须加密存储,在传输过程中也应加密,避免被嗅探。理想情况下,秘密不应以未加密形式写入磁盘,仅在应用程序需要时保存在内存中。然而,加密秘密后,接收方需要解密密钥,这又带来了新的秘密传递问题。
- 可撤销性 :当秘密不再可信时,应能够撤销,例如怀疑有人未经授权访问了秘密,或者团队成员离职。
- 可轮换性 :定期更换秘密可以降低被攻击的风险,软件组件能够适应频繁更换的凭证。
- 生命周期独立性 :秘密的生命周期应独立于使用它的组件,这样在秘密更改时无需重新构建和分发组件。
- 访问限制 :能够访问秘密的人员通常比访问应用程序源代码或进行部署和管理的人员少。理想情况下,只有需要访问秘密的软件组件才能读取它。
- 将信息传入容器的方法
- 将秘密存储在容器镜像中 :这种方法不适合存储秘密,因为在构建时将秘密硬编码到镜像中,任何有权访问镜像源代码的人都可以看到秘密。而且,除非重新构建镜像,否则秘密无法更改,集中式自动化的秘密管理系统也无法控制硬编码的秘密的生
超级会员免费看
订阅专栏 解锁全文
170万+

被折叠的 条评论
为什么被折叠?



