Skip to content

セキュリティと運用上の注意

このページは motion-plus-installer を安全に運用するための実務的な注意点をまとめます。トークンやダウンロードキャッシュの扱い、CI での運用ポリシーに焦点を当てています。

トークンの管理

  • 環境変数で渡す: MOTION_TOKEN を使用し、値は直接コミットしないでください。
  • CI ではシークレットを利用: GitHub Actions / GitLab CI 等のシークレット機能に格納し、ジョブ内で環境変数として注入してください。
  • 短命トークンを推奨: 可能であれば短期間でローテーション可能なトークンを使い、漏洩リスクを下げます。

ログと出力の扱い

  • CLI はトークンの実値をログに出力しません(値はマスクされます)が、コマンドライン履歴や CI のログに露出しないよう注意してください。
  • --no-pretty を使うと色つきやパス短縮が無効になり、ログのフォーマットがプレーンになります(デバッグ用途)。

ダウンロードキャッシュと .gitignore

  • デフォルトでダウンロードした .tgznode_modules/.motion-plus-installer/ に保存されます。リポジトリに含めないよう .gitignore を確認してください。
  • 機密を含むファイルを意図せずコミットしないため、CI ステップやスクリプトで .git 関連の操作を行う際は注意してください。

最小権限とアクセス制御

  • トークンに付与する権限は最小限にしてください。ダウンロードのみ許可するスコープを用意できる場合はそれを使います。
  • レジストリのアクセス制御(IP 制限、クライアント証明書)を組み合わせると保護が強化されます。

トークン漏洩時の対処

  1. 影響を受けるトークンを直ちに無効化/失効させる。
  2. 監査ログを確認して不正なダウンロードや API 呼び出しがないか確認する。
  3. 新しいトークンを発行し、関係システムで更新する。

CI パイプラインでの推奨設定(例)

TIP

GitHub Actions の例(シークレットに MOTION_TOKEN を登録)

yaml
- name: Run installer
  env:
    MOTION_TOKEN: ${{ secrets.MOTION_TOKEN }}
  run: npx motion-plus-installer i motion-plus

その他のヒント

  • --no-keep を CI の実行で使うと、ジョブ終了後に .tgz を残さずクリーンにできます。
  • ダウンロードしたファイルに機密情報が含まれる設計の場合は、保存先のアクセス制御とライフサイクル(自動削除)を検討してください。

関連ページ

MIT ライセンスの下で公開されています。