容器内部操作审计功能可以审计组织内成员或应用程序进入容器后执行的命令操作。本文介绍如何使用容器内部操作审计功能,以及如何通过日志服务收集分析审计日志,并根据需求为审计日志设置自定义的告警规则。
计费说明
容器内部操作审计功能可以免费使用。开通容器内部操作审计功能后,使用日志服务SLS的相关功能,会产生相关费用。日志服务相关计费信息,请参见计费概述。
该功能通过白名单开放中,如需使用,请提交工单。
使用限制
集群类型:仅支持ACK托管集群Pro版、ACK托管集群基础版、ACK专有集群。
集群版本及操作系统限制:仅支持内核版本大于4.19的Alibaba Cloud Linux、Ubuntu、ContainerOS操作系统。
Alibaba Cloud Linux:集群版本为1.18及以上。
ContainerOS:集群版本为1.24及以上。
Ubuntu:
集群版本为1.30及以上。如需升级集群,请参见手动升级集群。
节点初始化时,会关闭操作系统自动升级。
节点初始化时,把
/etc/resolv.conf软连接指向到/run/systemd/resolve/stub-resolv.conf,将 DNS服务器指向 DHCP配置。目前不支持CPFS存储卷、镜像加速插件、安全加固等功能。
步骤一:启用容器内部操作审计功能
可通过以下步骤开启容器内部操作审计功能。启用此功能后,将安装以下两个组件。
日志采集组件:将审计日志收集到日志服务并创建默认的审计报表。
ack-advanced-audit组件:实现容器内操作审计。
默认将在日志采集组件使用的日志Project中创建一个名为advaudit-${cluster_id}的日志库,用于保存审计日志。该日志库数据的保存时间为180天。如需修改日志保存时间,请参见管理Logstore。
登录容器服务管理控制台,在左侧导航栏选择集群列表。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择。
在审计页面单击容器审计页签,然后单击开始安装。
步骤二:查看审计报表
在审计页面单击容器审计页签,然后单击容器内审计概览页签,查看审计报表内容。
查看进入Pod容器的次数以及相关Pod信息。

执行操作的Kubernetes操作账号信息、进入容器后执行的命令列表以及常见的高危列表。



步骤三:查看详细日志记录
可通过以下两种方式查看详细的日志记录。
在审计报表页面查看:适用于查看最近的单个事件的日志记录。
在日志库页面通过查询语句查看:适用于复杂场景,查看更多的历史信息以及历史事件。
在审计报表页面查看
在容器内审计概览报表页面,通过单击风险程序操作列表区域的traceId和eventId表格列的链接,查看对应审计日志的详细信息。
单击traceId表格列的链接,可以查看单次进入容器后执行的所有操作命令的审计日志。
单击eventId表格列的链接,可以查看执行的单个命令的详细信息。
在日志库页面通过查询语句查看
在容器内审计日志查询页面,通过查询语句查看详细的审计日志记录。
登录容器服务管理控制台,在左侧导航栏选择集群列表。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择。
在审计页面单击容器审计页签,然后单击容器内审计日志查询页签。
在输入框中输入查询和分析语句。
查询进入某个Pod的容器后执行的命令操作审计日志:输入* and k8s.pod.namespace: <namespace> and k8s.pod.name: <pod_name>,将<namespace>替换为Pod所在的命名空间,<pod_name>替换为Pod的名称。
查询执行指定程序的操作审计日志:输入* and process.name: <name>,将<name>替换为待查找的程序名称。
更多查询统计方式,请参见日志服务查询分析方法。
设置查询分析的时间范围,然后单击查询/分析,查看分析结果。
(可选)步骤四:配置操作审计告警
通过日志服务的告警功能,您可以配置容器内部操作审计的实时告警,便于监控容器内关键的操作事件。告警方式支持钉钉机器人、自定义Webhook和通知中心。更多告警配置方式,请参见告警。
关闭容器内部操作审计功能
可通过卸载ack-advanced-audit组件关闭容器内部操作审计功能。
关闭容器内部操作审计功能,不会删除自动创建的advaudit-${cluster_id}日志库,需要登录日志服务控制台手动删除该日志库,请参见停止计费/删除Logstore。
登录容器服务管理控制台,在左侧导航栏选择集群列表。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,单击组件管理。
在组件管理页面,搜索ack-advanced-audit组件,单击组件右下方的卸载,按照页面提示完成卸载。
相关文档
关于ack-advanced-audit的发布记录及说明,请参见ack-advanced-audit。
API Server审计日志功能能够帮助集群管理人员排查“什么人在什么时间对什么资源做了什么操作”,请参见使用集群API Server审计功能。