ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Node Metadata Protection--节点的元数据保护

2021-05-13 22:53:24  阅读:171  来源: 互联网

标签:Node kubectl -- 节点 访问 数据保护 数据 id metadata


image.png

1. 关于元数据

kubernets集群不管是运行与公有云还是私有云,都是有些元数据的资源的各种各样的标签。比如镜像id,网络设备id,硬盘的唯一id等。

2. 举一个例子

2.1 cloud platform node metadata 云平台节点元数据

  1. 拿谷歌云和亚马逊云来说
  2. 默认的情况下可以从虚拟机vm(云主机)访问元数据服务的api
  3. 元数据中保护有vm节点(云主机)的各种凭据信息。如网络id,镜像id vpcid.硬盘等待各种相关信息。具体详细度要看云商平台或者私有云架构
  4. 可以包含诸如kubelet凭证之类的置备数据

image.png

2.2 access sensitive node metadta 访问敏感节点元数据的原则

2.2.1 最常说的权限控制原则

  1. Limitat permissions for instance credentials 权限最小化原则。
  2. 确保cloud-instance-account仅具有必要的权限
  3. 每个云提供商都应遵循一系列建议
  4. 权限控制不在kubernetes中

image.png

3. restrict access using networkpolicies 使用网络策略限制访问

image.png

3.1 限制访问云商的元数据

image.png
由于没有谷歌云拿腾讯云意淫下了,可能理解的不是很对。往指教:
翻了下腾讯云的文档关于元数据也有文档:https://cloud.tencent.com/document/product/213/4934?from=10680
image.png
就简单的证明一下,node节点和pod节点都可以访问云商的源数据。相对于谷歌云的文档,腾讯的还是略简单,想比着课程查询下硬盘,貌似还是没有这接口的。不过觉得下面这话说的很对,能访问实例就可以查看元数据。关于元数据的安全也很重要啊…
image.png

3.2通过networkpolicy 限制对元数据的访问

ping metadata.tencentyun.com得到medata的地址169.254.0.23,依然是命名空间级别的限制
image.png

kubectl apply -f deny.yaml
kubectl -n metadata  exec nginx -it bash
curl http://metadata.tencentyun.com/latest/meta-data/instance/image-id

OK,如下图获取不了元数据中的镜像id了
image.png
然后我如何运行一组pod去访问元数据呢?
image.png

kubectl apply -f allow.yaml

嗯 matchLabels我设置了一个不存在的,然后给pods加上labels

kubectl get pods --show-labels -n metadata
kubectl label pod nginx role=metadata-accessor -n metadata
kubectl get pods --show-labels -n metadata
kubectl -n metadata  exec nginx -it bash

image.png
OK,可以返回元数据了。now现在去掉role=metadata-accessor 的标签
image.png
验证通过,其实我觉这节课主要的还是再强调networkpolicy。不仅仅是元数据的保护。networkpolicy是很重要的基石。

标签:Node,kubectl,--,节点,访问,数据保护,数据,id,metadata
来源: https://blog.51cto.com/u_1153710/2774415

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有