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

DataStax Enterpriseでデータ監査を構成する手順。

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

監査ログは、logbackを使用してファイル・システムのログ・ファイルに書き込むか、Cassandraテーブルに書き込むことができます。監査ロギングをオンにすると、デフォルトでは、ログバック・ファイル・システム・ログ・ファイルにログを書き込みます。

簡易インストールの場合は、通常、ログバック・ファイルにログを記録するほうが、監査データをCassandraテーブルにロギングするよりも簡単です。ログ・ファイルをターミナルから読み取って、クエリーをトラブルシュートしたり、セキュリティを管理したりできます。ただし、クラスターが大きくなると、ログバック監査ログが扱いにくくなる場合があります。ログ・ファイルは非常に大きくなるため、すべてのメッセージを分析することが困難になるからです。また、ログバック・ファイルの形式には柔軟性がありません。さらに、各ノードのログ・ファイルはローカルであるため、クラスター全体で発生している状況を把握することは困難です。

クラスターが大きくなるほど、Cassandraテーブルへの監査データのロギングがさらに役立つものになります。データは他のテーブル同様にクエリーを実行できるため、分析を簡単に行い、カスタム監査レポートを作成することができます。

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

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

オーセンティケーターは、DataStax Enterprise監査ログに次のログイン・イベントを含めるかどうかを決定します。
  • DSE Unified Authenticatorとともに監査ロギングを使用する場合、Cassandraのネイティブ・プロトコル認証を使用したログイン・イベントがDataStax Enterpriseにロギングされます。
  • 監査ロギングをCassandraネイティブ・プロトコル認証(PasswordAuthenticator)とともに使用している場合、ログイン・イベントは接続ネゴシエーションの一部として発生し、DataStax Enterpriseではログに記録されません。

手順

  1. テキスト・エディターでdse.yamlファイルを開きます。
    dse.yamlファイルの場所は、インストールのタイプによって異なります。
    Installer-Services /etc/dse/dse.yaml
    パッケージ・インストール /etc/dse/dse.yaml
    Installer-No Services install_location/resources/dse/conf/dse.yaml
    tarボール・インストール install_location/resources/dse/conf/dse.yaml
  2. audit_logging_optionsセクションで、enabledtrueに設定します。
    # Audit logging options
    audit_logging_options:
    enabled:true
  3. loggerオプションを以下のいずれかに設定します。
    • CassandraAuditWriter

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

    • SLF4JAuditWriter

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

  4. オプション: ログに記録するイベント・カテゴリを含めたり除外したりするには、イベント・タイプinclude_categoriesまたはexclude_categoriesを追加して、カテゴリをコンマ区切りリストに指定します。いずれかのイベント・タイプを設定できますが、両方は設定できません。
    設定ロギング
    ADMIN スキーマ・バージョンの説明、クラスター名、バージョン、リング、およびその他の管理イベントをログに記録します。
    AUTH ログイン・イベントをログに記録します。
    DML 挿入、更新、削除、およびその他のDMLイベントをログに記録します。
    DDL オブジェクトとロールの作成、変更、削除、およびその他のDDLイベントをログに記録します。
    DCL パーミッションの付与、取り消し、ロールの作成、ロールの削除、およびロールのリスト・イベントをログに記録します。
    QUERY すべてのクエリーをログに記録します。
  5. オプション: Cassandraキースペースをログに含めたり、ログから除外したりするには、キースペースのコンマ区切りリストをincluded_keyspacesまたはexcluded_keyspacesオプションに追加します。いずれかを設定できますが、両方は設定できません。
  6. Cassandraテーブルにログを記録する場合は、retention_timeオプションをイベントの保持時間に設定して、ログに記録されたイベントの保持時間を設定します。デフォルト値は0です。この場合、すべてのイベント・データが無制限に保持されます。
  7. 監査ロギング・ライターを構成します。

以下の例で、監査ロガーをCassandraテーブルにログ記録するように設定します。

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