S3 互換性マトリックス
現在の RustFS 互換性ゲートでテスト済みおよび意図的に除外されている Amazon S3 の動作を確認します。
RustFS は、テスト済みの Amazon S3 API のサブセットを実装しています。このマトリックスは、rustfs/rustfs で管理される実行可能な Ceph s3tests リストをまとめたもので、標準またはベンダー固有のすべての S3 動作を網羅するものではありません。
以下のスナップショットは、2026 年 8 月 9 日に RustFS コミット 1e6f5f1e に対して検証しました。
ステータスの凡例
| ステータス | 意味 |
|---|---|
| ✅ テスト済み | デフォルトまたはライフサイクル互換性ゲートで検証済み |
| ❌ 予定 | 未実装として追跡されている標準動作 |
| ⊘ 除外 | ベンダー固有、意図的に未サポート、またはデフォルトゲートの対象外 |
実行可能なテストリスト
| リスト | ケース数 | 役割 |
|---|---|---|
| 実装済みテスト | 455 | デフォルトゲートで成功が期待される標準ケース |
| ライフサイクル動作テスト | 5 | 専用のライフサイクルゲートで実行する期限切れケース |
| 未実装テスト | 17 | 今後の実装対象である標準動作 |
| 除外テスト | 270 | RustFS 互換性ゲートをブロックしないケース |
空行とコメントは件数に含まれません。変更に伴ってテストはリスト間を移動するため、最新結果はリンク先のファイルで確認してください。
バケット操作
| 機能 | ステータス | 範囲 |
|---|---|---|
| バケットの作成、削除、一覧、確認 | ✅ テスト済み | 一般的なバケットライフサイクル操作 |
| バケットタグ | ✅ テスト済み | タグの設定、取得、削除 |
| バケットポリシー | ✅ テスト済み | ポリシーの設定、取得、削除 |
| パブリックアクセスブロック | ✅ テスト済み | 設定の追加、取得、削除 |
| 一部のバージョニング、オブジェクトロック、CORS、ライフサイクル動作 | ✅ テスト済み | 実装済みリストに含まれるケースのみ |
| バケットアクセスログ | ❌ 予定 | 未実装リストで追跡中 |
| バケット所有権コントロール | ❌ 予定 | 未実装リストで追跡中 |
| ACL 認可 | ⊘ 除外 | 意図的にサポートしない製品動作 |
オブジェクト操作
| 機能 | ステータス | 範囲 |
|---|---|---|
| オブジェクトのアップロード、取得、コピー、確認、削除 | ✅ テスト済み | 一般的なオブジェクト操作 |
プレフィックス、区切り文字、マーカー、max-keys の一覧動作 | ✅ テスト済み | ListObjects と ListObjectsV2 |
| 範囲読み取りと条件付き読み取り | ✅ テスト済み | 一部の HTTP Range と前提条件ケース |
| ユーザーメタデータとオブジェクトタグ | ✅ テスト済み | メタデータとタグのラウンドトリップ |
| 署名付き GET および PUT URL | ✅ テスト済み | 一部の署名とリクエストケース |
| SSE-C と一部の SSE-KMS 動作 | ✅ テスト済み | RustFS が管理するオブジェクトのラウンドトリップのみ |
| POST Object フォームのチェックサム処理 | ❌ 予定 | 未実装リストで追跡中 |
暗号化オブジェクト形式は、RustFS と他の S3 実装の間で移植できません。暗号化テストの成功は、RustFS が暗号化したオブジェクトを RustFS で読み取れることを示します。他の実装から直接コピーした暗号化オブジェクトを読み取れることは保証しません。
マルチパート操作
| 機能 | ステータス | 範囲 |
|---|---|---|
| 作成、パートのアップロード、完了、中止 | ✅ テスト済み | マルチパートアップロードの主要ワークフロー |
| 一部のマルチパートコピー、チェックサム、オブジェクト属性動作 | ✅ テスト済み | 実装済みリストに含まれるケース |
| マルチパートアップロード一覧とパート検索のエッジケース | ⊘ 除外 | デフォルト互換性ゲートの対象外 |
信頼できる情報源
リポジトリの S3 互換性マトリックス には、ゲートと更新ルールが記載されています。scripts/s3-tests 配下の実行可能ファイルが現在の結果を決定します。機能を変更した場合は、テストリストと 2 つの公開マトリックスを同時に更新してください。