当前位置:网站首页 > 技术博客 > 正文

webhook使用



WebHook 是一种 HTTP 回调:某些条件下触发的 HTTP POST 请求;通过 HTTP POST 发送的简单事件通知。一个基于 web 应用实现的 WebHook 会在特定事件发生时把消息发送给特定的 URL。

具体来说,当在判断用户权限时, 模式会使 Kubernetes 查询外部的 REST 服务。

模式需要一个 HTTP 配置文件,通过 的参数声明。

配置文件的格式使用 kubeconfig。 在该文件中,“users” 代表着 API 服务器的 Webhook,而 “cluster” 代表着远程服务。

使用 HTTPS 客户端认证的配置例子:

在做认证决策时,API 服务器会 POST 一个 JSON 序列化的 对象来描述这个动作。这个对象包含了描述用户请求的字段,同时也包含了需要被访问资源或请求特征的具体信息。

需要注意的是 webhook API 对象与其他 Kubernetes API 对象一样都同样都遵从版本兼容规则。 实施人员应该了解 beta 对象的更宽松的兼容性承诺,同时确认请求的 "apiVersion" 字段能被正确地反序列化。 此外,API 服务器还必须启用 API 扩展组 ()。

一个请求内容的例子:

期待远程服务填充请求的 字段并响应允许或禁止访问。 响应主体的 字段被忽略,可以省略。允许的响应将返回:

为了禁止访问,有两种方法。

在大多数情况下,第一种方法是首选方法,它指示授权 Webhook 不允许或对请求 “无意见”。 但是,如果配置了其他授权者,则可以给他们机会允许请求。 如果没有其他授权者,或者没有一个授权者,则该请求被禁止。Webhook 将返回:

第二种方法立即拒绝其他配置的授权者进行短路评估。 仅应由对集群的完整授权者配置有详细了解的 Webhook 使用。Webhook 将返回:

对于非资源的路径访问是这么发送的:

启用 特性后,请求中的字段和标签选择算符将被传递给授权 Webhook。 此 Webhook 可以根据作用域字段和标签选择算符做出授权决策(如果它愿意的话)。

SubjectAccessReview API 文档提供了这些字段应如何被授权 Webhook 解释和处理的指南,特别是应使用解析后的要求而不是原始选择算符字符串,以及如何安全地处理未识别的操作符。

非资源类的路径包括:、、、、、 、、、、和 。 客户端需要访问 、、、 和 以便 能发现服务器上有什么资源和版本。对于其他非资源类的路径访问在没有 REST API 访问限制的情况下拒绝。

更多信息请参阅 SubjectAccessReview API 文档和 webhook.go 实现。

版权声明


相关文章:

  • 在线客服系统源码2025-01-09 23:30:03
  • halcon霍夫变换2025-01-09 23:30:03
  • 代码对比工具使用2025-01-09 23:30:03
  • java匿名内部类详解2025-01-09 23:30:03
  • springboot配置文件yml和properties区别2025-01-09 23:30:03
  • 分类记单词的app2025-01-09 23:30:03
  • 怎么将class文件反编译成Java文件2025-01-09 23:30:03
  • 归并排序 菜鸟教程2025-01-09 23:30:03
  • linuxphp环境搭建2025-01-09 23:30:03
  • srtedit官网2025-01-09 23:30:03