12.2. EventPolicy リソースの概要
EventPolicy リソースは、イベント配信のルールを定義します。これは、サービスアカウントやイベントソースなどのエンティティーがイベントを送信できるかどうか、どのコンシューマーがイベントを受信できるか、そして必要に応じて、CloudEvents を受け入れるために満たすべき追加条件を指定します。
EventPolicy は、次の 3 つの主要セクションで構成されています。
|
| EventPolicy が適用されるブローカーやチャネルなどのリソースを定義します。 |
|
| ターゲットにイベントを送信する権限を持つソースまたはサブジェクトを定義します。 |
|
| (オプション) CloudEvent が許可される前に、CloudEvent 自体が満たす必要がある高度なフィルタリング条件を指定します。 |
EventPolicy の例は次のとおりです。
apiVersion: eventing.knative.dev/v1alpha1
kind: EventPolicy
metadata:
name: my-event-policy
namespace: default
spec:
to:
- ref:
apiVersion: eventing.knative.dev/v1
kind: Broker
name: my-broker
- selector:
apiVersion: eventing.knative.dev/v1
kind: Broker
matchLabels:
app: special-app
from:
- ref:
apiVersion: sources.knative.dev/v1
kind: PingSource
name: my-source
namespace: another-namespace
- sub: system:serviceaccount:default:trusted-app
- sub: "system:serviceaccount:default:other-*"
filters:
- cesql: "type IN ('order.created', 'order.updated', 'order.canceled')"
- exact:
type: com.github.push