みなさん、こんにちは。サニービュー事業部の小寺です。
Amazon S3の暗号化がデフォルト設定になったので、お知らせです。

https://aws.amazon.com/jp/blogs/aws/amazon-s3-encrypts-new-objects-by-default/

アップデート内容

今まで「暗号化」の設定はデフォルトではオフになっていました。特に暗号化の設定なしが元々の仕様でしたが、このアップデートでAmazon S3のバケット作成時に「SSE-S3」がデフォルトの暗号化として設定されるようになりました。
SSE-S3 は、AWS が管理する 256 ビット キーによる Advanced Encryption Standard (AES) 暗号化を使用します

アップデートにより、今まで暗号化するには設定をする必要がありましたが「zero click」でセキュリティを担保された設定がされるようになっています。
つまり暗号化しないという暗号化の「無効」を選ぶことができなくなっています。
バケットの新規作成について、コンソールから確認しました。以下の状態がデフォルトに変更されています。

S3の暗号化とは

S3の暗号化について整理してみます。保管時(Amazon S3 データセンター内のディスクに格納されているとき)のデータを暗号化して保護するものとして考えてみます。

●サーバサイドの暗号化

AWSのサーバリソースを利用して格納データの暗号化処理を実施します。

・SSE-S3:AWSが管理する鍵を利用して暗号化
・SSE-C:ユーザが提供した鍵を利用して暗号化(AWSで鍵は管理しない)
・SSE-KMS:AWS Key Management Service (AWS KMS) が暗号化キーを管理

●クライアントサイドの暗号化

データをローカルに暗号化して、Amazon S3 サービスにデータを渡す際にデータの安全性を保証します。Amazon S3 サービスは、暗号化されたデータを受け取るだけで、データの暗号化または復号には関与しません。

・Amazon S3暗号化クライアント ライブラリ
現在では、Java、.Net、Ruby、PHP、Go、および C++ AWS SDKがサポートされています。詳細はこちら

クライアント側の暗号化を有効にするには、AWS Key Management Service (AWS KMS) に保存されているキーを使用する、もしくはアプリケーション内に保存したキーを使用するの2つのパターンで利用できます。

今まで作られたオブジェクトはどうなる?

既に作成済のバケットについては、影響を受けず今まで通りの利用が可能です。
影響を受けないというのは、暗号化されていないオブジェクトがSSE-S3で自動的に暗号化されることはありません。また他の暗号化手法、例えば「SSE-KMS」で暗号化されているオブジェクトの暗号化の種類が「SSE-S3」に自動的に変更されることもありません。

費用

本アップデートに伴い追加のコストの発生はありません。S3のSSE-S3は無料で利用できます。

対象リージョン

本変更は、AWS GovCloud (US) と中国リージョン含めて全てのリージョンで可能です。