監査ログは「誰が・いつ・どこで・何を・結果はどうだったか」を一貫して残す仕組みです。Kafka 環境では API 呼び出し(Produce/Fetch/Metadata)、権限変更、スキーマ操作、接続情報などが対象になります。
Confluent は Cloud と Platform で実装や配信の形が異なります。本稿では差分を前提に、設計判断のポイントと実装の落とし穴を解説します。
監査ログは可観測性ログやメトリクスとは目的が異なり、後追い検証とコンプライアンス証跡のために整合性の取れたイベント履歴を残すことが主眼です。Kafka 環境では特に、認可判定(許可/拒否)、管理操作(トピック/ACL/RBAC/コネクタ/ksqlDB/Schema Registry)、およびクライアント識別(Principal・Client ID・認証方式・ソース IP)を網羅的に残す必要があります。
Confluent Cloud では監査ログはマネージドな配信機構を通じて外部シンクへ出力します。Confluent Platform(自己運用)ではブローカーや周辺コンポーネントが監査イベントを Kafka トピックとして発行し、それを外部に転送します。どちらもスキーマ化されたイベントで、最小権限の原則と改ざん耐性の設計が必須です。
Confluent Cloud は監査ログをマネージドに収集し、指定したシンク(例: S3、GCS、Azure Blob、Datadog、Splunk)へ近リアルタイムで配信します。利用者は Kafka トピックから直接購読するのではなく、配信先で保管・分析します。
イベントには組織/環境/クラスタの識別子、リソースタイプ、アクション、主体、結果、タイムスタンプが含まれます。保持期間はシンク側のポリシーで管理する前提で、Cloud 側に長期保持を期待しない設計が基本です。
| 観点 | Confluent Cloud | Confluent Platform(自己運用) |
|---|---|---|
| 配信方式 | マネージド配信(外部シンクへ直接) | 内部トピックに発行→任意のシンクへ転送 |
| 保持責任 | シンク側(貯めるのは利用者側) | 内部トピックとシンクの両方を設計 |
| イベント範囲 | コントロール/データプレーンを網羅 | 有効化範囲と対象コンポーネントに依存 |
| 導入/保守 | 小(設定主体は Cloud 管理者) | 中〜大(ブローカー/Connect/シンク運用が必要) |
| スキーマ進化 | Cloud が管理、後方互換を意識 | 互換性検証は利用者側の責任 |
Confluent Platform(Confluent Server を含む)では、監査イベントは Kafka の内部トピックとして発行されます。RBAC/ACL の認可判定、管理 API、データプレーンの主要操作が対象です。監査トピックは高い可用性(十分なレプリカとパーティション)と、厳格なアクセス制御(読み取りは監査担当者のみ)で保護します。
外部システム(SIEM、オブジェクトストレージ)へは Kafka Connect の各種シンク(S3、GCS、Azure、Splunk 等)で転送します。転送パイプライン自体の可観測性と再送設計(少なくとも At-Least-Once)は必須です。
Cloud はマネージド配信をそのまま使い、シンク側で保存と分析を標準化。Platform は内部トピック→Connect→シンクの経路に対し、冗長化と容量見積り(高スループット時の増加)を事前評価します。
批判系イベント(拒否、権限変更、データ定義変更)は別トピック/別ストレージ階層に振り分け、保管期間を長く設定すると運用コストを抑えつつ監査要件を満たしやすくなります。
Cloud/Platform 監査ログの標準経路(概略)
監査イベントはおおむね以下のフィールドで構成されます。actor(主体: ユーザー/サービスアカウント)、action(操作: CREATE_TOPIC/ALTER_ACL/PRODUCE 等)、resource(種類・名前・スコープ)、outcome(ALLOWED/DENIED)、reason(却下理由)、network/auth 情報、client.id、correlation.id、timestamp。Cloud/Platform で表現差はありますが、この骨子は安定しています。
高ボリュームの許可イベントは長期保存のコストを押し上げます。要件が許すなら、拒否イベントや管理操作を優先保存し、成功イベントは集約(サンプリング/日次ロールアップ)します。秘匿情報(トークン断片、IP セグメント、ユーザー属性)はシンク側でマスキング/トークナイズします。
例: Kafka Connect(S3 Sink)で監査トピックを長期保管
{
"name": "audit-s3-sink",
"config": {
"connector.class": "io.confluent.connect.s3.S3SinkConnector",
"tasks.max": "2",
"topics": "audit-log-events",
"s3.bucket.name": "org-audit-logs",
"s3.part.size": "5242880",
"flush.size": "1000",
"format.class": "io.confluent.connect.s3.format.json.JsonFormat",
"partitioner.class": "io.confluent.connect.storage.partitioner.TimeBasedPartitioner",
"path.format": "year=YYYY/month=MM/day=dd/hour=HH",
"locale": "en_US",
"timezone": "UTC",
"timestamp.extractor": "Record",
"behavior.on.null.values": "ignore",
"rotate.schedule.interval.ms": "900000",
"schema.compatibility": "BACKWARD"
}
}
運用では、監査経路そのものの監査(誰が無効化/変更したか)を別経路で記録します。監査トピックのアクセス権は最小にし、Platform 側は暗号化(転送/保存)とログ保存先の WORM 設定を適用します。Cloud 側は配信先の IAM と保存クラス、ライフサイクルを厳格化します。
CCAAK では、Cloud と Platform の「どこで設定し、どこに出力されるか」の差分、RBAC/ACL の違いと監査イベントへの影響、そして SIEM 連携時の責任分界点が問われやすいです。ブローカー標準ログや OS ログを監査ログの代替にしない点も頻出の落とし穴です。
例: 監査イベント(抜粋)
{
"actor": {"type": "User", "name": "alice"},
"action": "CREATE_TOPIC",
"resource": {"type": "Topic", "name": "payments", "scope": {"cluster_id": "lkc-xxxx"}},
"outcome": "ALLOWED",
"request": {"client_id": "producer-1", "ip": "203.0.113.10"},
"auth": {"mechanism": "SASL_SSL", "principal": "User:alice"},
"correlation_id": "c-7b3d",
"ts": "2026-04-18T04:21:34Z"
}
CCAAK
問題 1
Confluent Cloud 環境で監査ログを最小運用コストで外部 SIEM に集約したい。最も適切な設計はどれか。
正解: A
Confluent Cloud の監査ログはマネージド配信で外部シンクに出力するのが前提。Kafka トピックの直接購読は想定されないため、A が最小運用コストで適切。B は Platform 前提の方式で Cloud には適合しない。C/D は監査の完全性・網羅性を担保できない。
監査ログはブローカーの通常ログやメトリクスとどう違うのか?
監査ログは認証/認可や管理操作など「主体・操作・対象・結果・時刻」を一貫したスキーマで記録します。通常の運用ログは動作状況の把握が主目的で、監査要件(完全性・改ざん耐性)を満たすとは限りません。
Confluent Platform では監査ログの保存先をどう設計するのがよいか?
内部監査トピックは高可用で短〜中期保持、外部ストレージ(S3/オブジェクトストレージ)は長期保持と改ざん耐性を担保、SIEM は検索・相関分析に最適化という多層構成が現実的です。
成功(ALLOWED)イベントを削減してもよいか?
要件次第です。拒否や管理変更は必ず保持し、成功イベントは規制要件が許せば集約やサンプリングを検討します。削減する場合でもスキーマ互換と再構築可能性(集約ロジックの明示)は確保してください。
NicheeLab編集部
データエンジニアリング・クラウド資格の専門家。Databricks・Snowflake等の認定資格を保有し、実務経験に基づいた問題作成・解説を行っています。NicheeLab運営。
Kafka Topic と Partition の基礎: 分散とスケーラビリティの要
CCDAK 対策と実務の両立を意識し、Topic/Partition/Replica/Consumer Group の役...
CCDAK 試験ガイド:出題範囲・配点・申込み・対策
Confluent Certified Developer for Apache Kafka (CCDAK) の出題範囲...
Confluent Certified Administrator (CCAAK) 対策: 出題範囲・配点の考え方・運用観点の要点
CCAAKに向けて、試験領域の押さえどころを運用目線で整理。プロダクションで通用する設定・監視・セキュリティの実践知を、...
Kafka の Replica と In-Sync Replicas を正しく設計する: 耐障害性と一貫性
レプリカとISRの仕組みを起点に、acks と min.insync.replicas、クリーン/アンクリーンリーダー選...
Kafka の Offset とコミット: ポジション管理と at-least-once の基礎
CCDAK 対策と実務の両立を意識して、Kafka コンシューマのオフセット管理とコミット戦略を整理。at-least-...