監査ログは、お使いの Tair (Redis OSS-compatible) インスタンスでのデータの書き込み、変更、削除の操作を記録します (読み取り操作は記録されません)。 予期しないリソースの急増やデータ変更の追跡、アクセス問題のトラブルシューティングに利用します。
監査ログには、内部システム操作のレコードが含まれる場合があります。これらのレコードは外部からのアクセス試行ではなく、対応は不要です:
-
aurora アカウント:Tair (Redis OSS-compatible) がバックアップや監視などのシステムメンテナンス操作を実行するために使用するバックエンドシステムアカウントです。このアカウントはユーザーには公開されていないため、監査ログに表示されるのは通常のシステム動作です。
-
DB ノードホスト IP:ホワイトリスト外の IP アドレスが監査ログに表示される場合、それは DB ノードのホスト IP である可能性があります。これは外部からのアクセスではなく、内部システムの操作を反映しています。
コンソールには最大 2,000 件のログエントリが表示されます。より大きな結果セットをクエリするには、Simple Log Service コンソールを使用してください。
注意事項
-
監査ログには、書き込み操作 (SET、DEL、HSET など) のみが記録され、読み取り操作 (GET、HGET など) は記録されません。
-
監査ログを有効にすると、インスタンスのパフォーマンスが 5%~15% 低下する場合があります。詳細については、「監査ログの概要」をご参照ください。
前提条件
開始する前に、インスタンスで監査ログ機能が有効になっていることを確認してください。
RAM ユーザーへの権限付与
Alibaba Cloud のルートアカウントでログインする場合は、このセクションをスキップしてください。
監査ログにアクセスする RAM ユーザーには、Simple Log Service の管理権限が必要です。次のいずれかを付与してください:
-
[AliyunLogFullAccess] システムポリシー — すべての Logstore へのアクセスを許可します。「権限の付与」をご参照ください。
-
Tair (Redis OSS-compatible) の監査ログのみにスコープを限定したカスタムポリシー:
{ "Version": "1", "Statement": [ { "Action": "log:*", "Resource": "acs:log:*:*:project/nosql-*", "Effect": "Allow" } ] }
監査ログの表示
-
インスタンス ページにログインします。上部メニューで、インスタンスがデプロイされているリージョンを選択します。インスタンスを見つけて、その ID をクリックします。
-
左側のナビゲーションウィンドウで、ログ管理 > 監査ログ を選択します。
-
監査ログ ページで、インスタンスのログエントリを確認します。
ログのフィルタリング
フィルター条件を使用して、ログレコードを絞り込みます。
-
インスタンスの 監査ログ ページに移動します (「監査ログの表示」をご参照ください)。
-
フィルターセクションで、次の条件を 1 つ以上設定します:
|
フィルター条件 |
説明 |
|
Keyword |
クライアント IP アドレス、コマンド、アカウント、またはその他の拡張フィールドでフィルタリングします。完全一致で入力する必要があります。部分一致はサポートされていません。たとえば、 |
|
[Type] |
|
|
[Account] |
インスタンスへの接続に使用するアカウントです。デフォルトアカウントは |
|
[Client IP] |
インスタンスに接続しているクライアントの IP アドレスです。 |
|
[DB] |
クエリしたいログのデータベースです。 |
時間範囲によるログのクエリ
-
インスタンスの 監査ログ ページに移動します (「監査ログの表示」をご参照ください)。
-
[Select Time Range] をクリックし、時間範囲を指定します。
関連 API
|
API |
説明 |
|
監査ログの有効化/無効化とログの保持期間を設定します。 |
|
|
監査ログが有効かどうかや保持期間など、監査ログの設定をクエリします。 |
|
|
インスタンスの監査ログをクエリします。 |
課金
監査ログを有効にすると、監査ログのストレージ使用量に基づいて課金されます。課金の詳細については、「課金項目」をご参照ください。
よくある質問
監査ログのストレージ使用量を確認するにはどうすればよいですか?
コンソールのインスタンス ページを開き、インスタンスの 監査ログ ページに移動します。ストレージ使用量はそこに表示されます。
一部のログにクライアント IP が 127.0.0.1 と表示されるのはなぜですか?
IP アドレス 127.0.0.1 のエントリは、外部クライアントではなく、内部管理操作によって生成されます。次の表に、一般的な内部ログの種類を示します:
|
ログの種類 |
説明 |
|
プライマリノードの退避 |
ノードで退避が発生しました。 |
|
プライマリノードの監査ログドロップイベント |
監査ログのドロップイベントが開始されました (drop start)。 |
|
プライマリノードの監査ログドロップイベント |
監査ログのドロップイベントが終了しました (drop end)。 |
|
プライマリノードのホットキーログ |
ノードで検出されたホットキーです。QPS (1 秒あたりのクエリ数) またはトラフィックによって識別されます。 |
|
プライマリノードのラージキーログ |
ノードで検出されたラージキーです。要素数によって識別されます。 |
監査ログで、キーがいつ削除されたか、どのキーが最後に設定されたか、またはアカウントがいつログオンしたかを確認できますか?
キーが削除される前に監査ログが有効になっていた場合、その削除時刻と操作のソース IP アドレスをクエリできます。コンソールでは、どのキーが最後に設定されたかを直接表示することはできません。書き込みリクエストを追跡するには、それらのリクエストが発生する前に監査ログを有効にしてください。監査ログは有料の機能であり、監査ログのストレージ使用量に基づいて料金が発生します。有効化された後の操作のみを記録し、過去の操作を取得することはできません。
Redis はアカウントのログオン時刻を記録しません。監査ログを有効にすると、有効期間中に各アカウントが実行した書き込み操作を表示できます。
監査ログのクライアント IP アドレスは実際のクライアント IP を表していますか? また、アプリケーションの操作と手動の操作を区別できますか?
監査ログは、クライアントのパブリック Egress IP アドレスのみを記録します。クライアントが VPN 経由で接続する場合、ログにはクライアントの実際の IP アドレスではなく、VPN のパブリック Egress IP アドレスが記録されます。監査ログは、クライアントデバイス自体に関する情報を収集することはできません。
データベースは操作のソース IP アドレスのみを記録します。FLUSHDB のようなコマンドがアプリケーションによって自動的にトリガーされたのか、手動で実行されたのかを判断することはできません。IP アドレスの帰属情報をアプリケーションログと併用して、ソースを特定してください。