Kubernetes Kyverno
Tip
学习并练习 AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
学习并练习 GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
学习并练习 Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
支持 HackTricks
- 查看 subscription plans!
- 加入 💬 Discord group 或者 telegram group 或 关注 我们的 Twitter 🐦 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud github 仓库 提交 PRs 来分享 hacking tricks。
本页面的原作者是 Guillaume
定义
Kyverno 是一个开源的 Kubernetes 策略管理框架,使组织能够在其整个 Kubernetes 基础设施中定义、执行和审计策略。它提供了一个可扩展、可扩展且高度可定制的解决方案,用于管理 Kubernetes 集群的安全性、合规性和治理。
用例
Kyverno 可以用于多种用例,包括:
- 网络策略执行:Kyverno 可用于执行网络策略,例如允许或阻止 pod 或服务之间的流量。
- 秘密管理:Kyverno 可用于执行秘密管理策略,例如要求秘密以特定格式或位置存储。
- 访问控制:Kyverno 可用于执行访问控制策略,例如要求用户具有特定角色或权限才能访问某些资源。
示例:ClusterPolicy 和 Policy
假设我们有一个包含多个命名空间的 Kubernetes 集群,我们希望执行一项政策,要求 default 命名空间中的所有 pod 都具有特定标签。
ClusterPolicy
ClusterPolicy 是定义整体政策意图的高级政策。在这种情况下,我们的 ClusterPolicy 可能如下所示:
apiVersion: kyverno.io/v1
kind: ClusterPolicy
metadata:
name: require-label
spec:
rules:
- validate:
message: "Pods in the default namespace must have the label 'app: myapp'"
match:
any:
- resources:
kinds:
- Pod
namespaceSelector:
matchLabels:
namespace: default
- any:
- resources:
kinds:
- Pod
namespaceSelector:
matchLabels:
namespace: default
validationFailureAction: enforce
当在 default 命名空间中创建一个没有标签 app: myapp 的 pod 时,Kyverno 将阻止该请求并返回一条错误消息,指示该 pod 不符合策略要求。
References
Tip
学习并练习 AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
学习并练习 GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
学习并练习 Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
支持 HackTricks
- 查看 subscription plans!
- 加入 💬 Discord group 或者 telegram group 或 关注 我们的 Twitter 🐦 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud github 仓库 提交 PRs 来分享 hacking tricks。
HackTricks Cloud

