Amazon S3 サーバーアクセスログの有効化時、自動で作成されるバケットポリシーを確認してみた
はじめに
Amazon S3 サーバーアクセスログの有効化すると自動で作成されるバケットポリシーがありましたので
AWS マネジメントコンソールと AWS CLI を利用して試してみました。
先に結論から
- Amazon S3 サーバーアクセスログを有効時、ポリシーが作成される
- GUI 利用時はポリシーが自動で作成される
確認してみた
AWS マネジメントコンソール Ver
- アップロードに利用するバケットとログが保存されるバケット2つを作成します。
2.__「プロパティ」__タブを確認します。
3.__「サーバーアクセスのログ記録」の「編集」__を選択します。
4.サーバーアクセスのログを有効にします。
5.送信先のバケットを指定し、設定します。
6.ログの保存バケットのポリシーを確認すると自動でポリシーが作成されたことを確認できます。
AWS CLI Ver
- アップロードに利用するバケットとログが保存されるバケット2つを作成します。
aws s3api create-bucket \
--bucket log-source-bucket-test200 \
--region ap-northeast-1 \
--create-bucket-configuration LocationConstraint=ap-northeast-1
aws s3api create-bucket \
--bucket log-destination-bucket-test200 \
--region ap-northeast-1 \
--create-bucket-configuration LocationConstraint=ap-northeast-1
- サーバーアクセスのログを有効化します。
aws s3api put-bucket-logging \
--bucket log-source-bucket \
--bucket-logging-status '{
"LoggingEnabled": {
"TargetBucket": "log-destination-bucket",
"TargetPrefix": "access-logs/"
}
}'
有効化されたか確認してみましょう
aws s3api get-bucket-policy --bucket log-destination-bucket
バケットポリシーが存在しません、というエラーメッセージが出力されました。
ポリシーを確認してみます。確認の結果ポリシーが作成されなかったことが確認できました。
それでは手動でバケットポリシーを作成します。(vi 利用しました)
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "S3ServerAccessLogsPolicy",
"Effect": "Allow",
"Principal": {
"Service": "logging.s3.amazonaws.com"
},
"Action": "s3:PutObject",
"Resource": "リソース名",
"Condition": {
"StringEquals": {
"aws:SourceAccount": "アカウント"
}
}
}
]
}
(cat コマンドで保存されているかを確認します。)
確認できましたのでポリシーを適用してみます。
aws s3api put-bucket-policy \
--bucket log-destination-bucket-test200 \
--policy file://policy.json
上記の手順でポリシーの作成を完了しました。
ログの記録まで確認できました。
最後に
最後にもう一度今回のサーバーアクセスのログを有効化時自動で作成されるバケットポリシーに関してまとめてみます。
- サーバーアクセスのログを記録するため自動で作成されるポリシーが存在する
- AWS マネジメントコンソールでは対象のポリシーが自動作成される
- CLI の環境ではポリシーを手動で設定する必要がある
今回のブログのまとめは以上になります。
参考資料
アノテーション株式会社について
アノテーション株式会社はクラスメソッドグループのオペレーション専門特化企業です。サポート・運用・開発保守・情シス・バックオフィスの専門チームが、最新 IT テクノロジー、高い技術力、蓄積されたノウハウをフル活用し、お客様の課題解決を行っています。当社は様々な職種でメンバーを募集しています。「オペレーション・エクセレンス」と「らしく働く、らしく生きる」を共に実現するカルチャー・しくみ・働き方にご興味がある方は、アノテーション株式会社 採用サイト をぜひご覧ください