DataStax Enterpriseのデータ監査の有効化

DataStax Enterpriseでデータ監査を有効にするための手順。

監査ロガーは、ロギング用に設定されたノードに関する情報のみをログに記録します。たとえば、ノードが0の場合は監査がオンで、ノードが1の場合はオフです。この構成では、ノード1で更新やその他のコマンドを発行しても、ノード0の監査ログには影響しません。データ監査から最大限の情報を得るには、すべてのノードでデータ監査をオンにします。

監査ログは、ファイル・システムのログ・ファイル、またはデータベース・テーブルに書き込むことができます。
システム・ログ・ファイル データベース・テーブル
監査ロギングをオンにすると、デフォルトでは、ログバック・ファイル・システムのログ・ファイルに書き込みます。ロギング機能では、ログバックをバックエンドにしてSimple Logging Facade for Java(SLF4J)を使用します。 監査ログのサイズが大きくなると、監査データのログはテーブルに書き込む方が便利です。
ファイルベースのログは、ノードごとに格納され、標準的なLinuxファイル・システム・パーミッションでセキュリティが保護されます。 データベース・テーブルに格納された監査イベントは、RBACを使用してその他のテーブルと同様にセキュリティを保護できます。「ロールの管理」を参照してください。たとえば、暗号化されたSSTableにデータベース・テーブルベースのログを格納するとします。この場合、オブジェクト・パーミッションを使用してテーブルへのアクセスを制御できます。
ログ・ファイルをターミナルから読み取り、クエリーのトラブルシュートやセキュリティの管理に使用できます。 クラスターが大きくなるとログバック監査ログが扱いにくくなるため、テーブルが使用されます。データは他のテーブル同様にクエリーを実行できるため、分析を簡単に行い、カスタム監査レポートを作成することができます。

CQLバイナリー・プロトコルを使用するDataStaxドライバーに送信されたクエリーとプリペアド・ステートメントの監査ロギングがサポートされています。

Kerberos認証で監査ロギングを使用する場合、ログイン・イベントはKerberosで発生し、DataStax Enterpriseのログには記録されません。認証履歴はKerberosでのみ記録されています。DataStax EnterpriseがKerberosを使用してクライアントを認証できない場合は、LOGIN_ERRORイベントがログに記録されます。

手順

  1. テキスト・エディターでdse.yamlファイルを開きます。
    dse.yamlファイルの場所は、インストールのタイプによって異なります。

    パッケージ・インストールInstaller-Servicesインストール

    /etc/dse/dse.yaml

    tarボール・インストールInstaller-No Servicesインストール

    installation_location/resources/dse/conf/dse.yaml
  2. audit_logging_optionsセクションで、enabledtrueに設定します。
    # Audit logging options
    audit_logging_options:
        enabled: true
  3. loggerオプションを以下のいずれかに設定します。
    • CassandraAuditWriter

      テーブルにログを記録します。

    • SLF4JAuditWriter

      SLF4Jロガーにログを記録します。

  4. オプション: イベント・カテゴリーをログに含めるか、または除外するには、イベント・タイプincluded_categoriesまたはexcluded_categoriesを追加して、カテゴリーをコンマ区切りリストで指定します。どちらかのイベント・タイプを設定できますが、両方とも設定することはできません。
    設定ロギング
    AUTH ログイン・イベントをログに記録します。
    DML 挿入、更新、削除、およびその他のデータ操作言語(DML)イベントをログに記録します。
    DDL オブジェクトとロールの作成、変更、削除、およびその他のデータ定義言語(DDL)イベントをログに記録します。
    DCL ロールの権限付与、取り消し、作成、削除、リスト表示イベントをログに記録します。
    QUERY すべてのクエリーをログに記録します。
    オーセンティケーターは、DataStax Enterprise監査ログにログイン・イベントを含めるかどうかを決定します。
    • DataStax Unified Authentication(DataStax統合認証)で監査ロギングを使用すると、ネイティブ・プロトコル認証を使用したログイン・イベントがDataStax Enterpriseのログに記録されます。
    • 内部認証で監査ロギングを使用すると、ログイン・イベントは接続ネゴシエーションの一部として実行され、DataStax Enterpriseのログには記録されません。
  5. オプション: データベースのキースペースをログに含めるか、または除外するには、キースペースのコンマ区切りリストをincluded_keyspacesオプションまたはexcluded_keyspacesオプションに追加します。どちらか一方を設定できますが、両方とも設定することはできません。
  6. データベース・テーブルにログを記録する場合、ログに記録されたイベントの保持時間を設定するには、retention_timeオプションをイベントの保持時間に設定します。デフォルト値は0です。この場合、すべてのイベント・データが無期限で保持されます。
  7. 監査ロギング・ライターを構成します。

以下の例では、データベース・テーブルにログを記録するように監査ロガーを設定しています。

# Audit logging options
audit_logging_options:
    enabled: true
    logger: CassandraAuditWriter