欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 国际 > 【CKS最新模拟真题】NetworkPolicy限制对元数据服务器的访问

【CKS最新模拟真题】NetworkPolicy限制对元数据服务器的访问

2024/12/22 1:55:44 来源:https://blog.csdn.net/weixin_50902636/article/details/144327245  浏览:    关键词:【CKS最新模拟真题】NetworkPolicy限制对元数据服务器的访问

文章目录

  • 参考地址
  • 一、TASK
  • 二、问题解决过程
    • 1.问题一解题
    • 2.读入数据


参考地址

网络策略 https://kubernetes.io/zh-cn/docs/concepts/services-networking/network-policies/
网络策略字段 https://kubernetes.io/zh-cn/docs/reference/kubernetes-api/policy-resources/network-policy-v1/


一、TASK

Solve this question on: ssh cks3477

There is a metadata service available at http://192.168.100.21:32000 on which Nodes can reach sensitive data, like cloud credentials for initialisation. By default, all Pods in the cluster also have access to this endpoint. The DevSecOps team has asked you to restrict access to this metadata server.

In Namespace metadata-access:

Create a NetworkPolicy named metadata-deny which prevents egress to 192.168.100.21 for all Pods but still allows access to everything else

Create a NetworkPolicy named metadata-allow which allows Pods having label role: metadata-accessor to access endpoint 192.168.100.21

There are existing Pods in the target Namespace with which you can test your policies, but don’t change their labels.

中译
在以下位置解决此问题:ssh cks3477
有一个元数据服务可用http://192.168.100.21:32000, 节点可以通过该服务访问敏感数据,例如用于初始化的云凭证。默认情况下,集群中的所有 Pod 也可以访问此终端节点。DevSecOps 团队已要求您限制对此元数据服务器的访问。

1、在 命名空间metadata-access中 :
创建一个 名为metadata-deny 的 NetworkPolicy,该策略可以防止该空间下所有 Pod 访问元数据地址 egress to 192.168.100.21 ,但仍然允许访问其他所有内容

2、创建一个 名为 NetworkPolicy,允许 具有 label role: metadata-accessor 的 Pod 访问 到元数据服务器endpoint 192.168.100.21

目标 Namespace 中存在现有的 Pod,您可以使用这些 Pod 来测试您的策略,但不要更改它们的标签。

二、问题解决过程

1.问题一解题

过程如下(示例):

#按要求连接对应的集群
candidate@terminal:~$ ssh cks3477#切换到root用户下,防止普通用户操作写入文件没权限
candidate@cks3477:~$  sudo -icandidate@cks3477:~# vim netDeny.yaml
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:name: metadata-denynamespace: metadata-access
spec:podSelector: {}policyTypes:- Egressegress:- to:- ipBlock:cidr: 0.0.0.0/0except:- 192.168.100.21/32candidate@cks3477:~# kubectl apply -f netDeny.yaml

2.读入数据

过程如下(示例):

#按要求连接对应的集群
candidate@terminal:~$ ssh cks3477#切换到root用户下,防止普通用户操作写入文件没权限
candidate@cks3477:~$  sudo -icandidate@cks3477:~# vim netAllow.yaml
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:name: metadata-allownamespace: metadata-accessor
spec:podSelector:matchLabels:role: metadata-accessorpolicyTypes:- Egressegress:- to:- ipBlock:cidr: 192.168.100.21/32candidate@cks3477:~# kubectl apply -f netAllow.yaml

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com