我需要加强 Kuberenets 中已部署 CRD 的 RBAC。我想知道我是否可以删除所有现有角色和绑定,然后监控被禁止的访问。
不幸的是,kube-apiserver 没有审计日志设置,如果可能的话,我想避免修改静态安装的 kube-apiserver。
到目前为止,我尝试从 apiserver 获取信息指标和日志。
- 该指标仅包含 200 和 404 请求,缺少 403 请求,没有关于调用者的信息,动词也与 k8s 术语不匹配,而这才是重要的。
{code="404",component="apiserver",contentType="application/json",endpoint="https",group="networking.k8s.io",instance="123.123.123.123:6443",job="apiserver",namespace="default",resource="ingresses",scope="resource",service="kubernetes",verb="GET",version="v1"}
- 日志看起来很冗长,但没有太多有用的信息。至少与我对 http 服务器的期望相差甚远。
答案1
删除所有角色和相应的绑定是一项高风险操作,可能会阻止授权或已知用户访问资源。强烈建议谨慎行事,并制定备用计划,以防出现意外后果。
您可以使用日志服务器(例如Graylog 服务器,弹性堆栈 kubernetes等)来导出日志并进一步分析和研究集群的行为。
另一方面,你可以使用法尔科检查集群的安全完整性和开放政策代理帮助您应用 RBAC 配置。这些是 CNCF 开源项目。除了上述应用程序之外,您还可以使用其他同样是开源项目的产品。