アカウントと有効化
ゼロコンフィグの有効化、CI・ヘッドレスマシンでの利用、オフライン時の挙動、そしてデバイスの失効が実際に何を行うかについて。
有効化は、あなたのアカウントの下でマシンをプロビジョニングします。通常の利用では手動で実行することはなく、最初の暗号化操作に組み込まれています。
ゼロコンフィグの有効化
新しいマシンで最初に protect / protect-model / build を呼び出すと、サインイン(ブラウザが開きます)とマシンの有効化が 1 ステップで行われ、その後暗号化が実行されます。
magiclock protect app.py # first run: sign in + activate, then encrypt
magiclock protect app.py # every run after: encrypts immediately, no prompts明示的なコマンド
これらを直接使う必要はほとんどありませんが、必要なときのために用意されています。
magiclock activate # authenticate (opens a browser) + provision this machine
magiclock activate --no-browser # print a link + code instead of opening a browser
magiclock status # this machine's account + activation state
magiclock status --offline # same, without a live server round-trip
magiclock deactivate # remove this machine (frees its seat server-side by default)
magiclock deactivate --local-only # remove it locally only, without touching the serverCI とヘッドレスマシン
ブラウザを開く代わりに、ポータルで発行したトークンを渡します。
export MAGICLOCK_TOKEN=<token-from-your-account-portal>
magiclock protect app.py # provisions non-interactively, then encryptsCLI のリリースビルドにはライセンスサーバーの URL があらかじめ組み込まれているため、MAGICLOCK_SERVER はデフォルト以外のサーバーを指定する場合にのみ必要です。
環境変数
| 変数 | 使用箇所 | 用途 |
|---|---|---|
MAGICLOCK_TOKEN | activate、および初回暗号化時の自動有効化 | 非対話的サインイン用の Bearer トークン。 |
MAGICLOCK_SERVER | activate | ライセンスサーバーの URL を上書き(必要になることはほとんどありません)。 |
MAGICLOCK_PASSPHRASE | protect/protect-model/run | --lock-passphrase またはポータブル --passphrase 成果物のための非対話的パスフレーズ。 |
MAGICLOCK_DECRYPT_KEY | run | ポータブル --emit-key 成果物に対する run --key の代替。 |
MAGICLOCK_NO_BROWSER | 認証フロー全般 | ブラウザの自動起動を抑制(ヘッドレス Linux では自動検出もされます)。 |
MAGICLOCK_NO_OS_KEYRING | すべてのコマンド | ローカルの認証情報ストアに対する OS キーリングの追加ラップをスキップ — キーリングサービスのない最小構成のコンテナで有用。 |
オフライン時の挙動
暗号化操作(protect/protect-model/build)は、毎回ライセンスサーバーへの確認を行います。この確認が成功すれば問題ありません。ネットワークが利用できない場合は次のようになります。
| 状況 | 結果 |
|---|---|
| サーバーに到達可能、ライセンスは有効 | 通常どおり暗号化されます。 |
| サーバーに到達不可、直近の確認成功から 12 時間以内 | オフライン猶予枠を使って暗号化されます。 |
| サーバーに到達不可、まだ確認に成功したことがない(または猶予切れ) | オンラインに戻るまでブロックされます。 |
| サーバーに到達可能で明示的に拒否される(デバイス失効、プラン期限切れ/解約) | 即座にブロックされます — オンライン・オフラインを問わず、これに猶予が与えられることは一切ありません。 |
復号および magiclock run は、これらの影響を一切受けません。 読み取るのはローカルの、すでに有効化済みのボルトだけであり、ネットワーク呼び出しもサーバーへの依存も一切ありません。これは、マシンがオンラインであってもオフラインであっても、有効化以降一度もオンラインになっていなくても変わりません。
失効と無効化
magiclock deactivate(--local-only を付けない場合)は、サーバーにこのマシンのシートの解放を伝え、新たな暗号化を行えないようにします。すでにそのマシン上で生成された成果物には影響しません — 復号はサーバーや失効リストを一切参照しないため、それらは引き続き復号できます。マシンを紛失した、あるいは侵害された場合、無効化すればそのマシンがあなたのアカウントの下で新たな保護済み成果物を生成することは止められますが、すでに生成済みのファイルを遡って失効させることはできません。
次に読むべきもの
- セキュリティモデルでは、ランタイムゲートが何を検証しているか、そして復号側での失効がなぜ設計に含まれていないかを説明しています。
- CLI リファレンスには、このページで扱ったすべてのコマンドのフラグ一覧があります。