第 12 章 Knative Eventing 中的授权和 EventPolicy


Knative Eventing 提供了保护事件交付的机制,以防止未经授权的访问。事件驱动的系统通常依赖于事件的多个制作者和消费者,而无需适当的授权控制,恶意或意外的事件流可能会破坏系统。

为了实现精细的访问控制,Knative Eventing 引入了 EventPolicy 自定义资源。此资源允许管理员和开发人员定义哪些实体被授权向命名空间中的特定消费者发送事件。通过应用 EventPolicies,您可以确保只有可信事件源或服务帐户才能将数据发送到所选事件消费者,这提高了事件驱动的架构的整体安全状况。

注意

您必须启用 transport-encryption 功能标记以及 authentication-oidc,以确保安全和验证的事件交付。

12.1. 默认授权模式

Knative Eventing 授权由两个关键机制管理。EventPolicy 自定义资源定义事件交付的显式规则,当没有与资源关联的 EventPolicy 时,default-authorization-mode 功能标记都会应用。

支持的授权模式如下:

Expand
授权模式描述

allow-all

允许所有传入的事件请求而不限制。

deny-all

所有传入的事件请求都会被拒绝。要启用事件交付,EventPolicy 必须明确授权请求。

allow-same-namespace

(默认)只允许来自同一命名空间中的主体的请求。

要通过 OpenShift Serverless Operator 配置默认授权模式,您可以编辑 KnativeEventing 自定义资源,如下例所示:

apiVersion: operator.knative.dev/v1beta1
kind: KnativeEventing
metadata:
  name: knative-eventing
  namespace: knative-eventing
spec:
  config:
    features:
      authentication-oidc: "enabled"
      default-authorization-mode: "deny-all"
Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat