×

Red Hat Advanced Cluster Security for Kubernetes 提供审计日志记录功能,您可以使用该功能检查在 Red Hat Advanced Cluster Security for Kubernetes 中所做的所有更改。审计日志捕获所有PUTPOST事件,这些事件是对 Red Hat Advanced Cluster Security for Kubernetes 的修改。使用此信息来排查问题或记录重要事件,例如角色和权限的更改。通过审计日志记录,您可以全面了解 Red Hat Advanced Cluster Security for Kubernetes 上发生的所有正常和异常事件。

审计日志记录默认情况下未启用。您必须手动启用审计日志记录。

目前,审计日志消息没有消息传递保证。

启用审计日志记录

启用审计日志记录后,每次修改时,Red Hat Advanced Cluster Security for Kubernetes 都会向配置的系统发送一条 HTTP POST 消息(JSON 格式)。

前提条件
  • 配置 Splunk 或其他 webhook 接收器以处理 Red Hat Advanced Cluster Security for Kubernetes 日志消息。

  • 您的角色必须具有对**通知器**资源的写入权限。

步骤
  1. 在 RHACS 门户中,转到**平台配置** → **集成**。

  2. 向下滚动到**通知器集成**部分,然后选择**通用 Webhook** 或**Splunk**。

  3. 填写所需信息并打开**启用审计日志记录**开关。

审计日志消息示例

日志消息具有以下格式

{
  "headers": {
    "Accept-Encoding": [
      "gzip"
    ],
    "Content-Length": [
      "586"
    ],
    "Content-Type": [
      "application/json"
    ],
    "User-Agent": [
      "Go-http-client/1.1"
    ]
  },
  "data": {
    "audit": {
      "interaction": "CREATE",
      "method": "UI",
      "request": {
        "endpoint": "/v1/notifiers",
        "method": "POST",
        "source": {
          "requestAddr": "10.131.0.7:58276",
          "xForwardedFor": "8.8.8.8",
        },
        "sourceIp": "8.8.8.8",
        "payload": {
          "@type": "storage.Notifier",
          "enabled": true,
          "generic": {
            "auditLoggingEnabled": true,
            "endpoint": "http://samplewebhookserver.com:8080"
          },
          "id": "b53232ee-b13e-47e0-b077-1e383c84aa07",
          "name": "Webhook",
          "type": "generic",
          "uiEndpoint": "http://127.0.0.1:8000"
        }
      },
      "status": "REQUEST_SUCCEEDED",
      "time": "2019-05-28T16:07:05.500171300Z",
      "user": {
        "friendlyName": "John Doe",
        "role": {
          "globalAccess": "READ_WRITE_ACCESS",
          "name": "Admin"
        },
        "username": "[email protected]"
      }
    }
  }
}

请求的源 IP 地址显示在源参数中,这使您可以更轻松地调查审计日志请求并识别其来源。

为了确定请求的源 IP 地址,RHACS 使用以下参数:

  • xForwardedFor:X-Forwarded-For 头部。

  • requestAddr:远程地址头部。

  • sourceIp:HTTP 请求的 IP 地址。

源 IP 地址的确定取决于您如何对外公开 Central。您可以考虑以下选项:

  • 如果您在负载均衡器后面公开 Central,例如,如果您使用 Kubernetes 外部负载均衡器服务类型在 Google Kubernetes Engine (GKE) 或 Amazon Elastic Kubernetes Service (Amazon EKS) 上运行 Central,请参阅 保留客户端源 IP

  • 如果您使用转发请求的 X-Forwarded-For 头部 的 Ingress 控制器公开 Central,则无需进行任何配置更改。

  • 如果您使用 TLS 直通路由公开 Central,则无法确定客户端的源 IP 地址。集群内部 IP 地址将在源参数中显示为客户端的源 IP 地址。