カスタムストレージ
インストール手順と、このプラグインの完全なMarkdownガイドを含むセットアッププロンプトをコピーします。
Capgo はアプリの bundle に対するカスタムストレージに対応しており、独自のインフラやサードパーティのストレージサービスでアップデートをホストできます。これは、特定のセキュリティ要件やコンプライアンス、既存のストレージインフラを持つ組織にとって非常に有用です。
Capgo のカスタムストレージは、bundle を外部に upload し、そのアクセス用 URL を Capgo に提供することで動作します。これにより、Capgo の SDK は、Capgo のデフォルトのクラウドストレージではなく、カスタムストレージから直接アップデートを download します。
外部URLからのアップロード
「External URL Upload」セクションカスタムストレージを利用する最も簡単な方法は、bundleを公開URLにアップロードし、そのURLをCapgoに渡すことです。
基本的なExternal URL Upload
「Basic External URL Upload」セクションnpx @capgo/cli@latest bundle upload --external https://your-domain.com/bundles/v1.2.3.zipこのコマンドは、bundleをCapgoのクラウドストレージにアップロードする代わりに、指定したURLのbundleを参照するようにCapgoに指示します。
暗号化を利用する場合
「暗号化を利用する場合」というセクション外部ストレージのセキュリティを高めるには、bundleを暗号化し、復号キーを指定できます。
npx @capgo/cli@latest bundle upload --external https://your-domain.com/bundles/v1.2.3.zip --iv-session-key YOUR_IV_SESSION_KEYS3との連携
「S3との連携」というセクションCapgo は、Amazon S3 および S3 互換のストレージサービスを標準でサポートしています。CLI を使用して bundle を S3 へ自動的に upload し、Capgo が S3 の URL を使用するように設定できます。
S3 upload オプション
「S3 upload オプション」というセクションnpx @capgo/cli@latest bundle upload \ --s3-region us-east-1 \ --s3-apikey YOUR_ACCESS_KEY \ --s3-apisecret YOUR_SECRET_KEY \ --s3-bucket-name your-bucket-nameS3設定の完了
「S3設定の完了」というセクションS3互換サービスまたはカスタムエンドポイントを使用する場合:
npx @capgo/cli@latest bundle upload \ --s3-region us-east-1 \ --s3-apikey YOUR_ACCESS_KEY \ --s3-apisecret YOUR_SECRET_KEY \ --s3-endpoint https://s3.your-provider.com \ --s3-bucket-name your-bucket-name \ --s3-port 443 \ --no-s3-ssl # Only if your endpoint doesn't support SSLS3設定パラメータ
「S3設定パラメータ」というセクション| パラメータ | 説明 | 必須 |
|---|---|---|
--s3-region | S3バケットのAWSリージョン | はい |
--s3-apikey | S3 アクセスキーID | はい |
--s3-apisecret | S3 シークレットアクセスキー | はい |
--s3-bucket-name | S3 バケット名 | はい |
--s3-endpoint | カスタムS3エンドポイントURL | いいえ |
--s3-port | S3エンドポイントのポート | いいえ |
--no-s3-ssl | S3アップロードのSSLを無効化 | いいえ |
Bundleの準備と暗号化
「Bundleの準備と暗号化」というセクションカスタムストレージ、特に暗号化を使用する場合は、Bundleを適切に準備する必要があります。これには、zipファイルの作成と、必要に応じた暗号化が含まれます。
ステップ 1: Zip Bundleの作成
「ステップ 1: Zip Bundleの作成」というセクションまず、アプリのBundleをzipファイルにまとめます:
npx @capgo/cli@latest bundle zip com.example.app --path ./distzipコマンドを実行すると、zipファイルのチェックサムが返されます。必要に応じて、このチェックサムを使用してzipファイルを暗号化できます。チェックサムを含む構造化された出力を取得するには、 --json オプションを使用してください。
Zipコマンドのオプション
「Zipコマンドのオプション」というセクションnpx @capgo/cli@latest bundle zip [appId] \ --path ./dist \ --bundle 1.2.3 \ --name myapp-v1.2.3 \ --json \ --no-code-check \ --key-v2 \ --package-json ../../package.json,./package.json| オプション | 説明 |
|---|---|
--path | zip対象フォルダのパス (capacitor.config の webDir がデフォルト) |
--bundle | zipファイル名に使用するBundleのバージョン番号 |
--name | zipファイルのカスタム名 |
--json | 結果をJSON形式で出力 (チェックサムを含む) |
--no-code-check | notifyAppReady() の呼び出しとindexファイルのチェックをスキップ |
--key-v2 | 暗号化 v2 を使用 |
--package-json | モノレポにおける package.json へのパス (カンマ区切り) |
ステップ 2: Bundle を暗号化する (任意)
「ステップ 2: Bundle の暗号化 (オプション)」セクションセキュリティを強化するために、アップロード前に zip bundle を暗号化してください:
# Using default local keynpx @capgo/cli@latest bundle encrypt ./myapp.zip CHECKSUM
# Using custom key filenpx @capgo/cli@latest bundle encrypt ./myapp.zip CHECKSUM --key ./path/to/.capgo_key_v2
# Using key data directlynpx @capgo/cli@latest bundle encrypt ./myapp.zip CHECKSUM --key-data "PRIVATE_KEY_CONTENT"この CHECKSUM parameter は必須で、zip ファイルのチェックサムを指定する必要があります。チェックサムは zip コマンドの出力から取得できます(構造化された出力を得るには --json オプションを使用してください)。
デフォルトでは、encrypt コマンドはローカルのプライベート署名キーを使用します。カスタムキーを使用する場合は、 --key または --key-data オプションで指定できます。
encrypt コマンドは、アップロードまたは復号に必要な ivSessionKey を返します。
暗号化コマンドのオプション
「暗号化コマンドのオプション」セクション| オプション | 説明 |
|---|---|
zipPath | 暗号化するzipファイルのパス (必須) |
checksum | zipファイルのチェックサム (必須) - zipコマンドから取得してください |
--key | 秘密署名キーのカスタムパス (任意、デフォルトではローカルキーを使用) |
--key-data | 秘密署名キーのデータを直接指定 (任意) |
--json | 結果をJSON形式で出力 |
ワークフローの完全な例
「ワークフローの完全な例」というセクション例1: 暗号化付き外部URL
「例1:暗号化を伴う外部URL」というセクション-
アプリをビルドします:
ターミナル npm run build -
zip bundleを作成します:
ターミナル npx @capgo/cli@latest bundle zip com.example.app --path ./dist --bundle 1.2.3このコマンドで返されるチェックサムを控えておいてください。
-
bundleを暗号化します:
ターミナル npx @capgo/cli@latest bundle encrypt ./com.example.app-1.2.3.zip CHECKSUM_FROM_STEP_2以下の
ivSessionKeyを、出力結果から確認してください。 -
ストレージにアップロードします: 暗号化したzipファイルをホスティングサービスにアップロードしてください。
-
Capgoに登録します:
ターミナル npx @capgo/cli@latest bundle upload \--external https://your-cdn.com/bundles/com.example.app-1.2.3.zip \--iv-session-key IV_SESSION_KEY_FROM_STEP_3
例2: S3への直接アップロード
セクション「例2: S3への直接アップロード」-
アプリをビルド:
ターミナル npm run build -
S3へ直接アップロード:
ターミナル npx @capgo/cli@latest bundle upload \--s3-region us-west-2 \--s3-apikey YOUR_ACCESS_KEY \--s3-apisecret YOUR_SECRET_KEY \--s3-bucket-name your-app-bundles \--channel Production
例3: 暗号化付きS3
セクション「例3: 暗号化付きS3」-
ビルドしてzip圧縮:
ターミナル npm run buildnpx @capgo/cli@latest bundle zip com.example.app --path ./dist --key-v2 -
bundleを暗号化する:
ターミナル npx @capgo/cli@latest bundle encrypt ./com.example.app.zip CHECKSUM -
暗号化してS3にuploadする:
ターミナル npx @capgo/cli@latest bundle upload \--s3-region us-west-2 \--s3-apikey YOUR_ACCESS_KEY \--s3-apisecret YOUR_SECRET_KEY \--s3-bucket-name your-app-bundles \--iv-session-key IV_SESSION_KEY_FROM_STEP_2 \--channel Production
セキュリティ上の注意点
「セキュリティに関する考慮事項」セクションカスタムストレージを使用する際は、以下のセキュリティのベストプラクティスを検討してください:
アクセス制御
「アクセス制御」セクション- ストレージのURLがアプリユーザーにはアクセス可能であり、かつ一般に公開されないようにしてください
- 可能な限り署名付きURLまたはトークンベースの認証を使用してください
- Webベースのアプリには適切なCORSヘッダーを実装してください
暗号化
「暗号化」セクション- 機密性の高いbundleは必ず Capgo の暗号化ツールを使用して暗号化してください
- 暗号化キーは安全に保管し、定期的にローテーションしてください
- すべてのbundle URLにHTTPSを使用してください(モバイルおよびElectronアプリでは必須)
モニタリング
「モニタリング」セクション- アクセスログを監視し、異常なdownloadパターンを検知してください
- bundleのdownload失敗に対するアラートを設定してください
- ストレージの権限を定期的に監査してください
トラブルシューティング
「トラブルシューティング」セクションよくある問題
「よくある問題」セクションBundleがダウンロードできない場合:
- URLが公開されており、HTTPSを使用しているか確認してください(モバイルおよびElectronアプリでは必須)
- Webアプリの場合はCORSヘッダーを確認してください
- Bundleのフォーマットが正しいことを確認してください
暗号化エラー:
- 以下の内容を確認してください:
ivSessionKey暗号化されたbundleと一致しているか - Bundleが正しいキーで暗号化されているかを確認してください
- 新しいbundleにはencryption v2を使用してください
S3のアップロード失敗:
- S3の認証情報と権限を確認してください
- バケットポリシーとCORS設定を確認してください
- 指定したリージョンが正しいか確認してください
デバッグ用コマンド
「Debug Commands」セクションbundleのステータスを確認:
npx @capgo/cli@latest app debugbundleの整合性を確認:
npx @capgo/cli@latest bundle list次のステップ
「次のステップ」セクションCustom Storageからの続き
「Custom Storageからの継続」セクション使用している場合 カスタムストレージ セキュリティとコンプライアンスを計画するには、これを以下と連携させてください 暗号化 暗号化の実装詳細について コンプライアンス コンプライアンスの実装詳細について Capgo セキュリティスキャナー Capgo Security Scanner のプロダクトワークフローについて Capgo のセキュリティ Capgo Security のプロダクトワークフロー向け、および Capgo トラストセンター Capgo Trust Center のプロダクトワークフロー向け。