使用 Secrets OPerationS 管理 Kubernetes 密钥

Kubernetes非常受欢迎,很大程度上要归功于它的灵活性。由于其模块化,它还可以快速部署。然而,为了保持这种模块化,您需要以流畅且可定制的方式构建云环境;这意味着确保 ConfigMap 和 Secret 的设计与基础设施无关。

您可能还会喜欢:  Kubernetes 秘密管理
特别是,秘密很容易与现有服务集成。您可以存储敏感的配置选项(包括令牌和用户 ID),以使容器尽可能易于部署。事实上,配置良好的 Secret 允许容器跨多个环境和集群部署。

保持最大灵活性需要解决的唯一挑战是秘密管理。虽然 Secrets 使用 Base64 进行编码,但您仍然不希望在 Secrets 中公开存储敏感信息。Base64 字符串仍然可以以最小的努力进行解码,因此需要更好的秘密管理。幸运的是,有一些工具可以帮助简化管理 Secret 的过程。

将 PostgreSQL 数据库与 ANF 无缝集成

想象一下无需支付任何许可费即可获得最高性能。加入我们即将举办的研讨会,了解Instaclustr 如何让您比以往更轻松地部署数据库等!

秘密行动作为解决方案
在管理 Kubernetes Secret 时,Secrets OPerationS等开源工具被认为是更好的选择。就 Mozilla Secrets OPerationS 而言,该工具不依赖于特定的云平台,这意味着您可以轻松地将其与 Amazon KMS 和 Google KMS 一起使用。SOPS 甚至设计为与 GPG 或对称密钥配合使用,因此您可以使用它来管理 Git 上的机密。

加密是 Mozilla SOPS 的另一个强项。虽然它不像 BlackBox 等工具那么复杂,但 Mozilla Secrets OPerationS 在加密整个 Secrets 文件方面效果非常好。它还可以很好地处理部分加密。更重要的是,您不必费力去完成这些任务。在处理基于键值的文件(例如 JSON 和 YAML)时,您甚至可以在不加密密钥的情况下加密值。

如前所述,Mozilla SOPS 与 Amazon 和 Google Secrets 管理工具配合得非常好。它可以无缝地从云端获取加密密钥,而且无需基于云的密钥即可用于加密 Secret。sops大多数操作都使用  简单的 命令;sops -d filename.yaml自动解密 .yaml 文件。

Secrets OPerationS和 Amazon KMS
Mozilla SOPS 和 Amazon KMS 的集成使该工具更加强大。您只需使用额外的参数即可使用KMS提供的云加密密钥。SOPS 自动加密 Secret 文件中每个密钥的值,同时保持密钥完好无损。结果是一个配置文件,可以安全地与您的代码一起存储。 –kms 

仅当授予对 Amazon KMS 的访问权限时,才能解密配置文件。该  –decrypt命令可让您无缝地利用加密密钥。当然,您可以使用附加命令将 Secret 文件推送到集群kubectl apply并强制使用 Secret 文件。Helm-secrets还使解密和注入 Kubernetes 机密的过程变得更加容易。

请记住,SOPS 现在是用 Go 编写的。使用 Python 开发的旧版本已不再使用,但如果您仍想使用它,可以在 GitHub 上访问该版本。关于 Mozilla SOPS 需要注意的另一件事是它缺乏依赖性。Mozilla Secrets OPerationS 可以独立运行,不依赖于其他工具或服务来运行。

在谈论 Mozilla SOPS 与 Amazon KMS 的使用时,我们确实不能不谈论该工具对密钥策略和加密上下文的支持。是的,您可以向加密过程添加角色、环境类型和其他详细信息等参数。轮换数据密钥以获得最大安全性就像运行  sops -r filename.yaml 命令一样简单。

附加功能
从我们到目前为止讨论的功能中,很容易看出 Mozilla SOPS 如何让您轻松管理 Kubernetes Secret。该工具还具有在敏捷开发周期中派上用场的附加功能。我个人最喜欢的是内置审核工具,它允许使用转发到数据库来记录事件。该功能设置起来有点困难,但是一旦正确配置了 /etc/sops/audit.yaml 文件,您就会发现该功能很有价值。

支持  $EDITOR是 SOPS 提供的另一个额外功能。正如该字符串所示,您可以自动解密 Secret 文件,并使用您指定的编辑器通过一个简单的命令打开它。解密过程是即时完成的,无需实际转换文件,因此您可以编辑 Secret,而无需解密和重新加密文件的常见麻烦。

为了完成该设置,SOPS 非常详细地管理存储库和文件权限。访问一个文件并不一定意味着访问整个存储库。该工具可让您非常细致地管理对存储库上的 Secret 和加密配置文件的访问。

使用 Mozilla Secrets OPerationS 管理 Kubernetes Secrets 非常简单。该工具提供的功能和命令可以更好地管理和共享机密,而不会增加安全风险。虽然还有其他工具旨在简化 Secret 管理,但 Mozilla SOPS 在高级控制和可用性之间提供了适当的平衡;如果您想更好地管理 Secrets,它绝对是一个值得研究的工具。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/106317.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DirectX绘制流水线

使用DirectX可以让在Windows平台上运行的游戏或多媒体程序获得更高的执行效率,掌握DirectX的基本概念和技术是虚拟现实技术、计算机仿真和3D游戏程序开发的基础。 DirectX概述 DirectX是微软的一个多媒体应用编程接口(API)工具包,用于为Windows操作系统…

数组——螺旋矩阵II

文章目录 一、题目二、题解 题目顺序:代码随想录算法公开课,b站上有相应视频讲解 一、题目 59. Spiral Matrix II Given a positive integer n, generate an n x n matrix filled with elements from 1 to n2 in spiral order. Example 1: Input: n …

