第 6 章 简化事件路由
简化事件路由可让 Event-Driven Ansible 控制器使用事件流从各种远程系统捕获和分析数据。使用事件流,您可以从如 GitHub 或 GitLab 等远程系统发送事件到 Event-Driven Ansible 控制器。您可以通过在规则手册中交换源,将 1 个或更多个事件流附加到激活中。
事件源是将您的源连接到您的规则手册的简单方法。通过此功能,您可以创建一个端点来从事件源接收警报,然后在多个规则手册中使用事件。
6.1. 事件流
事件流可以将事件从远程系统发送到 Event-Driven Ansible 控制器。在典型的集合中,服务器通过互联网将数据发送到事件流,再到 Event-Driven Ansible 事件流接收器。当数据通过互联网时,请求必须经过身份验证。根据 webhook 供应商或远程系统,验证方法可能会有所不同。
event-Driven Ansible 控制器支持 7 个不同的事件流类型。
类型 | 描述 | Vendor |
---|---|---|
HMAC | 散列消息身份验证代码(HMAC)。在 Event-Driven Ansible 控制器和供应商 webhook 服务器之间使用共享 secret。这保证了消息的完整性。 | GitHub |
基本身份验证 | 使用 HTTP 基本身份验证。 | Datadog, Dynatrace |
令牌身份验证 | 使用令牌身份验证。通常,HTTP 标头是 Authorization,但 Gitlab 等供应商使用 X-Gitlab-Token。 | GitLab, ServiceNow |
OAuth2 | 使用 Machine-to-Machine (M2M)模式,以及名为 client credentials 的授权类型。令牌不透明。 | Dynatrace |
使用 JWT 的 OAuth2 | 使用 M2M 模式以及名为 client credentials 的授权类型。令牌是 JSON Web Token (JWT)。 | Datadog |
ECDSA | Elliptic Curve Digital Signature Algorithm | SendGrid, Twilio |
双向 TLS | 需要供应商的 CA 证书在启动时存在于我们的服务器中。这支持 non-repudiation。 | PagerDuty |
event-Driven Ansible 控制器还支持 4 个基于 7 个基本事件流类型的特殊事件流:
- GitLab 事件流
- GitHub 事件流
- ServiceNow 事件流
- Dynatrace 事件流
这些专用类型限制了您通过添加默认值的参数。例如,GitHub Event Stream 是 HMAC 事件流的分类,其中有许多字段已经填充。保存 GitHub Event Stream 凭证后,会显示 GitHub 事件流的建议默认值。