S3のアクセス制御方法
バケットポリシーを使う場合
・自分のAWSアカウントのIAMユーザーやほかのAWSアカウントに対して、オブジェクトもしくはバケットへのアクセス権限を設定する場合はこれを使う
・アクセスしてきたIPアドレスやドメイン名を見て、アクセス制御することもできる
S3のACLを使う場合
・ほかのAWSアカウントに対して、オブジェクトもしくはバケットへの読み取り/書き込み操作を許可する場合はこれを使う
・アクセスしてきたIPアドレスやドメイン名を見て、アクセス制御することはできない
署名付きURLを使う場合
・非公開設定されたオブジェクトに対して、AWSアカウントを持ってないユーザーなどにアクセスさせたい場合はこれを使う
・署名付きURLとは、非公開オブジェクトにアクセスでき、ダウンロード/アップロードをこなせる有効期限付きのURLのこと
オブジェクトロックの種類
リーガルホールド
ロック期間が無限の設定
権限を持たないユーザーに対して、リーガルホールドが解除されるまでオブジェクトを読み取り専用にする
リテンションモード
ロック期間が有限の設定
一定の期間だけ、オブジェクトを読み取り専用にする
期間中、ルート含むすべてのユーザーが読み取り専用になるコンプライアンスモードと、権限を持たないユーザーのみ読み取り専用になるガバナンスモードの2種類がある
ライフサイクルポリシー
S3バケット内のデータに対して、ストレージクラスの変更やオブジェクトの削除を自動化する機能
S3のストレージクラス
①スタンダード
すぐアクセスできて、アクセス頻度の高いデータ向け
②STANDARD-IA
すぐアクセスできて、アクセス頻度の低いデータ向け(1ヶ月に1回くらい)
③One Zone-IA
すぐアクセスできて、アクセス頻度が低く(1ヶ月に1回くらい)、万が一ぶっ飛んで消えてもいいデータ向け
④Intelligent-Tiering
アクセス頻度が不明なデータ向け
⑤Gracier Instant Retrieval
すぐアクセスできて、4ヶ月に1回くらいアクセスするデータ向け
⑥Gracier Flexible Retrieval(ふつうのGracier)
アクセスに数分から数時間かかり、1年に1回くらいアクセスするデータ向け
⑦Gracier Deep Archive
アクセスに数時間かかり、1年に1回アクセスするかどうかもわからないデータ向け
Gracierのデータ取り出しオプション
①標準取り出し
普通に取り出す
②迅速取り出し
追加料金を払って標準取り出しよりも早くデータを取り出す
③大容量(バルク)取り出し
バカでかいデータを取り出す
標準より時間かかるけど、料金は安い
S3のデータ暗号化
サーバー側の暗号化
データをS3に保存するときにサーバー側で暗号化する方法
S3にデータが保存されるタイミングでS3が暗号化する
複合化もS3が行う
・SSE-S3
複合化のカギはS3が管理する
・SSE-KMS
複合化のカギはKMSで管理する
・SSE-C
複合化のカギはユーザーで管理する
クライアント側の暗号化
データをユーザーが暗号化してからS3に保存する方法
複合化もユーザーが行う