十五届蓝桥杯软件和信息技术大赛

目录 🎈大赛奖项 (一)高校类 1. 软件赛 2. 电子赛 3. 视觉艺术设计赛 4. 数字科技创新赛 🎈奖项设置 🎈时间安排(预计) 🎈规则简介 🎈如何准备? &a…

EfficientDet: Scalable and Efficient Object Detection

CVPR2020 V7 Mon, 27 Jul 2020 引用量:243 机构:Google 贡献:1>提出了多尺度融合网络BiFPN 2>对backbone、feature network、box/class prediction network and resolution进行复合放缩,有着不同的…

在 VSCode 中使用 PlantUML

最近,因为工作需要绘制一些逻辑图,我自己现在使用的是 PlantUML 或者 mermaid,相比之下前者更加强大。不过它的环境也麻烦一些,mermaid 在一些软件上已经内置了。但是 PlantUML 一般需要自己本地安装或者使用远程服务器&#xff0…

Unity中Shader不同灯光类型的支持与区分

文章目录 前言一、在开始之前做一些准备1、在上一篇文章的场景基础上,增加一个Unity默认的球体作为对照组2、创建一个点光源,用来看点光源的影响 对 Unity默认的Shader效果 和 我们实现的Shader效果 之间的不同 二、点光源的适配把上一篇文章中 ForwardB…

R语言的计量经济学实践技术应用

计量经济学通常使用较小样本,但这种区别日渐模糊,机器学习在经济学领域、特别是经济学与其它学科的交叉领域表现日益突出,R语言是用于统计建模的主流计算机语言,在本次培训中,我们将从实际应用出发,重点从数…

【arm实验2】按键中断事件控制实验

设置按键中断,按键1按下,LED亮,再次按下,灭 按键2按下,蜂鸣器叫,再次按下,停 按键3按下,风扇转,再次按下,停 主函数: linuxlinux:~/study/08-c$…

指定显卡运行python脚本

指定显卡运行python脚本 指定显卡运行python脚本 指定显卡运行python脚本 CUDA_VISIBLE_DEVICES0 python infer.py

electron打包后主进程下载文件崩溃

electronvue3写了一个小项目,实现了一个文件下载功能 存在的问题 打包后,应用下载文件崩溃代码 // 渲染进程window.electron.ipcRenderer.invoke(save-file, {path: r.filePath,fileurl: previewUrl,}).then(response > {console.log(response ----…

八皇后问题的解析与实现

问题描述 八皇后问题是一个古老而又著名的问题。 时间退回到1848年,国际西洋棋棋手马克斯贝瑟尔提出了这样的一个问题: 在88格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问一共有多少种摆法。 如何找到这所有的…

【基础篇】四、本地部署Flink

文章目录 1、本地独立部署会话模式的Flink2、本地独立部署会话模式的Flink集群3、向Flink集群提交作业4、Standalone方式部署单作业模式5、Standalone方式部署应用模式的Flink Flink的常见三种部署方式: 独立部署(Standalone部署)基于K8S部署…

使用Tortoisegit界面拉起master主分支以副分支以及命令行操作

文章目录 1、Gui操作界面2、命令行操作3、合并分支到master分支上面 1、Gui操作界面 "小乌龟"通常指的是Git的图形用户界面(GUI)工具,其中比较常见的是TortoiseGit。下面是使用TortoiseGit来拉取(checkout)一…

数据结构(一)—— 数据结构简介

文章目录 一、基本概念和术语?1.1、数据1.2、数据元素1.3、数据项(属性、字段)1.4、数据对象1.5、数据结构 二、逻辑结构和物理结构(存储结构)2.1、逻辑结构1、定义2、分类(线性结构和非线性结构&#xff0…

Netty 入门 — 亘古不变的Hello World

这篇文章我们正式开始学习 Netty,在入门之前我们还是需要了解什么是 Netty。 什么是 Netty 为什么很多人都推崇 Java boy 去研究 Netty?Netty 这么高大上,它到底是何方神圣? 用官方的话说:Netty 是一款异步的、基于事…

四、K8S之Deployment

一、概述 在K8S中,Deployment是一种更高层级的控制器,用于管理应用程序的部署和更新。为 Pod和 ReplicaSet提供声明式的更新能力。比如: 部署ReplicaSet(副本集) 清理不再需要的旧版RS 扩展/缩小RS里的Pod数量 动态…

vue绑定style和class 对象写法

适用于:要绑定多个样式,个数确定,名字也确定,但不确定用不用。 绑定 class 样式【对象写法】: .box{width: 100px;height: 100px; } .aqua{background-color: aqua; } .border{border: 20px solid red; } .radius{bor…

【动态库】Ubuntu 添加动态库的搜索路径

在运行程序时,经常遇到下面这种动态库加载失败的情况,这时往往是系统在动态库的搜索路径下没有找到对应的库文件导致的。 目录 一、使用 LD_LIBRARY_PATH 二、修改 /etc/ld.so.conf 一、使用 LD_LIBRARY_PATH 环境变量 LD_LIBRARY_PATH是动态库的搜索…

Jenkins集成newman

一、Docker环境准备 二、Jenkins环境准备 三、登录Jenkins 安装NodeJs插件 四、Jenkins全局工具配置Nodejs 五、创建Jenkins自由风格项目 构建步骤1:选择Execute NodeJS script构建步骤2:选择执行shell脚本 六、将postman相关的脚本、环境变量数据、全局…

AndroidX项目接入穿山甲广告填坑

本文旨在记录初步接入过程遇到的一点点小问题,更详细的文档还是要参考官方文档。 一、项目版本 GradlePlugin:8.0.2 Gradle:8.0 Kotlin:1.7.20 compileSdk:34 compose-bom:2022.10.00 AS:2022.2.1 …