SuperAPI AI 工具集

1password

安全与审计

查看项目

更新于 10-15 12:07

技能介绍

用途

本技能为使用 1Password 密钥管理生态提供全面指导,覆盖本地开发、自动化、项目环境变量管理以及 Kubernetes 集成等场景。

主要能力

1Password CLI(op)

CLI 采用名词-动词结构:op <noun> <verb> [flags]。

  • 认证:op signin、op signout、op whoami
  • 密钥检索:op read "op://vault/item/field"、op run --(注入为环境变量)、op inject -i template.env -o .env(注入到文件)
  • 条目管理:op item list、op item get、op item create、op item edit、op item delete
  • 保险库管理:op vault list、op vault get、op vault create
  • 文档管理:op document list、op document get、op document create

Developer Environments

为项目密钥提供专门存储位置,以环境变量形式组织管理。提供 TypeScript/Bun 与 Python SDK 两种 CLI 工具变体,支持创建、更新、删除、显示、列出、导出环境,以及挂载 .env 文件(仅 GUI 测试版)。

TypeScript 工具需 Bun 运行时;Python 工具使用官方 onepassword-sdk 包,需 uv,要求 Python 3.9+ 及 OP_SERVICE_ACCOUNT_TOKEN 环境变量。

环境密钥引用格式:op://<vault>/<environment>/variables/<key>

服务账号

用于无个人凭据的自动化。前置条件:1Password CLI 2.18.0 或更高版本、有效订阅、创建服务账号的管理员权限。通过 op service-account create 创建,可指定只读或读写权限。设置 OP_SERVICE_ACCOUNT_TOKEN 后 CLI 命令自动认证。

限制:无法访问 Personal、Private、Employee 或默认 Shared 保险库;创建后权限不可修改;每账户最多 100 个服务账号;受速率限制。

Kubernetes 集成

  • External Secrets Operator(ESO):需 1Password Connect Server(v1.5.6+)、凭据文件、访问令牌及集群中已安装的 ESO。通过 ClusterSecretStore 与 ExternalSecret 配置同步。
  • 原生 1Password Operator。

使用方式

密钥检索

标准引用格式:op://<vault>/<item>/<field>。

  • 直接读取:op read "op://Development/AWS/access_key_id"
  • 注入命令:op run --env-file=.env.tpl -- ./deploy.sh
  • 注入文件:op inject -i config.tpl.yaml -o config.yaml

条目管理

支持通过命令行参数或 JSON 模板创建条目,可生成密码,可编辑字段。

CI/CD 集成

提供 GitHub Actions、GitLab CI、CircleCI 配置示例。GitHub Actions 使用 1password/install-cli-action@v1 与 1password/load-secrets-action@v2。

环境工作流

创建(支持内联变量、.env 文件、自定义标签)、列出(可按保险库或标签过滤、JSON 输出)、显示(可掩码或显示值)、更新(增删变量、合并文件)、导出(标准、Docker、op-refs、JSON 格式,可加前缀)、删除(交互、强制、归档)。

适用场景

  • 本地开发中检索密钥
  • 管理项目环境变量
  • 在 1Password 中管理条目与保险库
  • 在 CI/CD 中自动化密钥
  • 将密钥同步到 Kubernetes
  • 为 CLI 工具配置 shell 插件

限制

服务账号存在上述访问范围、权限修改、数量与速率限制。Developer Environments 的 .env 文件挂载功能仅 GUI 测试版提供,两种 CLI 工具均不支持。SDK 不支持标签过滤。