第 5 章 使用通用 Webhook 集成
使用 Red Hat Advanced Cluster Security for Kubernetes,您可以将警报通知作为 JSON 消息发送到任何 webhook 接收器。发生违反情况时,Red Hat Advanced Cluster Security for Kubernetes 在配置的 URL 上发出 HTTP POST 请求。POST 请求正文包含有关警报的 JSON 格式信息。
Webhook POST 请求的 JSON 数据包含 v1.Alert
对象和您配置的任何自定义字段,如下例所示:
{ "alert": { "id": "<id>", "time": "<timestamp>", "policy": { "name": "<name>", ... }, ... }, "<custom_field_1>": "<custom_value_1>" }
您可以创建多个 Webhook。例如,您可以创建一个 webhook 来接收所有审计日志,另一个 webhook 用于警报通知。
将 Red Hat Advanced Cluster Security for Kubernetes 的警报转发到任何 Webhook 接收器:
- 设置用于接收警报的 webhook URL。
- 使用 Webhook URL 在 Red Hat Advanced Cluster Security for Kubernetes 中设置通知。
- 识别您要发送通知的策略,并更新这些策略的通知设置。
5.1. 使用 Webhook 配置集成
使用 webhook URL 在 Red Hat Advanced Cluster Security for Kubernetes 中创建新集成。
流程
-
在 RHACS 门户网站中,进入 Platform Configuration
Integrations。 - 向下滚动到 Notifier Integrations 部分,然后选择 Generic Webhook。
- 点 New integration。
- 输入 集成名称。
- 在 Endpoint 字段中输入 Webhook URL。
如果您的 webhook 接收器使用不可信证书,请在 CA certificate 字段中输入 CA 证书。否则,请将其留空。
注意Webhook 接收器使用的服务器证书必须对端点 DNS 名称有效。您可以点 跳过 TLS 验证 来忽略这个验证。红帽不推荐关闭 TLS 验证。如果没有 TLS 验证,数据可以被意外的接收者拦截。
可选:点 Enable audit logging 来接收有关 Red Hat Advanced Cluster Security for Kubernetes 中所有更改的警报。
注意红帽建议将单独的 Webhook 用于警报和审计日志,以以不同的方式处理这些消息。
要使用 webhook 接收器进行身份验证,请输入以下之一的详情:
- 用于基本 HTTP 验证的用户名和密码
-
自定义 Header,例如:
Authorization: Bearer <access_token>
-
使用 Extra 字段在 Red Hat Advanced Cluster Security for Kubernetes 发送的 JSON 对象中包含额外的键值对。例如,如果您的 webhook 接收器接受多个源的对象,您可以添加
"source": "rhacs"
作为额外字段,并过滤这个值来识别 Red Hat Advanced Cluster Security for Kubernetes 的所有警报。 - 选择 Test 来发送测试消息,以验证与您的通用 Webhook 集成是否正常工作。
- 选择 Save 以创建配置。