【新機能】Amazon S3がCloudTrailに対応しました

2015.09.03

こんにちは、せーのです。今日はセキュリティ上非常にうれしい新機能が発表されましたのでご紹介します。

S3がCloudTrailに対応

9/1のアップデートでS3のバケットレベルでの操作がCloudTrailにロギングされるようになります。特別な操作は必要なく、CloudTrailをONにしておくだけでS3のバケット作成、削除、アクセス制御の変更、LifeCycleポリシーの変更、cross-region replicationの変更のAPIが記録されます。既にCloudTrailをONにしている人は自動的にS3のAPIも記録されるわけです。便利ですね。

CloudTrailにはCloudWatch Alarmが設定できる

CloudTrailの特徴として特定のAPIを監視してCloudWatch Alarmが設定できます。これによりセキュリティ的に好ましくないAPIが叩かれた場合に即座に通知を飛ばすことができます。 9/1から対象に加わったS3のAPIでももちろん同じことが可能ですので、例えばS3のアクセス制御が無断で変更されたりした場合に通知を飛ばす、等の仕組みを組んでおくことでセキュリティを担保し、コンプライアンスとしてのエビデンスを残すことができます。これは企業としてAWSを使用する際の大きなメリットになります。

やってみる

ではどんな感じかやってみたいと思います。 まずはCloudTrailの設定です。これはとても簡単です。まずマネージメントコンソールからCloudTrailのページにいきます。

s3cloudtrail1

新規にCloudTrailを設定します。CloudTrailはAPIを叩いてから15分以内に記録され、そのログファイルは5分ごとに配信されています。もしログファイルの配信も受け取りたい場合はここで選択しておくと良いですね。

s3cloudtrail2

CloudTrailの設定はなんとこれだけです。次にS3のバケットを作りましょう。適当な名前をつけたバケットを作成します。

s3cloudtrail3

一応何かファイルをアップロードしておきます。ここは別に本筋と関係ないです。

s3cloudtrail4

後の実験のためにアクセス制御からアップロードを外します。

s3cloudtrail5

次にCloudTrailのログをCloudWatch Logsに配信します。CloudTrailの画面に戻り[CloudWatch Logs]のオプションを選択して任意のバケット名を入力します。既存のS3バケットがあればそれを入力してもOKです。

s3cloudtrail6

CloudTrailからCloudWatch Logsへの配信権限をIAMロールで設定します。新規でS3バケットを入力している人は自動的にIAMロールの作成画面に飛びますのでデフォルトのままで作成ボタンを押します。

s3cloudtrail7

これでCloudWatch Logsへの配信設定が完了です。

s3cloudtrail8

次にCloudWatch Logsから特定のAPIコールを通知する設定をします。CloudWatchの画面に飛び、[ログ]から先程設定したロググループ名のフィルタをクリックします。

s3cloudtrail9

フィルタ作成画面から検出したいAPI名をフィルタします。今回はアクセス制御のAPIを取り出したいと思います。フィルタに[PutBucketAcl]と設定します。

s3cloudtrail10

フィルタに対してメトリクス名を割り当てます。メトリクス名を任意で入力します。わかりやすい名前が後々便利です。

s3cloudtrail11

これでフィルタの完成です。次はこのフィルタに対してアラームを設定します。

s3cloudtrail13

アラーム設定画面です。ここでフィルタがカウントされたらメールを飛ばすように設定します。

s3cloudtrail14

メールの設定をここで新規にした場合には対象メールアドレスに確認メールが飛んでいるので、メールから確認リンクをクリックして認証しておきます。

s3cloudtrail15

さて、これで設定は完了です。先程作成したS3のバケットのアクセス制御を変更してみます。

s3cloudtrail16

少し待つとメールが飛んできます。

s3cloudtrail17

成功です!

まとめ

いかがでしたでしょうか。最初に設定しておくことでS3もセキュアに扱うことができますね。皆さんも是非試してみてください。

参考リンク

  • https://aws.amazon.com/blogs/aws/amazon-s3-update-cloudtrail-integration/