第8章 OPA ポリシーベースの認可の使用
Open Policy Agent (OPA) は、オープンソースのポリシーエンジンです。OPA を Streams for Apache Kafka と統合して、Kafka ブローカーでのクライアント操作を許可するポリシーベースの認可メカニズムとして機能させることができます。
クライアントからリクエストが実行されると、OPA は Kafka アクセスに定義されたポリシーに対してリクエストを評価し、リクエストを許可または拒否します。
Red Hat は OPA サーバーをサポートしません。
8.1. OPA ポリシーの定義
OPA を Streams for Apache Kafka と統合する前に、きめ細かいアクセス制御を提供するためのポリシーの定義方法を検討してください。
Kafka クラスター、コンシューマーグループ、およびトピックのアクセス制御を定義できます。たとえば、プロデューサークライアントから特定のブローカートピックへの書き込みアクセスを許可する認可ポリシーを定義できます。
このポリシーでは、以下の項目を指定することができます。
- プロデューサークライアントに関連付けられた ユーザープリンシパル および ホストアドレス
- クライアントに許可される 操作
-
ポリシーが適用される リソースタイプ (
topic
) および リソース名
許可と拒否の決定がポリシーに書き込まれ、提供された要求とクライアント識別データに基づいて応答が提供されます。
この例では、プロデューサークライアントはトピックへの書き込みが許可されるポリシーを満たす必要があります。