カテゴリ: AWS 更新日: 2025/12/06

AWS S3のデータ保護(オブジェクトロック・WORM設定)を初心者向けにやさしく解説

AWS S3のデータ保護(オブジェクトロック・WORM設定)
AWS S3のデータ保護(オブジェクトロック・WORM設定)

先生と生徒の会話形式で理解しよう

生徒

「先生、S3に保存したファイルって、間違えて消しちゃうこともあるんですか?」

先生

「はい、通常の設定では誰かが削除できてしまうんです。でも、『オブジェクトロック』という機能を使えば、一定期間は削除できなくすることができます。」

生徒

「それってデータを守るための設定なんですね?どうやって使うんですか?」

先生

「そうです。さらに『WORM(ワーム)』という仕組みと組み合わせると、完全に書き換えや削除ができなくなるんです。順番にやさしく説明しますね。」

1. S3のデータ保護とは?

1. S3のデータ保護とは?
1. S3のデータ保護とは?

AWS(エーダブリューエス)のS3(エススリー)は、クラウド上にファイルを保存するサービスですが、そのままだと誤って削除されたり、上書きされたりするリスクがあります。

そうしたリスクから大切なデータを守るために、S3には「データ保護」機能が用意されています。その代表が「オブジェクトロック(Object Lock)」と「WORM(ワーム)」です。

2. オブジェクトロック(Object Lock)とは?

2. オブジェクトロック(Object Lock)とは?
2. オブジェクトロック(Object Lock)とは?

オブジェクトロックとは、S3のバケットに保存されたファイル(オブジェクト)を一定期間または永久に削除・上書きできなくする機能です。

誤操作や悪意のある削除、ランサムウェアからの保護など、企業や官公庁で使われる重要なセキュリティ機能です。

たとえば、法律や社内ルールで「このデータは5年間保管すること」と決まっている場合に役立ちます。

3. WORM(ワーム)とは?

3. WORM(ワーム)とは?
3. WORM(ワーム)とは?

WORM(読み方:ワーム)とは、「Write Once, Read Many(ライト・ワンス・リード・メニー)」の略です。

日本語にすると「一度書いたら、何度でも読むことはできるけど、変更や削除はできない」という意味です。

S3のオブジェクトロックとWORM設定を使えば、WORM方式でファイルを保護できます。つまり、一度保存したら誰にも変更・削除できない状態にできるということです。

4. オブジェクトロックを使うための前提条件

4. オブジェクトロックを使うための前提条件
4. オブジェクトロックを使うための前提条件
  • オブジェクトロックは、バケット作成時に有効にする必要があります。
  • 後からバケットに追加することはできません。
  • バージョニング(読み方:バージョニング)も有効にする必要があります。

つまり、あらかじめ「このバケットではファイルを保護したい」と決めて作る必要があります。

5. オブジェクトロックの2つのモード

5. オブジェクトロックの2つのモード
5. オブジェクトロックの2つのモード

オブジェクトロックには、次の2つのモードがあります。

① コンプライアンスモード(Compliance Mode)

このモードでは、設定した期間中は絶対に削除も上書きもできません。管理者でさえ変更できないので、法律対応などに向いています。

② ガバナンスモード(Governance Mode)

このモードは、特別な権限があれば削除などができます。テストや社内ルールに基づいた運用に向いています。

6. オブジェクトロックの設定手順(初心者向け)

6. オブジェクトロックの設定手順(初心者向け)
6. オブジェクトロックの設定手順(初心者向け)

① バケット作成時に「オブジェクトロックを有効化」

AWSマネジメントコンソールでS3を開き、「バケットを作成」ボタンを押します。下の方にある「オブジェクトロックを有効化する」にチェックを入れます。

② バージョニングを有効にする

同じ画面内で「バージョニングを有効にする」も選んでおきます。これがないとロック機能が使えません。

③ ファイルをアップロードしてロックを設定

バケットにファイルをアップロードする際、「保持期間(Retention)」の設定ができます。たとえば「365日間」や「特定の日付まで」などです。

