第 3 章 使用事件监听程序保护 Webhook
作为管理员,您可以使用事件监听程序保护 Webhook。创建命名空间后,您可以通过将 operator.tekton.dev/enable-annotation=enabled
标签添加到命名空间,为 Eventlistener
资源启用 HTTPS。然后,您可以使用重新加密的 TLS 终止创建 Trigger
资源和安全路由。
Red Hat OpenShift Pipelines 中的触发器支持不安全的 HTTP 和安全 HTTPS 连接到 Eventlistener
资源。HTTPS 保护集群内部和外部的连接。
Red Hat OpenShift Pipelines 运行 tekton-operator-proxy-webhook
pod,用于监视命名空间中的标签。当您将标签添加到命名空间时,webhook 在 EventListener
对象上设置 service.beta.openshift.io/serving-cert-secret-name=<secret_name>
注解。这反过来会创建 secret 和所需的证书。
service.beta.openshift.io/serving-cert-secret-name=<secret_name>
另外,您可以将创建的 secret 挂载到 Eventlistener
pod 中,以保护请求。
3.1. 提供与 OpenShift 路由的安全连接
要使用重新加密的 TLS 终止创建路由,请运行:
$ oc create route reencrypt --service=<svc-name> --cert=tls.crt --key=tls.key --ca-cert=ca.crt --hostname=<hostname>
或者,您可以创建一个重新加密的 TLS 终止 YAML 文件来创建安全路由。
重新加密 TLS 终止 YAML 示例,以创建安全路由
apiVersion: route.openshift.io/v1 kind: Route metadata: name: route-passthrough-secured 1 spec: host: <hostname> to: kind: Service name: frontend 2 tls: termination: reencrypt 3 key: [as in edge termination] certificate: [as in edge termination] caCertificate: [as in edge termination] destinationCACertificate: |- 4 -----BEGIN CERTIFICATE----- [...] -----END CERTIFICATE-----
您可以运行 oc create route reencrypt --help
命令显示更多选项。