作为开发者,我们经常处理敏感数据,例如 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 是一款功能强大的工具,可让您从终端安全地访问和管理您的密钥。只需进行少量设置,即可简化工作流程,并将密钥管理集成到与其他应用的开发流程中,而无需以纯文本形式暴露您的凭据。如果您还没有尝试过,我建议您尝试一下,让您的开发工作流程更加安全高效。
评论留言