git-credential-1password-cli — 1Password CLI連携のGit認証ヘルパー

Tool

概要

git-credential-1password-cliは、1Passwordの公式CLI(op)と連携してGitの認証情報を管理するためのヘルパーです。Rustで書かれたコマンドラインツールで、git configのcredential.helperに登録して利用します。設定例では「op://Vault/ItemName/fieldName」の形式で1Password内の項目・フィールドを指定し、Gitが要求するユーザー名やパスワードをその場で取得します。Cargo経由でインストールでき、MITライセンスで配布されています。

GitHub

リポジトリの統計情報

  • スター数: 5
  • フォーク数: 0
  • ウォッチャー数: 5
  • コミット数: 8
  • ファイル数: 7
  • メインの言語: Rust

主な特徴

  • 1Password CLI (op) と直接連携し、指定したVault/Item/fieldから認証情報を取得
  • Gitのcredential helperプロトコル(get/store/erase)に対応
  • Rustで実装されており、軽量で高速な単一バイナリとして配布可能
  • cargo installで簡単に導入でき、MITライセンスで利用可能

技術的なポイント

git-credential-1password-cliはGitが標準で利用するcredential helperプロトコルを実装し、標準入出力でのやり取り(stdinでの要求、stdoutでの返却)を通じてGitと連携します。認証情報の取得には1Password公式CLI(op)をサブプロセスとして呼び出し、op://Vault/ItemName/fieldName形式で指定された対象フィールドを読み取ります。この設計により、秘密情報はローカルの平文ファイルに残さず、1Passwordのアクセス制御と監査の恩恵を受けられます。

Rustの採用は、安全性と性能、配布の容易さ(シングルバイナリ化)に利点があります。依存関係は最小限に抑えられ、Cargoでのインストールを想定しているため開発環境への導入が容易です。実運用にあたっては、1Password CLIのセッション管理(ログイン状態やセッショントークンの有効期限)、Vault/Itemのアクセス権限、opコマンド実行時の標準エラー処理やタイムアウト設定を考慮する必要があります。また、getだけを実装している場合はstore/eraseの挙動に注意が必要で、CIや自動化環境で使う際はopの認証情報保護と環境変数の扱いに配慮してください。クロスプラットフォーム(Linux/macOS/Windows)での動作を想定した設計で、Git操作の自動化と秘密管理を安全に組み合わせられる点が特徴です。

プロジェクトの構成

主要なファイルとディレクトリ:

  • .github: dir
  • .gitignore: file
  • Cargo.lock: file
  • Cargo.toml: file
  • LICENSE: file

…他 2 ファイル

まとめ

1PasswordとGitを安全に連携する、シンプルで実用的なRust製ヘルパーです(50字程度)。

リポジトリ情報:

READMEの抜粋:

git-credential-1password-cli

A Git credential helper that integrates with 1Password CLI.

Install

cargo install git-credential-1password-cli

Setup

git config --global credential.helper "1password-cli <your-username> op://Vault/ItemName/fieldName"

Sponsors

License

MIT Li…