目次
1. オブジェクトロック
詳細
概要
S3オブジェクトロックは有効にすることで、S3オブジェクトが一定期間または無制限に上書きまたは削除されることを防ぐことができる機能。
バケット全体ではなくオブジェクトに対してのロックなので注意!!
バケットの設定でオブジェクトロックをオンにすると、バケット内の全てのオブジェクトに対してオブジェクトロックが有効になる。
オブジェクトロックを使用する条件
・バージョニングが有効になっていること
⇒オブジェクトロックは特定のバージョンのオブジェクトに対して上書きまたは削除されることを防ぐ
⇒オブジェクトの新しいバージョンを作成することが阻害されたり、オブジェクトの上に追加される削除マーカー(これがあると実際には削除されていないが、S3はこのオブジェクトが削除されたようにふるまう)が削除されることはありません
保持期間
オブジェクトロックが有効化されると、設定された保持期間の間オブジェクトが上書きまたは削除されることを防ぐことができる。
S3バケットにデフォルトの保持期間を設定しておくこともできる。
リーガルホールド
保持期間と同様にオブジェクトが上書きまたは削除されるのを防ぐことができるが、保持期間と異なりオブジェクトロックが削除されるまでの間は永久的に有効。
保持期間とは独立しているため、保持期間とリーガルホールドの両方が設定されているオブジェクトにおいて片方のみが解除されたとしてももう片方の設定が有効であれば、オブジェクトロックが有効に
2つのモード
・コンプライアンスモード
AWSのrootユーザーを含めてあらゆるユーザーによるオブジェクトの上書きまたは削除を防ぐことができるモード
一度設定するとモードの変更や保持期間を既存より短い設定に変更することができなくなる
保持期間中にオブジェクトを削除する唯一の方法は対象のオブジェクトに関連するAWSアカウントが全て削除された場合のみ
・ガバナンスモード
AWSのrootユーザーなど特定の権限を持っているユーザー以外によるオブジェクトの上書きまたは削除を防ぐことができるモード
必要に応じて一部のユーザーにオブジェクトの保持設定や、削除をするアクセス権限を付与できる
参考
https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/object-lock.html
2. 署名付きURL
詳細
S3バケットのバケットルールを変更せずに一時的にS3バケットへのアクセスをできるようすることができる 認証権限はURLを作成したユーザーのものが使用される3. ACL(アクセスコントロールリスト)
詳細
### 参考 https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/acl-overview.html4. S3イベント通知
詳細
概要
S3で特定のイベントが発生した時に通知を受領することができる。
対象のイベント
・新しいオブジェクトの作成イベント
・オブジェクトの削除イベント
・オブジェクトイベントの復元
・低冗長化ストレージ (RRS) オブジェクトの紛失イベント
・レプリケーションイベント
・S3 ライフサイクルの有効期限イベント
・S3 ライフサイクルの移行イベント
・S3 Intelligent−Tiering 自動アーカイブイベント
・オブジェクトのタグ付けイベント
・オブジェクト ACL PUT イベント
イベントの送信先
・Amazon Simple Notification Service (Amazon SNS) のトピック
・Amazon Simple Queue Service Amazon SQS キュー
・AWS Lambda 関数
・Amazon EventBridge
イベントの順序付けと重複について
S3イベント通知は各イベントの発生毎に最低でも一回の通知を保証しているが、通知の送信順がイベントの発生順になることは保証していない。
また、場合によっては同じオブジェクトのS3イベント通知が複数回発生してしまうこともある。
同じオブジェクトに対する複数の処理が短い間に発生し、S3イベント通知が発生順でない順で送信された場合はイベント通知に用いられるJsonオブジェクト内にあるシーケンサーの16進数値が大きい方がS3で後に発生したオブジェクトとして認識されます。
参考
https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/EventNotifications.html
https://qiita.com/zumax/items/3d453d2e76beb011b6d9
https://aws.amazon.com/jp/blogs/storage/manage-event-ordering-and-duplicate-events-with-amazon-s3-event-notifications/
https://docs.aws.amazon.com/AmazonS3/latest/userguide/notification-content-structure.html