「S3バケットへのパブリックアクセスを一切許可しないことを強くお勧めします。」
Webサイトのホストに使用する1つのバケットに対して、非常にきめ細かいパブリックポリシー(s3:GetObject)を設定しました。Route53は、この目的でバケットのエイリアスを明示的にサポートしています。この警告は単に冗長ですか、それとも何か間違っていますか?
「S3バケットへのパブリックアクセスを一切許可しないことを強くお勧めします。」
Webサイトのホストに使用する1つのバケットに対して、非常にきめ細かいパブリックポリシー(s3:GetObject)を設定しました。Route53は、この目的でバケットのエイリアスを明示的にサポートしています。この警告は単に冗長ですか、それとも何か間違っていますか?
回答:
はい、あなたが何をしているのかを知っている場合(編集:そしてそれへのアクセス権を持つ他の誰もが...)、この警告は無視できます。
知っておくべき大企業でさえ、誤ってプライベートデータをパブリックバケットに入れてしまったためです。また、コンソール内の警告に加えてバケットを公開した場合、Amazonはヘッズアップメールを送信します。
アクセンチュア、ベライゾン、バイアコム、イリノイ州の有権者情報および軍事情報はすべて、IT部隊がS3サイロを誤って設定したために、すべてのユーザーに不注意で公開されたままであることがわかりました。
絶対に、バケット内のすべてがパブリックであり、誰も誤ってプライベートデータを入れないこと(静的HTMLサイトの良い例)を100%確信してから、ぜひともパブリックのままにしてください。
ceejayozの回答で取り上げられているプライバシーの問題だけが問題ではありません。
S3バケットからオブジェクトを読み取るには価格があります。このバケットからのダウンロードごとにAWSから請求されます。トラフィックが多い場合(または、ビジネスを傷つけたい人が1日中ファイルを大量にダウンロードし始める場合)、すぐに高価になります。
バケットのファイルを一般にアクセスできるようにするには、S3バケットを指し、アクセスを許可するCloudfront Distributionを作成する必要があります。
これで、Cloudfront Distributionのドメイン名を使用して、パブリックへのS3アクセスを許可せずにファイルを提供できます。
この構成では、S3の代わりにCloudfrontのデータ使用量に対して支払います。そして、ボリュームが大きくなると、ずっと安くなります。