share facebook facebook twitter menu hatena pocket slack

IAMユーザーはS3やCloudFrontのログをダウンロードできない!?

鈴木 宏康

WRITTEN BY 鈴木 宏康

今回の記事は、IAMユーザでS3やCloudFrontのログをS3から取得することができない、というお話です。(AWSのサポートにも確認済み)

IAMユーザには、下記のようにS3のすべてのリソースに対して、読み取りできるポリシーを付与しています。

{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:Get*",
        "s3:List*"
      ],
      "Resource": "*"
    }
  ]
}

しかし、実際にS3やCloudFrontのログが出力されているS3バケットから、任意のログファイルをダウンロードしようとすると、
Access Denyになり、ダウンロードすることができません。
(ファイルのリスト取得まではできます)

他のファイルは取得できるのですが、ログファイルが取得できないのは、ファイルオーナーの問題ではないかと思い、調べてみたのですが、ダウンロードできるファイルのオーナーは自分の親アカウントとなっており、ダウンロードできない(ログ)ファイルのオーナーはawsdatafeedsというAWSのシステムユーザー(?)がオーナーになっていました。

ちなみにAWSのサポートからは、下記のような回答をいただきました。

CloudFrontのログなどはAWSシステムアカウントで書き込まれるようになっていまして、現状ご自身がオーナー権限を持っているリソース以外のポリシーを適用することが出来ません。このことにより、IAMユーザーにログファイルを閲覧や削除する権限を渡せるポリシーを追加することは出来ません。

上記より、S3やCloudFrontのログ取得は親アカウントのみでしかできない、
ということになります。

ご注意ください。

ログを取得できると思ってS3のBucket Policyとかまで調べてしまいました。

こちらの記事はなかの人(suz-lab)監修のもと掲載しています。
元記事は、こちら

鈴木 宏康

鈴木 宏康

愛知県生まれ。東京工業大学大学院修士課程修了。在学時より、ベンチャー企業でインターネットに関する業務に携わり、現在はクラウド(主にAmazon Web Services)上での開発・運用を軸とした事業の、業務の中心として活躍。

cloudpack

cloudpackは、Amazon EC2やAmazon S3をはじめとするAWSの各種プロダクトを利用する際の、導入・設計から運用保守を含んだフルマネージドのサービスを提供し、バックアップや24時間365日の監視/障害対応、技術的な問い合わせに対するサポートなどを行っております。
AWS上のインフラ構築およびAWSを活用したシステム開発など、案件のご相談はcloudpack.jpよりご連絡ください。