背景・目的
Auroraのアクティビティストリームを調べる機会があったので、整理します。
まとめ
下記に特徴をまとめます。
| 特徴 | 説明 |
|---|---|
| 目的 | ・データベースの保護 ・コンプライアンスおよび規制要件を満たす ・データベースアクティビティをモニタリングツールに統合 ・監査アクティビティのアラーム設定 |
| セキュリティ上の特徴 | ・内部脅威からの保護 ・重要なポイント |
| 機能 | ・有効化のレベルは、クラスタレベル ・配信先はKDS ・リアルタイム性はニアリアルタイム |
概要
下記を基に整理します。
データベースアクティビティストリーミングの概要
-
目的は下記の通り
- データベースの保護
- コンプライアンスおよび規制要件を満たす
- データベースアクティビティをモニタリングツールに統合
- 監査アクティビティのアラーム設定
-
セキュリティ上の特徴
- 内部脅威からの保護
- データストリームへの管理者アクセスを制御可能
- DBA(データベース管理者)でも以下の操作ができない
- ストリームの収集
- ストリームの送信
- ストリームの保存
- ストリームの処理
- DBA(データベース管理者)でも以下の操作ができない
- データストリームへの管理者アクセスを制御可能
- 重要なポイント
- 外部脅威だけでなく、内部脅威(特権ユーザーによる不正)からも保護
- DBAが監査ログを改ざんできない仕組み
- 職務分離(Separation of Duties)の実現
- 内部脅威からの保護
データベースアクティビティストリーミングの機能
-
基本動作
- 有効化レベル
- クラスターレベル(クラスター内のすべてのDBインスタンスで有効)
- 配信先
- Amazon Kinesis データストリームに自動作成しプッシュする
- リアルタイム性
- ニアリアルタイムでアクティビティを配信
- 有効化レベル
-
データフロー
- Aurora DB クラスター → Kinesis データストリーム(自動作成)
- Kinesis → AWS サービス(Data Firehose、Lambda など)
- データの保存・処理
-
コスト
- DAS機能自体は無料
- KDSの料金はかかる
-
グローバルデータベースの場合
- 各DBクラスターで個別にDASを開始
- 各クラスターが自リージョン内の独自Kinesis ストリームに配信
- フェイルオーバー中も通常通り監査継続
-
コンプライアンスアプリケーション連携
- IBM Security Guardium
- Imperva SecureSphere Database Audit and Protection
- これらのアプリケーションでアラートと監査アクティビティを生成可能
データベースアクティビティストリーミングの非同期および同期モード
非同期モード
-
動作
- イベント生成後、セッションは即座に通常のアクティビティに戻る
- イベントはバックグラウンドで永続化
- エラー発生時はRDSイベントで通知(イベントレコード損失の可能性がある時間枠を示す)
-
優先順位
- データベースパフォーマンス > アクティビティストリーミング精度
-
対応エンジン
- Aurora PostgreSQL
- Aurora MySQL
同期モード
-
動作
- イベント生成後、永続化されるまでセッションがブロック
- 永続化できない場合は通常のアクティビティに戻る
- エラー発生時と復旧時にRDSイベントで通知
-
優先順位
- アクティビティストリーミング精度 > データベースパフォーマンス
-
対応エンジン
- Aurora PostgreSQL
Aurora MySQLは非対応
- 選択基準
- コンプライアンス重視
- 同期モード(監査ログの完全性が最優先)
- パフォーマンス重視
- 非同期モード(わずかなログ損失を許容)
- コンプライアンス重視
データベースアクティビティストリームの要件と制限
必須要件
- Amazon Kinesis
- データストリーム配信に必須
- AWS KMS
- 常に暗号化されているため必須
暗号化の制限
- DASはAWS KMSで暗号化済み
- Kinesis データストリームへの追加暗号化は非互換(二重暗号化不可)
有効化の単位
- DBクラスターレベルで開始
- クラスターに新しいDBインスタンスを追加しても、個別に開始不要(自動的に監査対象)
グローバルデータベース
- 各DBクラスターで個別に開始が必要
- 各クラスターが自リージョン内の独自Kinesis ストリームに配信
Aurora PostgreSQL の制限
- メジャーバージョンアップグレード前に必ずDASを停止
- アップグレード完了後に再開可能
重要ポイント
- 暗号化は必須かつ自動(KMS)
- クラスター単位で管理がシンプル
- バージョンアップグレード時は一時停止が必要
考察
データベースアクティビティストリームを整理してみました。次回は実際に利用してみます。
参考
