{Redshiftクラスタ}データベース監査ログ作成

https://siguniang.wordpress.com/2014/07/21/aws-redshift-auditing-backed-by-s3/


接続ログ、ユーザーログ、およびユーザーアクティビティログ
ユーザーアクティビティログについては、enable_user_activity_logging データベースパラメータも有効にする必要があります。


-- 1. S3バケット作成

aws s3 mb s3://bucket123
aws s3 ls


-- 2. S3バケットポリシー追加

vim a.json
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Put bucket policy needed for audit logging",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::404641285394:user/logs"
},
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::bucket123/*"
},
{
"Sid": "Get bucket policy needed for audit logging ",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::404641285394:user/logs"
},
"Action": "s3:GetBucketAcl",
"Resource": "arn:aws:s3:::bucket123"
}
]
}

aws s3api put-bucket-policy \
--bucket bucket123 \
--policy file://a.json

 

-- 3. パラメータグループ作成
aws redshift create-cluster-parameter-group \
--parameter-group-name pg01 \
--parameter-group-family redshift-1.0 \
--description pg01

aws redshift describe-cluster-parameter-groups


aws redshift modify-cluster-parameter-group \
--parameter-group-name pg01 \
--parameters ParameterName=enable_user_activity_logging,ParameterValue=true


-- 4. クラスター作成
aws redshift create-cluster \
--db-name test \
--cluster-identifier redshift11 \
--cluster-type single-node \
--node-type dc2.large \
--master-username test \
--master-user-password 'password' \
--no-allow-version-upgrade \
--no-publicly-accessible \
--automated-snapshot-retention-period 1 \
--cluster-parameter-group-name pg01


aws redshift describe-clusters
aws redshift describe-clusters --cluster-identifier redshift11

psql -h redshift11.xxxxxxxxxxxx.ap-northeast-1.redshift.amazonaws.com -p 5439 -d test -U test


drop table tab1;
create table tab1(col1 int);
insert into tab1 values(1);
select * from tab1;

drop user user1;
create user user1 password 'password';


-- 5. 監査ログ有効化
aws redshift enable-logging \
--cluster-identifier redshift11 \
--bucket-name bucket123

すぐにRedshiftLoggingTestFileというファイルが作成されるが、これは監査ログではない。
約1時間待ったが、ログ転送は確認できなかった。

 

-- 6. 監査ログ状態確認
aws redshift describe-logging-status \
--cluster-identifier redshift11

-- 7. 監査ログ無効化
aws redshift disable-logging \
--cluster-identifier redshift11

 

-- 8. クリーンアップ

-- バケット一覧
aws s3 ls

-- バケット削除
aws s3 rb s3://bucket123 --force

-- クラスター削除

aws redshift delete-cluster \
--cluster-identifier redshift11 \
--skip-final-cluster-snapshot

-- パラメータグループ削除
aws redshift delete-cluster-parameter-group \
--parameter-group-name pg01

aws redshift describe-cluster-parameter-groups