第12章 Knative Eventing における認可と EventPolicy
Knative Eventing は、不正アクセスを防ぐためにイベント配信を保護するメカニズムを提供します。イベント駆動型システムは、多くの場合、イベントの複数のプロデューサーとコンシューマーに依存しており、適切な認可制御がないと、悪意のある、または意図しないイベントフローによってシステムが危険にさらされる可能性があります。
きめ細かなアクセス制御を実現するために、Knative Eventing では EventPolicy カスタムリソースが導入されました。このリソースを使用すると、管理者と開発者は、namespace 内の特定のコンシューマーにイベントを送信する権限を持つエンティティーを定義できます。EventPolicy を適用することで、信頼できるイベントソースまたはサービスアカウントのみが、選択したイベントコンシューマーにデータを送信でき、イベント駆動型アーキテクチャーの全体的なセキュリティー体制が向上します。
セキュアで認証されたイベント配信を確実に行うには、authentication-oidc とともに transport-encryption 機能フラグを有効にする必要があります。
12.1. デフォルトの認可モード リンクのコピーリンクがクリップボードにコピーされました!
Knative Eventing 認可は、2 つの主要なメカニズムによって制御されます。EventPolicy カスタムリソースは、イベント配信の明示的なルールを定義し、リソースに EventPolicy が関連付けられていない場合は、default-authorization-mode 機能フラグが適用されます。
サポートされている認可モードは次のとおりです。
| 認可モード | 説明 |
|---|---|
|
| すべての受信イベント要求は制限なく許可されます。 |
|
| すべての受信イベント要求は拒否されます。イベント配信を有効にするには、EventPolicy でリクエストを明示的に承認する必要があります。 |
|
| (デフォルト) 同じ namespace 内のサブジェクトからのリクエストのみが許可されます。 |
OpenShift Serverless Operator 経由でデフォルトの認可モードを設定するには、次の例に示すように KnativeEventing カスタムリソースを編集します。