S3記事タイトルとURLをコピーするこんにちは!クラウドインテグレーション部技術1課のイーゴリです。本件の記事では、S3バケットのオブジェクトロックを設定してみましたので、ご紹介させて頂きます。保持モードコンプライアンスモードガバナンスモード注意事項S3オブジェクトロックとは簡単に説明しますと、S3のオブジェクトロックとは、S3内にある対象のオブジェクトが絶対に削除されないようにするための保護機能となります。ロックする期間を設定することができます。AWSページに下記の説明が書いてあります。モデルを使用してオブジェクトを保存できます。オブジェクトロックにより、オブジェクトが削除または上書きされることを、一定期間または無期限に防止できます。ストレージを必要とする規制要件を満たしたり、オブジェクトの変更や削除に対する保護レイヤーを追加したりできます。新規のS3バケットを作成する場合[サービス]>[S3]>[バケット]>[バケットを作成]をクリックします。[バケット名]でS3名を入力します。ap-northeast-1]を選択します。ブロック]にチェックを残します。オブジェクトロックまでの設定は省きます。オブジェクトロックを有効化するには、[▶詳細設定]をクリックします。[オブジェクトロック]で[有効にする]を選択し、[オブジェクトロックを有効にすると、このバケット内のオブジェクトが永続的にロックされることを了承します。]をチェックしてから、[バケットを作成]をクリックします。注意点:S3バケットの作成時に、上記のオブジェクトロックの有効化を設定しないと、下記の「既存のS3バケットでオブジェクトロックを有効化にしたい場合」の通り、サポートにケースを起票しないといけなくなるので、ご注意ください。既存のS3バケットでオブジェクトロックを有効にする場合2022/2の時点で既存のS3バケットでオブジェクトロックを有効にしたい場合、[サービス]>[S3]>[バケット]で対象のS3のプロパティに入りますと、[オブジェクトロック]で[編集]ボタンを押せなくなり、[編集]ボタンの下に下記のメッセージが表示されます。現在、バケット作成後のオブジェクトロックの有効化をサポートしていません。このバケットのオブジェクトロックを有効にするには、カスタマーサポートに連絡してください自分では既存のS3バケットのオブジェクトロック設定を有効化できないため、上記のメッセージの通り、サポートに連絡し、トークンの発行依頼のためのケースを起票します。もらったトークンをCLIコマンドで対象S3に適用します。注意点:既存のS3バケットのオブジェクトロックを有効化しても、既存のオブジェクトに関してはオブジェクトロックされません。上記のS3バケットの設定を行ってもオブジェクトロックの設定は完了していませんので、ご注意ください。試しにこの時点で、オブジェクトを削除してみるとまだ削除することができます。オブジェクトロックされていませんが、S3バケットの作成時にオブジェクトロックを有効にする場合、バケットのバケットバージョニングが自動的に有効化されているため、下記のように削除したファイルを復元することができますが、まだ保持期間が設定されていないため、どのバージョンも削除可能となります。対象S3バケットで[バージョンの表示]をクリックすると、下記の画像のように、削除されたオブジェクトが表示されるので、対象のオブジェクトを復元することができます。オブジェクトロックの対象オブジェクトロックの設定を完了するために、下記の2つの方法があります。下記の2つの方法は合わせて使えますし、どちらかを選択することも可能です。バケットのデフォルトオブジェクトロックバケットのデフォルトの保持期間→オブジェクトをアップロードする時にデフォルトでオブジェクトロックの保持期間が適用されます。デフォルトの保持期間を30日間に設定する場合、オブジェクトをアップロードしたら、オブジェクト保持期間が30日間となります。デフォルトの保持期間の数値を上げることも下げることもできますが、アップロードされた時点からデフォルトの保持期間が適用されますので、ご注意ください。オブジェクト単位のオブジェクトロックバケット内のオブジェクト単位の保持期間→アップロードされたオブジェクト保持期間を個別に設定します。アップロードされたオブジェクトAを3/20までにロックしたい場合、個別に3/20日までのロックを設定することができます。コンプライアンスモードの場合、例えば、オブジェクトの保持期間を3/20に設定しますと、日付を上げることはできますが(3/20から3/21移行に変更)、下げることができません(3/20から3/19以下に変更)ので、ご注意ください。→コンプライアンスモードの場合、保持期間が切れるまでオブジェクトを削除できません!バケットのデフォルトの保持期間を設定する場合[サービス]>[S3]>[バケット]>対象S3バケットをクリックし、[プロパティ]をクリックします。[オブジェクトロック]で[編集]をクリックします。[オブジェクトロックを編集]の画面で[デフォルトの保持期間]の[有効にする]を選択します。[デフォルトの保持モード]で要件に応じて適切なモードを選択します。私の場合、[コンプライアンスモード]を選択し、[デフォルトの保持期間]を選択します。※デフォルトの保持モードについて、下記の画像に書いてある通りですので、ご参考ください。[変更の保存]をクリックします。バケットのデフォルトの保持期間を日、もしくは年の単位で設定することができます。今回は3日に設定します。上記の設定を行った後にアップロードされたオブジェクトを削除してみますと、ファイルの削除自体が可能ですが、保持期間が設定されているバージョンの一覧から削除してみますと、オブジェクトの削除ができませんので、下記のエラーが発生します。今回は保持期間を3日に設定したので、3日経たないと、アップロードされたオブジェクトの削除ができません。バケット内のオブジェクト単位の保持期間を設定する場合バケット内の対象S3オブジェクトをクリックします。[プロパティ]をクリックし、[オブジェクトロック]で[編集]をクリックします。[オブジェクトロックを編集]の画面で[デフォルトの保持期間]の[有効にする]を選択します。保持モード保持期間の設定時に、2つある保持モードから1つを選択しないといけません。コンプライアンスモードコンプライアンスモードは、保持期間中はどのユーザーも、保護されたオブジェクトバージョンを上書きまたは削除することはできませんので、ご注意ください。アカウントを閉じる必要があります。アクセス許可を持つユーザーは、保持期間中に、保護されたオブジェクトを上書きまたは削除することができます。したオブジェクトロックは無効にすることが出来ません。オブジェクトロックを有効にすると、オブジェクトロックを無効にしたり、バケットのバケットバージョニングを停止したりすることはできません。[デフォルトの保持期間]を無効にすることができます(デフォルトの保持期間を設定した場合)。・オブジェクトロックを有効にすると、バージョニング(バージョニングの料金を参照)も自動的に有効化になりますので、ご注意ください(無効化できません)。以上、御一読ありがとうございました。2009-引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。