セキュリティと運用上の注意
このページは motion-plus-installer を安全に運用するための実務的な注意点をまとめます。トークンやダウンロードキャッシュの扱い、CI での運用ポリシーに焦点を当てています。
トークンの管理
- 環境変数で渡す:
MOTION_TOKENを使用し、値は直接コミットしないでください。 - CI ではシークレットを利用: GitHub Actions / GitLab CI 等のシークレット機能に格納し、ジョブ内で環境変数として注入してください。
- 短命トークンを推奨: 可能であれば短期間でローテーション可能なトークンを使い、漏洩リスクを下げます。
ログと出力の扱い
- CLI はトークンの実値をログに出力しません(値はマスクされます)が、コマンドライン履歴や CI のログに露出しないよう注意してください。
--no-prettyを使うと色つきやパス短縮が無効になり、ログのフォーマットがプレーンになります(デバッグ用途)。
ダウンロードキャッシュと .gitignore
- デフォルトでダウンロードした
.tgzはnode_modules/.motion-plus-installer/に保存されます。リポジトリに含めないよう.gitignoreを確認してください。 - 機密を含むファイルを意図せずコミットしないため、CI ステップやスクリプトで
.git関連の操作を行う際は注意してください。
最小権限とアクセス制御
- トークンに付与する権限は最小限にしてください。ダウンロードのみ許可するスコープを用意できる場合はそれを使います。
- レジストリのアクセス制御(IP 制限、クライアント証明書)を組み合わせると保護が強化されます。
トークン漏洩時の対処
- 影響を受けるトークンを直ちに無効化/失効させる。
- 監査ログを確認して不正なダウンロードや API 呼び出しがないか確認する。
- 新しいトークンを発行し、関係システムで更新する。
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を残さずクリーンにできます。- ダウンロードしたファイルに機密情報が含まれる設計の場合は、保存先のアクセス制御とライフサイクル(自動削除)を検討してください。