你是怎麼管理你自己的帳號密碼,以及 API 金鑰、Access Token 的?
當你要製作 AI 自動化工作流的時候,需要登入某個系統,使用密碼或 API 金鑰的時候,你又是怎麼將這些機敏資訊提供給 AI?
如果你沒有第一個問題的答案,然後你每一次在製作自動化工作流的時候,都是把你的密碼以及 API 金鑰,直接提供給 AI 讓他幫你設定。
那麼也許你該考慮使用更安全的帳密管理方式。
很久以前我曾經做過一個工作流,就是自動化發文到 Threads。
由於 Threads 的 Access Token (你可以視為密碼),需要每 60 天更新一次。
為了方便,我就直接寫了一個 Google Apps Script,然後把更新完畢的 Access Token 放在 Google 試算表,再讓 N8N 去抓 Google 試算表內的資料。
當然個人使用的話,這種方式還算勉強可以接受啦。
可是我最近開始在我的辦公室環境製作工作流,由於工作流會牽涉到公司的環境,所以我不可能再採取類似的不安全管理方式。
因此我決定訂閱 1Password,使用了幾天之後,感覺非常滿意。
■ 1Password 的設計邏輯
使用 1Password,是將我們的帳號密碼以及 API 金鑰都放在本地端,雲端只會儲存加密過後的資料。
每個帳號背後綁了兩把鑰匙:
1. 主密碼:我自己要記住
2. Secret Key:1Password 隨機產生的長字串,存在你裝置上,同時也會產一份「Emergency Kit」PDF
這兩把鑰匙都不會上傳到 1Password 的伺服器。
所以就算 1Password 公司遭到駭客攻擊,駭客拿到的也只是一段亂碼,他不會知道要如何使用。解密的過程都是在我的本地端完成的。
還有,使用 1Password,我的密碼資料庫還可以在任意多台電腦同步,但每台電腦都需要主密碼加 Secret Key 才能解開。
所以我現在的 1Password 主要放在幾個裝置:
1. 我的 iPhone
2. 公司用的 Windows 電腦
3. 家裡的一臺 Mac mini
4. 一個 Windows 筆電
假設我在家裡要操作遠端連線,連到公司的主機,我就不需要特別記得密碼,因為我可以在家直接使用 1Password 去登入即可。
如果我想要搭配 AI 代理,例如 Claude Code 或 Codex,使用 1Password 也是好選擇,我們就不需要擔心會有第三方去看到我的帳號與密碼。
我的 AI 代理只會看到路徑,像 op://Personal/notion-api/credential 這種地址。
而且每次要取用密碼的時候,都會先經過桌面版的驗證,例如 Touch ID,或者是任何我想使用的驗證方式。
■ 1Password CLI 的兩個關鍵指令
我電腦上裝的是 1Password 桌面版加上一個叫 op 的命令列工具(也就是 1Password CLI)。桌面版負責管密碼、用指紋解鎖;op 負責讓 Claude Code 在終端機裡呼叫 1Password 裡的內容。
使用之前,記得在設定->開發人員,勾選與 1passwird CLI 整合。
Claude Code 在整套流程用到兩個指令,
指令一:op read,拿一筆密碼
假設我在 1Password 的 Personal 保險箱裡,有一個叫 notion-api 的條目,裡面 credential 那一欄存著 Notion 的 API token。我想讓 Claude Code 在終端機裡拿到它,輸入:
op read "op://Personal/notion-api/credential"
按下 enter,1Password 桌面版會跳出來叫我用 Touch ID 解鎖。
中間那串 op://Personal/notion-api/credential 是 1Password 的 secret reference:
op://<保險箱名>/<條目名>/<欄位名>
這串文字是密碼的「地址」。我可以把它放進任何設定檔、寫進 README,都不會洩漏任何敏感資訊。
指令二:op inject,把整份設定檔的地址換成內容
上述的 op read 一次只拿一筆資料。如果我有一個 .env 檔需要好幾把 key,比較順手的做法是讓 Claude Code 先寫一份模板,把所有要填的欄位寫成 secret reference:
■ .env.tpl
NOTION_TOKEN="op://Personal/notion-api/credential"
OPENAI_API_KEY="op://Personal/openai/credential"
ELEVENLABS_API_KEY="op://Personal/elevenlabs/credential"
然後叫 Claude Code 執行:
op inject -i .env.tpl -o .env
op 會把每一行的 op://... 替換成 1Password 裡的真實值,輸出一份完整的 .env。再把 .env 放進 .gitignore,只 commit .env.tpl,整個專案的 secret 管理就乾淨了。
■ 沒有資安就別談 AI 工作流
我之前在做這些 AI 工作流的時候,常常為了貪圖便利,就直接讓 AI 使用我的明文密碼以及 API 金鑰。
不過實在看了太多的資安相關新聞,所以我開始反省。我們自己認為安全的環境不一定真的那麼安全。
就以我上面的例子來說,我把金鑰放在 Google 試算表上,只有我自己在使用,我也不會把這個連結告訴任何人,理論上是不會外洩的。可是誰知道呢?
資安事件最常發生的,其實就是在一些你原本認為不會出事的地方,然後它就偏偏出事。
因為我打算將 AI 工作流導入到公司裡面,去說服我的同事以及我的長官,能夠採用「AI First」的系統開發以及維護方式;同時,它也可以用在所有辦公室的行政事務上。
所以我第一個要件,就是一定要有一個妥善的資安系統,確保整個流程最起碼有一個基礎的安全設定。
但首先要說,我並沒有拿 1Password 的錢,所以大家也可以不需要使用 1Password,目前我也只是在測試階段。
其他類似 1Password 的產品還有:
■ 第一類:個人用密碼管理員(對標 1Password)
* Bitwarden
* 特色:開源、可自架、CLI 完整
* 最低價:免費版/Premium $1.65/月
* 誰適合:預算敏感、重視開源
* Dashlane
* 特色:UI 漂亮、含 VPN、密碼健康度檢查
* 最低價:$4.99/月(無免費版)
* 誰適合:重視 UI、要 VPN 二合一
* Proton Pass
* 特色:瑞士隱私公司、開源
* 最低價:免費版/Plus $1.99/月
* 誰適合:已用 Proton 生態系
■ 第二類:開發者 / DevOps / AI Agent 用的 Secrets Management
* Doppler
* 特色:開發者友善、CLI 強、UI 現代
* 最低價:免費版(最多 5 人)
* 誰適合:小團隊、新創
* Infisical
* 特色:開源版 Doppler、可自架
* 最低價:免費版
* 誰適合:想要 Doppler 體驗但要開源
* HashiCorp Vault
* 特色:業界標準、企業級
* 最低價:開源免費(自架)
* 誰適合:大團隊、Kubernetes
如果各位有其他更好的方案,也歡迎留言推薦給我。
如果你對做 AI 工作流也有興趣的話,但是不知道要怎麼開始,目前我有一個為期四周的陪跑計畫。