ヤマムギ

growing hard days.

*

S3オブジェクトロックを試しました

   

S3オブジェクトロックが必要になる要件に今のところ、出会ってないのでまだ設定したことがありません。
なので試しておきます。

バケットの作成

現時点で既存のバケットではオブジェクトロックを有効にできません。
ただし、「Amazon S3は現在、バケット作成後のオブジェクトロックの有効化をサポートしていません。このバケットのオブジェクトロックを有効にするには、カスタマーサポートに連絡してください」と記載があるので、サポートに連絡したらできるのかもしれません。
できるのであれば、そのうちサポートに連絡しなくてもできるようになるかもですね。

今回は新規でバケットを作成して有効化しました。

オブジェクトロックを有効にすると、自動的にバージョニングも有効になりました。
そしてバージョニングは停止することはできない。と。

2つのモードがありますのでその比較をするために2つのオブジェクトをアップロードしました。

コンプライアンスモード

1つはコンプライアンスモードにしました。
ルートユーザーであっても、保持期間内は、削除、上書きできないモードです。
頼もしいですね。
まさに「コンプライアンス要件を満たす」オブジェクトになりました。

とりあえずオブジェクトを選択して削除してみました。
できました。当然です。

バージョニングが有効なので、オブジェクトの実体が削除されたのではなく、新しいバージョンとして削除マーカーが作成されました。

次はバージョン指定して削除してみます。

アクションが拒否されました。
また、1/5になったら削除してしまおうと思います。

ガバナンスモード

s3:BypassGovernanceRetention
s3:GetBucketObjectLockConfiguration

保持期間内であっても上記のアクションが許可されたIAMユーザーなら削除、上書きできます。
ということで、特定ユーザー以外に対してロックされた、「ガバナンスの効いた」オブジェクトにすることができました。

では、こちらは権限のあるユーザーでバージョンを指定して削除してみます。

正常に削除できました。

保持期間内には削除する必要が一切ない場合は、コンプライアンスモードが確実で安全ですね。


最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「AWS認定資格試験テキスト AWS認定AIプラクティショナー」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。

 - AWS ,

  関連記事

Amazon VPCでIPv6を使用する

VPCのIPv6を設定してみました。 設定 [Amazon 提供の IPv6 C …

ハンズオン: サーバーレスアーキテクチャ ~AWS認定デベロッパーアソシエイト(DCA-C02)~

このブログは2026年6月29日翔泳社さんより発売される「AWS教科書 AWS認 …

AWS App RunnerでGithubリポジトリからデプロイ

AWS App Runner開発者ガイドのチュートリアルをやってみました。 Gi …

EC2にSystems MangerからCloudWatchエージェントをインストール

CloudWatchエージェント EC2の標準メトリクスでは収集できないメモリの …

Amazon Quantum Ledger Database(QLDB)でサンプル台帳の作成と検証

Quantum Ledger Database(QLDB)を触ったことなかったの …

Amazon Q Developer for CLIでAWS Diagram MCP Serverを使ってAWSアイコンを使った図を書いてもらいました

MacにインストールしているAmazon Q Developer for CLI …

EC2 Linux ユーザーデータ実行ユーザーとカレントディレクトリの確認

きっと、rootなんだろうなあと認識してたのですが、自分の目で確認したことはなか …

Systems Manager パッチマネージャでベースラインを作成して適用する

ベースラインの作成 Systems Managerのパッチマネージャーでパッチベ …

VPC内のLambdaからVPCエンドポイント経由でSecrets Managerを使う

InternetGatewayのないVPCでMySQLに対して一日数回のレポーテ …

AWS EC2 でインスタンスにIPアドレスを紐付ける

AWS EC2で作ったサーバは何もしなければ起動するたびにIPアドレスが変わって …