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イベントがログに記録されます。
手順
-
テキスト・エディターでdse.yamlファイルを開きます。
dse.yamlファイルの場所は、インストールのタイプによって異なります。
パッケージ・インストールInstaller-Servicesインストール
/etc/dse/dse.yaml tarボール・インストールInstaller-No Servicesインストール
installation_location/resources/dse/conf/dse.yaml -
audit_logging_optionsセクションで、
enabled
をtrue
に設定します。# Audit logging options audit_logging_options: enabled: true
-
logger
オプションを以下のいずれかに設定します。- CassandraAuditWriter
テーブルにログを記録します。
- SLF4JAuditWriter
SLF4Jロガーにログを記録します。
- CassandraAuditWriter
- オプション:
イベント・カテゴリーをログに含めるか、または除外するには、イベント・タイプ
included_categories
またはexcluded_categories
を追加して、カテゴリーをコンマ区切りリストで指定します。どちらかのイベント・タイプを設定できますが、両方とも設定することはできません。設定 ロギング AUTH
ログイン・イベントをログに記録します。 DML
挿入、更新、削除、およびその他のデータ操作言語(DML)イベントをログに記録します。 DDL
オブジェクトとロールの作成、変更、削除、およびその他のデータ定義言語(DDL)イベントをログに記録します。 DCL
ロールの権限付与、取り消し、作成、削除、リスト表示イベントをログに記録します。 QUERY
すべてのクエリーをログに記録します。 オーセンティケーターは、DataStax Enterprise監査ログにログイン・イベントを含めるかどうかを決定します。- DataStax Unified Authentication(DataStax統合認証)で監査ロギングを使用すると、ネイティブ・プロトコル認証を使用したログイン・イベントがDataStax Enterpriseのログに記録されます。
- 内部認証で監査ロギングを使用すると、ログイン・イベントは接続ネゴシエーションの一部として実行され、DataStax Enterpriseのログには記録されません。
- オプション:
データベースのキースペースをログに含めるか、または除外するには、キースペースのコンマ区切りリストを
included_keyspaces
オプションまたはexcluded_keyspaces
オプションに追加します。どちらか一方を設定できますが、両方とも設定することはできません。 -
データベース・テーブルにログを記録する場合、ログに記録されたイベントの保持時間を設定するには、
retention_time
オプションをイベントの保持時間に設定します。デフォルト値は0です。この場合、すべてのイベント・データが無期限で保持されます。 - 監査ロギング・ライターを構成します。
例
以下の例では、データベース・テーブルにログを記録するように監査ロガーを設定しています。
# Audit logging options
audit_logging_options:
enabled: true
logger: CassandraAuditWriter