0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

データベースアクティビティストリームを調べてみた

0
Posted at

背景・目的

Auroraのアクティビティストリームを調べる機会があったので、整理します。

まとめ

下記に特徴をまとめます。

特徴 説明
目的 ・データベースの保護
・コンプライアンスおよび規制要件を満たす
・データベースアクティビティをモニタリングツールに統合
・監査アクティビティのアラーム設定
セキュリティ上の特徴 ・内部脅威からの保護
・重要なポイント
機能 ・有効化のレベルは、クラスタレベル
・配信先はKDS
・リアルタイム性はニアリアルタイム

概要

下記を基に整理します。

データベースアクティビティストリーミングの概要

  • 目的は下記の通り

    • データベースの保護
    • コンプライアンスおよび規制要件を満たす
    • データベースアクティビティをモニタリングツールに統合
    • 監査アクティビティのアラーム設定
  • セキュリティ上の特徴

    • 内部脅威からの保護
      • データストリームへの管理者アクセスを制御可能
        • DBA(データベース管理者)でも以下の操作ができない
          • ストリームの収集
          • ストリームの送信
          • ストリームの保存
          • ストリームの処理
    • 重要なポイント
      • 外部脅威だけでなく、内部脅威(特権ユーザーによる不正)からも保護
      • DBAが監査ログを改ざんできない仕組み
      • 職務分離(Separation of Duties)の実現

データベースアクティビティストリーミングの機能

  • 基本動作

    • 有効化レベル
      • クラスターレベル(クラスター内のすべてのDBインスタンスで有効)
    • 配信先
      • Amazon Kinesis データストリームに自動作成しプッシュする
    • リアルタイム性
      • ニアリアルタイムでアクティビティを配信
  • データフロー

    1. Aurora DB クラスター → Kinesis データストリーム(自動作成)
    2. Kinesis → AWS サービス(Data Firehose、Lambda など)
    3. データの保存・処理
  • コスト

    • DAS機能自体は無料
    • KDSの料金はかかる
  • グローバルデータベースの場合

    • 各DBクラスターで個別にDASを開始
    • 各クラスターが自リージョン内の独自Kinesis ストリームに配信
    • フェイルオーバー中も通常通り監査継続
  • コンプライアンスアプリケーション連携

    • IBM Security Guardium
    • Imperva SecureSphere Database Audit and Protection
    • これらのアプリケーションでアラートと監査アクティビティを生成可能

image.png
データベースアクティビティストリーミングの機能より抜粋

データベースアクティビティストリーミングの非同期および同期モード

非同期モード

  • 動作

    • イベント生成後、セッションは即座に通常のアクティビティに戻る
    • イベントはバックグラウンドで永続化
    • エラー発生時は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)
  • クラスター単位で管理がシンプル
  • バージョンアップグレード時は一時停止が必要

考察

データベースアクティビティストリームを整理してみました。次回は実際に利用してみます。

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?