2021年11月30日火曜日

AWS S3 オブジェクトロックを理解する

S3バージョニング

バケットにあるオブジェクトのバージョンidを知るには

aws s3api list-object-versions --bucket <bucket-name>

オブジェクトロックを理解する

Default retensionの設定

- bucket作成時に設定可能、変更も可能

- consoleで修正可能

- consoleからbucketにObjectを入れるときは必ずこの設定になる

CLIでput-objectで設定する

- オブジェクトごとに設定できる

- 指定しないとDefaultになる

Legal Hold

- 削除不可になる

- ON/OFFを変えられる

- オブジェクトの上書きはできる。前のは前のバージョンとして残る。

以下では、sample-lock.txt というファイルに対して設定する

ON/OFFを変える

aws s3api put-object-legal-hold --bucket <bucket-name> --key sample-lock.txt --legal-hold Status=ON

ON/OFFを調べる

aws s3api get-object-legal-hold --bucket <bucket-name> --key sample-lock.txt
{
	"LegalHold": {
			"Status": "OFF"
	}
}

- bucket全体に同時にセットすることはできない

  - オブジェクトに対してなので, 都度設定する

ストレージクラスの変更はできる?

できる。コピーが作られる、そのコピーにはObject Lock設定はされていない。

コピーしない場合は、Lifecycle ruleを使う

- This action creates a new version of the object with updated settings and a new last-modified date. You can change the storage class without making a new copy of the object using a lifecycle rule.

- Copied objects will not retain the Object Lock settings from the original objects.

- Objects copied with customer-provided encryption keys (SSE-C) will fail to be copied using the S3 console. To copy objects encrypted with SSE-C, use the AWS CLI, AWS SDK, or the Amazon S3 REST API.

消せないけど上書きできる

Object Lockはversionに対してセットされる。

つまり、Object(versionなし)自体は削除できる。DeleteMarkerがつく。

このDeleteMarkerは削除できる→Objectは戻る

aws s3api put-object  --bucket <bucket-name> --key sample-lock.txt --body sample-lock.txt --object-lock-mode COMPLIANCE  --object-lock-retain-until-date "2021-07-10"

retensionは100年まで可能。ポリシーで最大10日等に変更する

Setting retention limits

https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-managing.html#object-lock-managing-retention-limits

S3 Object Lock追加されたのは November 26, 2018

Amazon S3 now offers Object Lock functionality that provides Write Once Read Many protections for Amazon S3 objects.

0 件のコメント:

コメントを投稿