④ モードを選択

「コンプライアンス」か「ガバナンス」を選んで設定を完了します。

7. オブジェクトロックとWORMを活用するメリット

7. オブジェクトロックとWORMを活用するメリット
7. オブジェクトロックとWORMを活用するメリット
  • 法律・監査対策(一定期間削除不可)
  • 重要データの誤削除防止
  • ランサムウェアなどの攻撃から守る
  • 一度書いた記録を守り、安心して長期保存できる

たとえば、会社の契約書や重要なログファイル、行政文書などを保護するのに最適です。

まとめ

まとめ
まとめ

AWSのS3におけるデータ保護の仕組みは、クラウドを利用するあらゆる利用者にとって非常に重要な意味を持ちます。特に、オブジェクトロックやWORM方式のような削除防止機能は、企業の法令遵守や情報セキュリティ対策に直結する要素であり、誤削除や悪意ある上書きなどから大切な情報を守るための強力な仕組みです。これらの保護機能は、ただ削除できないようにするという単純な仕組みだけではなく、保持期間の設定、運用形態に応じたモード選択、バケット作成時の事前計画など、複数の要素が組み合わさって成り立っています。そのため、初心者の段階から正しく理解して運用に活かすことで、より安全で確実なデータ管理を行うことができます。 S3のデータ保護に関わる重要な点として、まず「オブジェクトロックはバケット作成後に追加できない」という前提があります。この仕様は日常の運用でも見落とされがちで、後から設定しようとして手間が生じるケースも少なくありません。事前に保護が必要なデータの性質や保管期間、利用目的などを整理し、適切な構成でバケットを作成することで、安全性と運用効率の両方を高めることができます。また、バージョニングを有効にすることも必須であり、これによって過去のオブジェクト世代を個別に保持しながら保護する仕組みが形成されます。 コンプライアンスモードとガバナンスモードは、オブジェクトロックの中でも特に重要な仕組みで、これらを理解して使い分けることでより柔軟なデータ保護が実現します。コンプライアンスモードは強固な保護を求められる場合に有効であり、法律や規制の対応が求められる業務領域で多く利用されます。一方で、ガバナンスモードは権限を持つユーザーが一定の操作を行えるため、管理者が関与する社内運用や試験環境などに向いています。この二つの違いを迷わず選べるようにすることは、適切なセキュリティレベルを維持するうえで欠かせません。 オブジェクトロックの保持期間設定は、実際の運用現場では非常に重要な判断事項です。保持期間を永続的に設定するケースもありますが、多くの企業では文書やログデータなどの保存期限に合わせて日数を指定する運用が一般的です。一度設定した保持期間は短縮できないため、適切な期間を慎重に検討する必要があります。また、期間終了後は通常のオブジェクトと同様に管理できるため、長期保存の必要がないデータは柔軟に削除や更新ができるようになります。このバランスが運用上の負担を減らし、適切な情報管理につながります。 S3のデータ保護機能を一度理解すると、実務への応用範囲は非常に広がります。たとえば、監査向けログ、契約書データ、重要記録、アプリケーションの証跡、バックアップ情報など、さまざまな場面でオブジェクトロックやWORMが役立ちます。特に近年はサイバー攻撃の増加やランサムウェアの脅威が深刻化しており、意図しないデータ改ざんや削除に備える仕組みは以前より重要視されています。S3を使いながら安全なデータ管理を実現するには、これらの仕組みを正しく使いこなすことが不可欠です。 下記には、実際にS3に対してオブジェクトロック設定を扱う際のイメージがつかみやすいよう、簡単なサンプルコードを掲載しています。実際の運用環境に合わせてパラメータを調整することで応用可能です。記事の流れと同じようなclass構造やタグを利用しているため、そのまま学習や資料として活用しやすくなっています。

サンプルプログラム(例)

import boto3
from datetime import datetime, timedelta

s3 = boto3.client("s3")

