< 一覧に戻る

AWS S3のセキュリティはどのように機能するのか?

Published Date: Mar 31, 2026
この記事の内容
This is the block containing the component that will be injected inside the Rich Text. You can hide this block if you want.
Hassaan qaiser bKfkhVRAJTQ unsplash

Amazonは、Amazon Web Services(AWS)クラウド上で提供されるオブジェクトストレージサービスです。

では、ユーザーが「バケット」と呼ばれる仮想的なデータコンテナを作成できます。ユーザーはほぼあらゆる種類の情報をバケットにアップロードでき、各バケットはほぼ無制限のオブジェクト数と総データ容量を保持することが可能です。

ファイルシステムとは異なり、のバケットには階層構造がありません。代わりに、データを特定の方法で整理したり、フォルダやサブフォルダを作成したりする必要はなく、単純にデータを「放り込む(dump)」だけです(この仕組みが「バケット」という名前の由来です)。

各データオブジェクトには一意の識別子が割り当てられ、人間のユーザーやアプリケーションはこの識別子を使ってデータを閲覧・変更できます。はAWSにおける唯一のストレージサービスではありません。ほかにも、仮想マシン向けの永続的ストレージを提供する Elastic Block Storage(EBS) や、AuroraRDS といった各種データベースサービスなど、さまざまなストレージソリューションがあります。

ただし、これらのストレージサービスが特定の用途に特化して設計されているのに対し、はあらゆる形式・種類のデータを格納できる汎用ストレージサービスとして位置づけられています。この柔軟性こそが、がAWSクラウドで最も広く利用されている理由のひとつです。さらに、では1ギガバイトあたり数円程度という低コストでデータを保存できることも、その人気を支える大きな要因となっています。

は安全なのか?

AWSそのものに、もともと安全性の欠如があるわけではありません。

バケットをホストしている基盤となる物理インフラは、Amazonクラウド全体のその他のインフラと同様に高いセキュリティで保護されています。また、のストレージ基盤をユーザーに提供するためのソフトウェアも同様に安全に管理されています。

Amazonは、AWSの共有責任モデル(Shared Responsibility Model) の一環として、基盤インフラおよびの提供ソフトウェアのセキュリティを管理しています。

しかし、Amazonはユーザーがにアップロードしたデータそのもののセキュリティについては責任を負いません。どのようなデータをに保存し、それをどのように管理するかを決定できるのはユーザー自身だからです。したがって、上のデータ保護はユーザー側の責任となります。

のセキュリティリスクと課題


を利用する際、ユーザーの設定ミスや運用上の不備によって、バケット内のデータセキュリティが損なわれる可能性があります。主なリスクは次のとおりです。

  • アクセス制御の設定ミス:における最も深刻なセキュリティリスクは、アクセス制御の誤設定です。誤ってアクセス権を過剰に開放してしまうと、本来アクセスすべきでない第三者に機密データが閲覧・改変されるおそれがあります。たとえば、バケットをインターネット上の誰でもアクセスできる状態に設定してしまうと、機密情報が全世界に公開されてしまう可能性があります。
  • 暗号化の欠如:に保存されるデータはデフォルトでは暗号化されません。また、すべてのデータが必ずしも暗号化を必要とするわけではありません。しかし、特に暗号化しない理由がない場合には、データを暗号化しておくべきです。暗号化を行わないと、悪意ある攻撃者にデータを悪用されるリスクが高まります。
  • データ可視性の欠如: ユーザーがバケット内にどのデータを保存しているのか把握しきれなくなることがあります。また、機密データと非機密データを同じバケットに混在させてしまうと、適切なセキュリティポリシーを適用するのが困難になります。こうした問題は、組織内での利用状況やデータ構造を十分に可視化できていないことに起因します。
  • バケット内のマルウェア:はストレージサービスであり、実際にマルウェアを実行することはできません。しかし、攻撃者がバケット内にマルウェアを仕込んだ場合、それが仮想マシン(VM)や他のクラウドリソースに取り込まれ、そこで実行される危険性があります。この点で、マルウェアはに対しても潜在的なリスクとなります。
  • 不適切な連携や接続:バケットにアクセスできるアプリケーションやサービスが侵害された場合、それらが攻撃経路となる可能性があります。そのため、どのリソースがに接続・統合されているのかを常に把握し、それらの脆弱性を継続的に監視することが極めて重要です。


を安全に保つ方法


を安全に保つためのポイントは、主に三つに集約されます。強固なアクセス制御の設定、データの可視性の維持、そして安全でない接続の確認です。

1. 強固なアクセス制御の設定と検証

のアクセスポリシーを設定する際は、最小権限の原則に従い、必要最小限の権限のみを付与するようにします。データの読み取りおよび書き込み権限は、それを必要とする特定のユーザーのみに制限し、特別な理由がない限りバケットを公開設定にしないようにしてください。

