b2-cloud-storage について
B2 CLI で Backblaze B2 ストレージを管理するスキルです。ファイル検索、使用量監査、コスト見積もり、クリーンアップ、セキュリティ確認に対応し、通常は読み取り専用で動作します。削除前にはドライランと明示的な確認を求めます。
主な機能
- 01保存ファイルの一覧表示と確認
- 02使用量・古いデータ・重複の監査
- 03月間ストレージ費用の見積もり
- 04バケットのセキュリティ設定確認
- 05削除前のドライラン必須化
活用シーン
- 01古いデータや大容量データの特定
- 02B2 ストレージ費用の見積もり
- 03バケットのセキュリティ状況の確認
- 04削除保護付きのクリーンアップ計画
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ backblaze-labs/ claude-skill-b2-cloud-storage --skill b2-cloud-storageインストール後、Claude Code で/b2-cloud-storageを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
b2-config.example.json.claude-plugin/plugin.jsonreferences/b2-cli-reference.mdcleanup-playbook.mdsecurity-review.mdsetup.mdscripts/storage_audit.py詳細
B2 Cloud Storage Management
Backblaze B2 クラウドストレージを管理します。ファイルの一覧表示、使用状況の監査、コストの見積もり、古いデータのクリーンアップ、セキュリティ状況の確認を行います。
セキュリティルール(必須)
b2 account get、b2 account clear、およびb2 key *サブコマンドは絶対に実行しないでください。これらのコマンドは認証情報を漏えいさせたり、変更したりします。~/.b2_account_infoや、*b2_account_info*に一致するファイルは絶対に読み取らないでください。これは B2 の認証情報データベース(SQLite)です。- 実際に削除する前に、必ず
b2 rm --dry-runを実行してください。削除される対象をユーザーに示し、実行前に明示的な「yes」を求めてください。 - セキュリティ上の影響について事前にユーザーへ警告し、明示的な確認を得ずに、バケットを
allPublicに変更することは絶対にしないでください。 - **読み取り専用をデフォルトとしてください。**ユーザーが明示的に依頼した場合にのみ、書き込みや削除を行ってください。
- API キー、アプリケーションキー、アカウント ID をファイルに保存または書き込むことは絶対にしないでください。
- ユーザーがキーの値をターミナルではなくチャットに貼り付けた場合は、すぐに警告し、キーのローテーションを勧めてください。会話に現れたキーの値を復唱、保存、参照することは絶対にしないでください。
初回利用時の手順
- B2 CLI がインストールされているか確認します:
b2 version。インストールされていない場合は、エージェントの外部で CLI をインストールするようユーザーに依頼してから、b2 versionを再実行します。詳細はreferences/setup.mdを参照してください。 - CLI が認証済みか確認します:
b2 ls。認証エラーで失敗した場合は、references/setup.mdに沿ってユーザーを案内してください。 - プロジェクトルートに
.claude/b2-config.jsonのプロジェクト固有の設定があるか確認します。ない場合は、バケットとプレフィックスをユーザーに尋ねて作成してください。
対話型認証について
b2 account authorize(引数なし)は対話型プロンプトからキーを読み取りますが、エージェントはこの操作を実行できません。ユーザーには次の方法があります。
- ターミナルで自分で実行します。Claude Code では、セッション内で
!b2 account authorizeと入力すると直接実行できます。 - keyID と applicationKey を位置引数として渡します:
b2 account authorize <keyID> <appKey>(キーがシェルの履歴に残るため、安全性は低くなります)。 - または、B2 コマンドの実行前に
B2_APPLICATION_KEY_IDとB2_APPLICATION_KEYの環境変数を設定します(スクリプトや CI に推奨)。
プロジェクトレベルの設定
プロジェクトごとの設定は .claude/b2-config.json にあります。
{
"bucket": "my-project-bucket",
"prefix": "",
"accountInfoPath": "~/.b2_account_info"
}
| フィールド | 用途 |
|---|---|
bucket | このプロジェクトのデフォルトのバケット名 |
prefix | すべての操作の対象を限定する任意のプレフィックス(例:data/models/) |
accountInfoPath | B2 認証情報ファイルへのパス。プロジェクトごとに異なるキーを使用できます |
accountInfoPath がデフォルトと異なる場合は、b2 コマンドの実行時に B2_ACCOUNT_INFO=<path> を先頭に付けてください。このファイルに保存するのはバケット名とパスのみです。API キーは絶対に保存しないでください。
よく使う操作
一覧表示と検索
b2 ls b2://<bucket> # top-level
b2 ls -r b2://<bucket> # recursive
b2 ls -r --json b2://<bucket> # JSON for scripting
b2 ls --versions -r --json b2://<b> # include old versions + hide markers
b2 ls b2://<bucket>/<prefix> # prefix-scoped
ファイルの詳細確認
b2 file info b2id://<fileId>
ストレージ監査(使用状況、古いデータ、大容量ファイル、重複、コスト)
python scripts/storage_audit.py <bucket>
python scripts/storage_audit.py <bucket> --json
python scripts/storage_audit.py <bucket> --stale-days 180 --large-mb 500 --prefix-depth 2
使用中のストレージと課金対象のストレージ、大容量の未完了ファイル、古いバージョン、非表示マーカー、SHA1 に基づく重複、および月額コストの見積もりをレポートします。
クリーンアップ(破壊的操作)
references/cleanup-playbook.md を参照してください。ドライランの手順は絶対に省略しないでください。
ライフサイクルルール
b2 bucket get <bucket>
b2 bucket update --lifecycle-rules '<json>' <bucket> allPrivate
ライフサイクルルールの JSON 形式については、references/b2-cli-reference.md を参照してください。
セキュリティレビュー
完全なチェックリスト(バケットタイプ、SSE、CORS、オブジェクトロック、レプリケーション、ライフサイクルの適用範囲)は、references/security-review.md を参照してください。
参考資料
references/setup.md— 初回利用時のセットアップ手順(インストール、アプリケーションキーの作成、認証)references/cleanup-playbook.md— ドライランを含む安全な削除手順references/security-review.md— バケットごとのセキュリティ監査チェックリストreferences/b2-cli-reference.md— CLI v4 コマンドリファレンス