作為開發者,我們經常處理敏感資料,例如 API 金鑰、SSH 憑證、資料庫密碼和其他機密資訊。如何在確保這些資料安全的同時,確保它們能夠在不同專案之間輕鬆訪問,並非易事。
1Password 的 CLI 正是為此而生。
1Password CLI 是一個命令列工具,它允許您在不離開終端的情況下安全地訪問和管理您的 1Password 保管庫。您無需手動複製貼上機密資訊(這既繁瑣又危險),而是可以透過程式設計方式獲取憑證,自動化身份驗證工作流程,並將機密資訊管理整合到您的開發流程中。
在本文中,我們將探討如何安裝、配置和使用 1Password CLI,以簡化您的工作流程,同時確保憑證資訊的安全。
入門指南
如果您使用的是 macOS 或 Linux,安裝 1Password CLI 最簡單的方法是使用 Homebrew:
brew install 1password-cli
如果您使用的是 Windows,我建議您參考官方 1Password CLI 文件中的安裝說明。
對於 Windows 和 Linux 使用者,請按照官方 1Password CLI 安裝指南進行操作,以獲得適合您系統的正確設定。
安裝完成後,在 1Password 應用中,前往 Settings… > Developer
,然後勾選 Integrate with 1Password CLI
。
然後,使用以下命令透過終端登入,並選擇您要登入的 1Password 帳戶:
op signin
現在,您可以安全地訪問和管理金鑰,而無需以純文字形式公開它們。
命令列金鑰管理
執行需要身份驗證的命令時,手動複製和貼上憑據既繁瑣又不安全。使用 1Password CLI,您可以使用 op read
命令和 Secret References 動態檢索 Secret。
要獲取 Secret Reference,您可以點選您想要在 1Password 中引用的專案值的下拉箭頭。
然後將其傳遞給需要 Secret 的命令。例如,要使用 DigitalOcean API 令牌透過 doctl 進行身份驗證,您可以執行:
doctl auth init --access-token $(op read op://Internet/d439ada/token)
環境變數整合
另一種使用 1Password CLI 的方式是將 Secret 設定為環境變數。這在處理多個 Secret 或需要將它們傳遞給指令碼或程式時非常有用。
如果您使用 Chromatic 測試 UI 元件,可以使用 op read
命令將 CHROMATIC_PROJECT_TOKEN
設定為環境變數:
#!/bin/bash export NPM_TOKEN=$(op read op://Internet/d439ada/npm_token) export CHROMATIC_PROJECT_TOKEN=$(op read op://Internet/d439ada/chromatic_token) // Install the dependencies, including the private ones that require NPM_TOKEN. npm install // Chormatic will automatically use the CHROMATIC_PROJECT_TOKEN. // @see https://www.chromatic.com/docs/cli/#continuous-integration npx chromatic
然後,您可以使用 op run
命令執行指令碼,如下所示:
op run -- bash chormatic.sh
Shell外掛擴充套件
為了更加無縫地使用,您可以使用 Shell 外掛將 1Password 與流行的第三方應用整合,例如 Github CLI、 Docker、 DigitalOcean CLI、 AWS、 HuggingFace、 OpenAI 等等。
在本例中,我們將嘗試將其與 Github CLI 整合。為此,我們可以執行:
op plugin init gh
系統將提示您將 GitHub 憑據匯入 1Password,或選擇儲存憑據的現有 1Password 項。在本例中,由於我們已經將 GitHub 憑據儲存在 1Password 中,因此我們可以選擇現有項。
然後,它會詢問您所選憑據的使用範圍。在本例中,我們選擇全域性使用,以便可以在不同的儲存庫中使用它。
如果這是您第一次安裝 Shell 外掛,則需要將 source 命令新增到 RC 檔案或 Shell 配置檔案中,以便在當前終端會話結束後繼續保留該外掛。例如:
echo "source /Users/jondoe/.config/op/plugins.sh" >> ~/.zshrc && source ~/.zshrc
設定完畢!現在,您可以使用 gh 命令與 GitHub 互動,而無需以純文字形式暴露您的憑據。要測試,您可以執行 gh auth status
。
小結
1Password CLI 是一款功能強大的工具,可讓您從終端安全地訪問和管理您的金鑰。只需進行少量設定,即可簡化工作流程,並將金鑰管理整合到與其他應用的開發流程中,而無需以純文字形式暴露您的憑據。如果您還沒有嘗試過,我建議您嘗試一下,讓您的開發工作流程更加安全高效。
評論留言