Amazon Redshift クラスターまたは Amazon Redshift Serverless の監査ログ記録をオンにしたいと考えています。これを実行するにはどうすればよいですか?
簡単な説明
Amazon Redshift は、システムログを最大 7 日間の保持期間でシステムテーブルとビューに保存します。これらのログは、データベースのセキュリティをモニタリングし、データベースの問題をトラブルシューティングするのに役立ちます。
ログ記録をより長期にわたって保存するには、Amazon Redshift の監査ログ記録の機能をオンにします。ログは Amazon Simple Storage Service (Amazon S3) バケットまたは Amazon CloudWatch に保存できます。Amazon CloudWatch には、監査ログ記録データを視覚化する機能があります。
Amazon Redshift は次のタイプのログに情報を記録します。
- [Connection log] (接続ログ) – 認証の試行、接続、切断をログ記録します。
- [User log] (ユーザーログ) – データベースユーザー定義の変更に関する情報を記録します。
- [User activity log] (ユーザーアクティビティログ) – データベースで実行される前に各クエリを記録します。
注: ユーザーアクティビティログについては、ログを適切に保存するようにパラメータグループを設定してください。
解決方法
Amazon Redshift でプロビジョニングされたクラスターで監査ログ記録をオンにする
コンソールを使用して Amazon Redshift でプロビジョニングされたクラスターの監査ログ記録をオンにするには、次を実行します。
- Amazon Redshift コンソールを開きます。
- ナビゲーションペインで [Clusters] (クラスター) を選択し、更新するクラスターを選択します。
- [Properties] (プロパティ) タブを選択します。
- [Database configurations] (データベースの設定) パネルで [Edit] (編集) を選択し、[Edit audit logging] (監査ログ記録を編集) を選択します。
- [Edit audit logging] (監査ログ記録を編集) で [Turn on] (オンにする) を選択し、[S3 bucket] (S3 バケット) または [CloudWatch] を選択します。
[S3 bucket] (S3 バケット) を選択した場合、データベース監査ログを保存するために既存のバケットを選択するか、新しいバケットを作成するかを選択できます。
[CloudWatch] を選択した場合、[Connection log] (接続ログ)、[User log] (ユーザーログ)、[User activity log] (ユーザーアクティビティログ) というログの種類から選択できます。
- [Save changes] (変更を保存) を選択します。
AWS CLI を使用して監査ログ記録をオンにするには、「enable-logging」を参照してください。
注: AWS CLI コマンドの実行時にエラーが発生した場合は、AWS CLI の最新バージョンを使用していることを確認してください。
enable-logging コマンドを実行して、Amazon S3 バケットを監査ログ記録の宛先として監査ログ記録をオンにする例を次に示します。
aws redshift enable-logging --cluster-identifier redshift-cluster-1 --log-destination-type s3 --bucket-name mybucket --s3-key-prefix mybucket/test --region us-east-1
出力は次のようになります。
{ “LoggingEnabled”: true, “BucketName”: “mybucket”, “S3KeyPrefix”: “mybucket/test/“, “LastSuccessfulDeliveryTime”: “2022-09-14T12:04:42.558000+00:00"}
注: Amazon S3 バケットまたは Amazon CloudWatch に表示されるログに遅延が生じる場合があります。クラスターのプロパティの [Last successful delivery] (前回正常に配信された日時) で、ログ配信が最後に実行された日時を確認できます。
ユーザーアクティビティログのパラメータグループ
ユーザーアクティビティログを記録するには、Amazon Redshift クラスターにアタッチされたクラスターパラメータグループで enable_user_activity_logging パラメータが true に設定されていることを確認してください。
enable_user_activity_logging パラメータをオンにするには**、**次の操作を実行します。
- 新しいパラメータグループを作成します。
- パラメータグループを変更して、パラメータ enable_user_activity_logging を true に設定します。
- クラスターを変更して、Amazon Redshift クラスターに新しいパラメータグループをアタッチします。
注: enable_user_activity_logging パラメータはデフォルトで false に設定されており、デフォルトのパラメータグループを変更することはできません。
監査ログ記録をオンにしたが、パラメータグループの enable_user_activity_logging パラメータはオンにしなかった場合、次のようになります。
- データベース監査ログには、接続ログとユーザーログの情報のみが保存されます
- ユーザーアクティビティログは保存されません
Redshift Serverless の監査ログ記録をオンにする
Amazon Redshift Serverless の監査ログ記録をオンにするには、次の操作を実行します。
- Amazon Redshift コンソールを開きます。
- ナビゲーションペインで [Redshift Serverless] を選択し、次に [Serverless dashboard] (サーバーレスダッシュボード) を選択します。
- 監査ログ記録をオンにする [Namespace] (名前空間) を選択します。
- [Security and Encryption] (セキュリティと暗号化) タブを選択します。
- [Security and encryption] (セキュリティと暗号化) で [Edit] (編集) を選択します。
- [Export these logs] (これらのログをエクスポート) で、CloudWatch に保存するログを選択します。[User log] (ユーザーログ)、[Connection log] (接続ログ)、[User activity log] (ユーザーアクティビティログ) というログの種類から選択できます。
- [Save changes] (変更を保存) を選択します。
注: Amazon Redshift Serverless は Amazon S3 バケットにログをエクスポートすることはできません。
監査ログのモニタリングの詳細については、「CloudWatch でのログイベントのモニタリング」を参照してください。
関連情報
データベース監査ログ作成
Amazon Redshift Serverless の監査ログ記録