帳號與啟用

零設定啟用、CI 與無人值守機器、離線時會發生什麼,以及撤銷一台裝置究竟代表什麼。

啟用會把一台機器納入你的帳號名下。正常使用情況下你幾乎不會手動執行它——它已經整合進第一次加密的流程裡。

零設定啟用

在新機器上第一次呼叫 protect / protect-model / build,會一步完成登入(開啟瀏覽器)與啟用,接著進行加密:

shell
magiclock protect app.py   # first run: sign in + activate, then encrypt
magiclock protect app.py   # every run after: encrypts immediately, no prompts

明確指令

正常情況下你很少會直接用到這些指令,但需要時它們都在:

shell
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 server

CI 與無人值守機器

用入口網站鑄造的權杖取代開啟瀏覽器:

shell
export MAGICLOCK_TOKEN=<token-from-your-account-portal>
magiclock protect app.py            # provisions non-interactively, then encrypts

正式發行版的 CLI 也內建了授權伺服器的網址,所以只有在你要指向非預設位址時,才需要設定 MAGICLOCK_SERVER

環境變數

變數用於用途
MAGICLOCK_TOKENactivate,以及首次加密時的自動啟用非互動式登入所使用的 Bearer 權杖。
MAGICLOCK_SERVERactivate覆寫授權伺服器網址(很少需要)。
MAGICLOCK_PASSPHRASEprotect/protect-model/run--lock-passphrase 或便攜 --passphrase 產物使用的非互動式密碼片語。
MAGICLOCK_DECRYPT_KEYrun便攜 --emit-key 產物中 run --key 的替代方式。
MAGICLOCK_NO_BROWSER任何驗證流程抑制自動開啟瀏覽器(無圖形介面的 Linux 也會自動偵測到)。
MAGICLOCK_NO_OS_KEYRING所有指令跳過作業系統鑰匙圈對本地憑證儲存區的額外包裝——在沒有鑰匙圈服務的精簡容器中很有用。

離線時會發生什麼

加密(protect/protect-model/build)每次都會向授權伺服器核實。若核實成功,就沒問題。若網路中斷:

情況結果
伺服器可連線,授權有效正常加密。
伺服器無法連線,且最近一次成功核實在 12 小時之內使用離線寬限窗口繼續加密。
伺服器無法連線,且尚未有成功核實紀錄(或寬限已用盡)阻擋,直到重新連線為止。
伺服器可連線但明確拒絕(裝置遭撤銷、方案已過期/取消)立即阻擋——不論在線或離線,這種情況都不給予寬限。

解密與 magiclock run 完全不受上述任何情況影響。 它們只會讀取本地、已經啟用好的保管庫——永遠不需要網路請求,也不依賴伺服器。不論這台機器現在是連線、離線,或是自啟用後就從未連過網,都一樣。

撤銷與停用

magiclock deactivate(未加 --local-only)會通知伺服器釋出這台機器的席位,並阻止它加密任何新內容。它不會回頭影響這台機器先前已經產生的產物——那些產物仍會照常解密,因為解密從不查詢伺服器或任何撤銷清單。如果一台機器遺失或遭入侵,停用它可以阻止它繼續在你帳號名下產生新的受保護產物;但無法追溯撤銷這台機器先前已經產生的檔案。

接下來看什麼

  • 安全模型 說明執行期閘門檢查了什麼,以及為什麼解密端不設計撤銷機制。
  • CLI 參考 列出本頁每個指令的完整旗標。