秘密如何保护Kubernetes中的敏感信息

时间:2018-09-01 04:06:15

标签: kubernetes kubernetes-secrets

我对Kubernetes很新鲜。

我对secret的理解是,它通过base64对信息进行编码。从我所看到的资源来看,据称secret可以保护敏感信息。我不明白这一点。

除了使用base64编码信息外,我没有看到secretconfigMap之间的任何实际区别。而且,我们可以如此轻松地解码base64编码的信息。这意味着根本没有保护...

我的理解错误吗?

1 个答案:

答案 0 :(得分:3)

保护Secret的事实是,它是kubernetes中的独特资源类型,因此可以受制于ConfigMap以外的RBAC策略。

如果您当前能够读取集群中的Secret,那是因为您的ClusterRoleBinding(或RoleBinding)具有专门授予对这些资源的访问权限的规则。可能是由于您从主节点之一通过其“未经身份验证”的端口访问群集,也可能是由于[{Cluster] RoleBindingSubject附加到{{1} },这在问候世界中可能很常见,但是我想在生产集群设置中不太常见。

那是一个ped脚的答案,但是,真的保护cluster-admin中包含的秘密是比较棘手的,因为它们通常通过环境注入或卷安装。这意味着有权Secret访问Pod的任何人都可以很容易地泄露机密值,因此,如果机密非常重要,并且甚至必须保留在团队中,则您需要撤销{ {1}}也可以访问您的exec。一个中间立场可能是授予团队访问他们自己Pod中的exec的权限,但禁止其他Pod进行访问。它是安全的,因此排列和特殊情况几乎没有止境。