def set_object_lock(bucket, key):
    retention_date = datetime.utcnow() + timedelta(days=365)
    response = s3.put_object_retention(
        Bucket=bucket,
        Key=key,
        Retention={
            "Mode": "COMPLIANCE",
            "RetainUntilDate": retention_date
        }
    )
    return response

result = set_object_lock("sample-bucket", "sample.txt")
print(result)
先生と生徒の振り返り会話

生徒
「きょうの内容で、オブジェクトロックとWORMがどれくらい大切なのかがよく分かりました。普通に保存しているだけだと消えることがあるんですね。」

先生
「その通りです。特に企業や役所などでは消えてはいけないデータがたくさんありますから、仕組みを理解して使い分けることが大切なんですよ。」

生徒
「モードの違いも分かりやすかったです。コンプライアンスは絶対に消せない、ガバナンスは特別な権限があると変更できるんですね。」

先生
「そうです。運用目的に応じて選べるのがS3の良いところです。これからS3を使うときは、どのデータが保護対象なのか意識しながら設計していきましょう。」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

S3のデータ保護とはどんな仕組みのことですか?

S3のデータ保護とは、AWS S3に保存したファイルが誤って削除されたり、上書きされたりしないように守るための仕組みです。オブジェクトロックやWORM設定によって、一定期間の削除防止や書き換え禁止を実現できます。

理解度のクイズ問題

理解度のクイズ
この記事の理解度をクイズで確認しよう

空欄の★に当てはまる内容を答えてください。

問題
S3で重要なファイルを誤削除や上書きから守るには、保存後の変更や削除を制限する仕組みを使います。 代表例は オブジェクトロック で、一定期間(または無期限)オブジェクトの削除・上書きを禁止できます。 この機能を利用する前提として バージョニング の有効化が必要で、バケットは作成時にロック機能をオンにしておく必要があります。 運用では「ガバナンス」「コンプライアンス」の各モードや保持期間(Retention)を設定し、WORM方式で監査やランサムウェア対策に役立てます。
S3 バケット作成
  ├─ オブジェクトロック を有効化
  ├─ バージョニング を有効化
  └─ オブジェクトに保持期間を設定(例:365日/特定日付まで)
【ヒント】 ・保持期間中の削除/上書き可否はモードで異なる(コンプライアンスは強制、ガバナンスは権限で解除可)。 ・ロックはバケット作成時に有効化する点がポイント。 ・関連キーワード:AWS S3、Object Lock、WORM、Retention、Compliance/Governance、データ保護、初心者向け。

下記をクリックすると、解答が表示されます
カテゴリの一覧へ
新着記事
New1
シェルとターミナル基礎
Linuxのシェルとは?初心者でもわかる役割と基本を完全解説
New3
Linux ディストリビューション
Linuxディストリビューションの選び方完全ガイド!初心者でも失敗しない選択基準とおすすめの選び方
人気記事
No.1
Java&Spring記事人気No1
S3(オブジェクトストレージ)
AWS S3の料金体系をわかりやすく解説
No.2
Java&Spring記事人気No2
AWS 基本
AWSの公式料金計算ツール(Pricing Calculator)の使い方
No.3
Java&Spring記事人気No3
S3(オブジェクトストレージ)
AWS S3イベント通知を設定してLambdaをトリガーする方法を初心者向けに解説!
No.4
Java&Spring記事人気No4
ELB(ロードバランサー)
AWS ELBでターゲットグループを設定する方法を初心者向けに解説!
No.5
Java&Spring記事人気No5
VPC(プライベートクラウド)
AWS VPCでNATゲートウェイを構成してプライベートサブネットから外部アクセスする方法を初心者向けに解説!
No.6
Java&Spring記事人気No6
Direct Connect(専用線接続)
AWS Direct Connect Gatewayの使い方と制限事項を初心者向けにやさしく解説
No.7
Java&Spring記事人気No7
RDS(データベース)
AWS RDSのスケーリング(インスタンスサイズ変更)を初心者向けにやさしく解説!
No.8
Java&Spring記事人気No8
Linux 基礎概要
Linuxとは何か?初心者向けに意味・特徴をわかりやすく解説