SSE-S3
RustFS のバケットとオブジェクト書き込みに、サーバー管理の SSE-S3 暗号化を設定します。
SSE-S3 は、S3 の AES256 暗号化モードを使います。RustFS は、暗号化するオブジェクトごとに一意のデータ暗号化鍵を生成し、設定した KMS サービスでその鍵をラップします。クライアントは暗号化鍵を提供せず、保持もしません。
要件
- KMS を設定して起動し、デフォルト鍵を作成し、SSE-S3 を有効にする前にその鍵が利用できることを確認します。
rcをインストールして設定します。- 対象のバケットを作成し、通常のオブジェクト書き込みが成功することを確認します。
KMS が利用できることが必要です
KMS が利用できない場合でも、RustFS は SSE-S3 のバケットデフォルトを受け付けます。ただし、その状態で暗号化したオブジェクトの書き込みは失敗します。本番データにバケットを使う前に、暗号化された書き込みと読み取りを確認します。
バケットのデフォルト暗号化を設定する
オブジェクト単位の暗号化モードを指定しない新しい書き込みに、SSE-S3 を適用します。
rc bucket encryption set rustfs/my-bucket --mode sse-s3
rc bucket encryption info rustfs/my-bucket報告されるモードは SSE-S3 になるはずです。
テストオブジェクトをアップロードして読み取ります。
rc object copy /path/to/hello.txt rustfs/my-bucket/hello.txt
rc object show rustfs/my-bucket/hello.txt1 つのオブジェクトを明示的に暗号化する
バケットのデフォルトを変えずに、単一の宛先へ SSE-S3 を適用します。
rc object copy /path/to/hello.txt rustfs/my-bucket/hello.txt \
--enc-s3 rustfs/my-bucket/hello.txt再帰的な書き込みでは、暗号化セレクターが宛先のプレフィックスと完全に一致する必要があります。
rc object copy ./reports/ rustfs/my-bucket/reports/ --recursive \
--enc-s3 rustfs/my-bucket/reports/バケットのデフォルトを解除する
デフォルトルールを削除します。
rc bucket encryption clear rustfs/my-bucket
rc bucket encryption info rustfs/my-bucketバケットのデフォルトを解除または変更しても、影響するのは以降の書き込みだけです。既存のオブジェクトは復号も書き換えもされません。
リクエストヘッダー
S3 クライアントは、次のヘッダーで SSE-S3 を要求します。
x-amz-server-side-encryption: AES256オブジェクト単位のリクエストは、その書き込みについてバケットのデフォルトを上書きします。オブジェクト単位のモードが指定されていない場合、RustFS はバケットの暗号化設定から有効なモードを解決します。
次のステップ
明示的な KMS 鍵 ID が必要な場合は SSE-KMS を使います。クライアントが保持する鍵については SSE-C と比較します。