クラウド制御

出荷したあとでも止められる成果物 — ポータルから無効化・再有効化でき、次回チェック時に反映されます。

MagicLock が既定で暗号化するものはすべて、完全オフラインで、永久に動きます。これは約束であり、約束は両面を持ちます。オフライン成果物はいったん出荷すると、もう手が届きません。クラウド制御は、どうしても手を届かせたい場合のための任意の選択肢です。

保護時に --web-gate を付けると、成果物は復号の前に、あなたが管理する署名付きの許可を取りにいきます。ポータルでスイッチを切れば止まります — それが動いているすべての場所で、それぞれの次回チェック時に。戻せばまた動きます。再出荷は不要です。

オフライン成果物(既定)クラウド制御(--web-gate
約束常に動く — サブスクリプションや席数の変更に影響されないあなたが決める — ポータルから停止・再開
実行時の通信一切なし許可が有効な間は通信なし。期限後に更新
出荷後に止められるかいいえ — 設計上そうなっているはい、次回チェック時に

レンタルやサブスクリプション、期限で必ず止めたい評価版、残金回収の担保、漏洩時の被害抑止に向いています。それ以外は既定のオフライン成果物で十分です。この選択は成果物ごとであってアカウント単位ではありません — 同じ製品の中で両方を併用できます。

有効にする

shell
magiclock protect app.py --web-gate
magiclock protect-model weights.bin --web-gate
magiclock build app.py --web-gate

登録は暗号化のその時点で行われ、オンラインかつサインイン済みである必要があります。クラウド制御成果物を作るためのオフライン代替手段はありません — 誰にも登録されていない成果物は制御しようがなく、MagicLock はできるふりをしません。

実行時に何が起きるか

  1. 成果物がサーバーに署名付きの許可または拒否を要求します。
  2. その許可が有効な間は、まったく通信せずに動きます — 実行のたびに通信するわけではありません。
  3. 許可が期限切れになると更新します。拒否を受け取ると即座に停止します — 猶予はありません。
  4. ネットワーク断で更新に失敗した場合は、猶予期間の内は動き続け、期間を過ぎると fail-closed になります。

知っておく価値のある点が二つ。拒否は粘着的です。切断されたマシンで古い許可キャッシュを再生しても、停止済みの成果物を復活させることはできません。そして初回実行はオンラインである必要があります — まだ許可がキャッシュされておらず、頼れるものが何もないからです。

猶予期間

--gate-grace は、最後に許可を得てからどれだけオフラインで動き続けられるかを決めます。

shell
magiclock protect app.py --web-gate --gate-grace 24h
magiclock protect app.py --web-gate --gate-grace 7d

1h から 30d まで、既定は 12h です。短くするほど制御は厳しくなりますが、顧客側のネットワークへの依存も強まります — 不安の度合いではなく、実際の配布形態に合わせて選んでください。--gate-grace--web-gate と併用する場合にのみ有効です。

出荷済みのものを管理する

顧客ポータルの 成果物 ページに、登録済みのすべての成果物とその状態・直近の活動が一覧されます。無効化はその成果物の次回チェック時に反映され、再有効化も同じ速さで効きます。

コマンドラインから:

shell
magiclock artifacts     # id、ラベル、状態、ゲートの活動

成果物の削除は恒久的です。以後は常に拒否を返し、再有効化できません。まさにそれを意図している場合を除き、無効化を使ってください。

無効化をより早く効かせる

クラウド制御成果物は自身のチェックポイントで再確認するため、長時間稼働するプロセス(サーバー、ワーカー)は起動時に取得した許可のまま動き続けることがあります。ポータルでの無効化をそうしたプロセスに速やかに効かせたい場合は、タイマーで magiclock.revalidate() を呼び出してください — その場で新しい許可を強制的に取得します。これが「数秒で止まる」と「いずれ止まる」の差です。

クラウド制御ではないもの

これはライセンス確認ではありません。サブスクリプションが失効しても止まるのは新しい成果物のパッケージングだけで、すでに出荷したものには遡って作用しません — クラウド制御の有無にかかわらず。ポータルのスイッチはあなたのものであり、クラウド制御成果物を止められる唯一のものです。

既定の挙動も変わりません。--web-gate なしで保護した成果物は永久にオフラインのままで、遠隔から止めることはできません — 私たちにもできません。

提供範囲

クラウド制御はすべての有料プランに含まれます。無料トライアルには含まれません — 無料トライアルで提供されるのは完全なオフライン保護です。

なぜ回避できないのか

ゲートのパラメータは、暗号化エンベロープの認証対象データの内部に入っており、傍らに添えられているのではありません — 剥がす、書き換える、別の成果物へ移植する、いずれも復号そのものを壊します。コンパイル成果物は同じパラメータをモジュールごとにコンパイル時定数として保持します。

許可はあなたの MagicLock パッケージ内に固定されたベンダー鍵で署名されるため、偽造や再生した判定は検証を通りません。期限と猶予の判定に使う時計は、システム時計と永続化された高水位マークのうち遅い方であり、マシンの時計を巻き戻しても何も延長されません。