git-credential-1password-cli — 1Password CLI連携のGit認証ヘルパー
概要
git-credential-1password-cliは、1Passwordの公式CLI(op)と連携してGitの認証情報を管理するためのヘルパーです。Rustで書かれたコマンドラインツールで、git configのcredential.helperに登録して利用します。設定例では「op://Vault/ItemName/fieldName」の形式で1Password内の項目・フィールドを指定し、Gitが要求するユーザー名やパスワードをその場で取得します。Cargo経由でインストールでき、MITライセンスで配布されています。
リポジトリの統計情報
- スター数: 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字程度)。
リポジトリ情報:
- 名前: git-credential-1password-cli
- 説明: A Git credential helper that integrates with 1Password CLI
- スター数: 5
- 言語: Rust
- URL: https://github.com/sxzz/git-credential-1password-cli
- オーナー: sxzz
- アバター: https://avatars.githubusercontent.com/u/6481596?v=4
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…