【AWS】S3の整合性モデルとアクセス管理


プログラミング勉強日記

2021年6月2日

S3の整合性モデル

 S3は高い可用性を実現するために、強い整合性は持っていない。同時書き込み時はタイムスタンプ処理を実施している。データ更新・削除には結果整合性モデルを採用している。そのため、データ操作をしている途中はデータの矛盾が発生する可能性がある。

データ処理 整合性モデル
新規登録 Consistency Read 登録後即時にデータが反映される
更新 Eventual Consistency Read 更新直後はデータ反映に時間がかかる
削除 Eventual Consistency Read 削除直後はデータ反映に時間がかかる

S3のアクセス管理

 S3のアクセス管理は用途に応じで方式を使い分ける。他のストレージと違ってS3はインターネットから誰でもアクセスできるように使える。これを設定するにはパブリックアクセスを設定する。(パブリックアクセスを許可すると誰でもS3バケットのオブジェクトの読み込みができる)

IAMユーザーポリシー

 IAMユーザやサービスに対してS3サービスへのアクセス権限を設定できる。一元的にユーザ権限を管理する。

バケットポリシー

 バケットへのアクセス権をJSONで設定する。他のアカウントへの許可も可能。バケット単位の高度なアクセス管理向け。(IPアドレスの限定もできる。)

ACL

 バケットと個々のオブジェクトへのアクセス権限をXMLで設定する。他アカウントへの許可も可能。簡易的にアクセス管理う向け。

署名付きURL

 AWS SDKで生成した署名付きURLでS3のオブジェクトへの一定時間アクセスを許可する。一時的なアクセス権限を外部のユーザ(IAMユーザ以外)に渡したいときなどに使用する。