同様に重要なのは、のアクセス設定を継続的にスキャンし、リスクを生む可能性のある設定ミスがないか確認することです。初期設定時に慎重に強固な構成を行ったとしても、のIAM(Identity and Access Management)ルール定義時のわずかなタイプミスによって、誤ったストレージバケットやオブジェクトにポリシーが適用され、機密データが露出する危険性があります。

さらに、データへのアクセス要件は時間の経過とともに変化するため、定期的なスキャンや監査を行うことで、アクセス制御ポリシーが常に最新かつ安全な状態に保たれていることを確認できます。

2. データを把握する

セキュリティにおける第二の重要な原則は、にどのようなデータを保存しているのか、そして機密データがどこに存在するのかを可視化することです。機密情報は、強固なアクセス制御が施されたバケットにのみ保存するよう努めるべきですが、ユーザーが誤って機密情報を公開用のバケットにアップロードしてしまったり、アクセス制御設定の変更によって、以前は安全だったデータが露出してしまうリスクは常に存在します。

このようなリスクを防ぐためには、バケット内のデータを継続的に監視し、機密情報が含まれていないかを確認するとともに、各バケットやデータオブジェクトに設定されたアクセス制御が、そのデータの機密性に見合ったものになっているかを評価することが重要です。スキャンを実施することで、バケット内に潜んでいるマルウェアを特定することも可能です。

3.の統合と接続を監視する

前述のとおり、内部のデータ管理の不備だけがセキュリティリスクを引き起こすわけではありません。安全でないアプリケーションや統合機能、プラグインなどがデータにアクセスできる場合にも問題が発生する可能性があります。

そのため、どのアプリケーションやリソースがのデータに接続できるのか、そしてそれらがどのような操作を行えるのかを把握することが重要です。さらに、バケットへのアクセス権を持つアプリケーション自体が安全であるかどうかも確認する必要があります。攻撃者がデータに接続可能なアプリケーションを侵害した場合、その攻撃者はアプリケーションだけでなく、そこからアクセスできる機密データも掌握することができてしまうからです。

AWSセキュリティのベストプラクティス

上記で説明したのセキュリティ対策に加えて、を設計・管理する際に留意すべきいくつかのベストプラクティスがあります。

  • 複数のバケットを構成する:では1つのバケット内にほぼ無制限のデータオブジェクトを保存できますが、扱うデータの種類ごとに個別のバケットを作成する方が望ましいです。そうすることで、各バケットごとにきめ細かなアクセス制御やセキュリティ設定を適用でき、個々のオブジェクト単位で保護を行う必要がなくなります。唯一の欠点は、AWSアカウントごとに作成できるバケットの数が通常100個までに制限されている点ですが、多くの場合、この上限で十分に異なるセキュリティ要件を持つ複数のデータを管理できます。
  • 暗号化を有効にする:先に述べたとおり、はデフォルトではデータを暗号化しませんが、暗号化を有効にすることが可能です。多くの場合、に保存するデータは暗号化しておくべきです。暗号化によって、たとえ悪意のある第三者がデータにアクセスしたとしても、内容を読み取ることができなくなります。データを暗号化せずに保存してよいのは、そのデータを利用するユーザーやアプリケーションが、暗号化されていない状態でのアクセスを必要とする場合のみです。.
  • 書き込み権限を制限する:のアクセス権限を設定する際、ユーザーやアプリケーションにデータの閲覧のみを許可し、変更を禁止する、いわゆる読み取り専用アクセスを与えることができます。明示的にデータの変更を必要とするユーザーを除き、基本的には読み取り専用アクセスにするのがベストプラクティスです。これにより、悪意のある第三者がバケットにマルウェアを注入したり、機密バケットの内容を改ざんしたりすることを防げます。
  • アクセスログを活用する:アクセスログには、誰が内のデータにアクセスし、どのような操作を行ったのかが記録されます。アクセスログそのものがデータの不正利用を防ぐわけではありませんが、バケット内での不審な活動を迅速に検知するための重要な可視化手段となります。


これらのベストプラクティスを実践することで、ストレージ環境をデフォルトで可能な限り安全に保つことができます。ただし、ストレージのみを保護するだけでは十分でない場合もあります。本番環境で採用すべき対策を検討することが重要です。

まとめ

はデータを保存するための優れたソリューションです。しかし、はユーザーやアプリケーションがアップロードするデータのセキュリティを保証するものではありません。そのため、誤ったアクセス制御設定や、ストレージバケット内に潜むマルウェアなど、に影響を及ぼすさまざまなセキュリティリスクに備えるための戦略をあらかじめ策定しておくことが不可欠です。

FAQs

No items found.

セキュリティ専門家とともに、
クラウドを防御する正しい方法を試してみよう