macOSでGitHub Fine-grained PATを1Passwordに保存し、gitとghで使う手順

macOSでGitHub Fine-grained PATを1Passwordに保存し、gitとghで使う手順

2026.04.28

はじめに

お疲れ様です。あきとです。

今回は、GitHubのFine-grained Personal Access Token(以下、PAT)を1Passwordへ安全に保管し、gitgh の両方から使えるようにする手順をまとめました。

前提

  • macOSに1Passwordデスクトップアプリがインストールされ、サインイン済み
  • gh(GitHub CLI)と git がインストール済み

やってみた

1. GitHub Fine-grained PATを生成する

GitHubにログインし、次の順に進みます。

  1. Settings
  2. Developer settings
  3. Personal access tokens
  4. Fine-grained tokens
  5. Generate new token

PAT生成画面への導線

トークン作成画面では、次の項目を設定します。

  • Token name: 用途がわかる名前
  • Expiration: 有効期限
  • Resource owner: 対象リポジトリの所有者
  • Repository access: 必要なリポジトリだけ
  • Permissions: 必要最小限の権限

権限の詳細は、GitHub公式ドキュメントを参照してください。

詳細に制御された個人用アクセス トークンに必要なアクセス許可 - GitHub Docs

設定が終わったら、Generate token をクリックします。表示されたPATは、画面を閉じると再表示できません。画面を開いたまま次の手順へ進んでください。あとの op plugin init gh で1Passwordへインポートします。

2. 1Password CLIをインストールする

brew install --cask 1password-cli

インストール後にバージョンを確認します。

op --version

1Passwordアプリ側で、CLI連携を有効化します。

  1. 設定
  2. 開発者
  3. 1Password CLI と連携をチェック

1Password CLI連携の有効化

3. 1Password Shell Pluginでghを設定する

op plugin init gh

対話画面が順に表示されます。

1つ目の画面: どのcredentialを使うか

gh に渡すPATをどこから持ってくるかを選びます。

  • Search in 1Password: 1Passwordに保存済みのitemから選ぶ
  • Import into 1Password: 新しくPATを入力して1Passwordに保存する(今回はこちら)

ここで「Import into 1Password」を選び、手順1でコピーしたPATをそのまま貼り付けます。

続いて、item名と保存先のVault(基本private)の入力を求められます。任意で構いませんが、あとから見て分かる名前にしておくと管理しやすいです。

次に、保存したPATをどの範囲で gh の既定にするかを選びます。

  • Prompt me for each new terminal session: 新しいターミナルを開くたびに、このPATを使うか確認される。手動で都度承認したい場合に選ぶ
  • Use automatically when in this directory or subdirectories: 現在のディレクトリとその配下にいるときだけ自動で使う。リポジトリごとにアカウントを使い分ける場合に向く
  • Use as global default on my system: マシン全体の既定として使う。gh を実行すれば常にこのPATが適用される

普段使いのアカウントが1つなら、global default が手間がなく便利です。

設定が完了すると、最後に次のようなコマンドが表示されるので、表示されたコマンドをコピーし実行します。

例:

echo "source /Users/username/.config/op/plugins.sh" >> ~/.zshrc && source ~/.zshrc

plugins.shgh をシェル関数として再定義し、内部で op plugin run -- gh ... を呼びます。これにより、毎回 op plugin run -- を付けなくても、素の gh コマンドで1Password経由のPATを使えます。

4. ghが1Password経由で動くか確認する

op plugin inspect gh
gh auth status
gh repo view

ここで認証が通れば、gh 側はすでに1Password経由で動いています。

5. GitHub remoteをHTTPSにする

PATはHTTPS認証で使われます。SSH形式のremoteのままだとPATは効かないため、HTTPSへ切り替えます。

現状を確認します。

git remote -v

SSH形式の例。

origin  git@github.com:OWNER/REPO.git (fetch)
origin  git@github.com:OWNER/REPO.git (push)

HTTPSに変更します。

git remote set-url origin https://github.com/OWNER/REPO.git

変更後に確認します。

git remote -v

期待値の例。

origin  https://github.com/OWNER/REPO.git (fetch)
origin  https://github.com/OWNER/REPO.git (push)

6. Git credential helperを1Password経由に設定する

credential設定を追加します。--replace-all は既存値をすべて消したうえで新しい値に置き換えるオプションです。過去の credential.helper が残っていても、安全に上書きできます。

git config --global --replace-all credential.https://github.com.helper ''
git config --global --add credential.https://github.com.helper '!op plugin run -- gh auth git-credential'

7. Git credential設定を確認する

git config --show-origin --show-scope --get-regexp '^credential\.'

期待値の例。

global  file:/Users/yamamoto.akito/.gitconfig  credential.https://github.com.helper
global  file:/Users/yamamoto.akito/.gitconfig  credential.https://github.com.helper !op plugin run -- gh auth git-credential

8. 動作確認する

まずgh側です。

gh auth status

次にgit側です。

git ls-remote origin HEAD

すべて成功すれば、gitとghの両方で1Password内のPATを使えています。

注意点

過去にmacOS KeychainへPATやOAuth認証情報を保存していた場合は、注意が必要です。古い情報が残っていると、新しい設定と競合する場合があります。心当たりがあるときは、先に削除しておくと安心です。

まとめ

今回は、GitHub Fine-grained PATを1Passwordに保管し、gitgh の両方から使う手順を整理しました。

ポイントは次の3つです。

  • PATは1Passwordにだけ置く
  • gh は1Password Shell Plugin経由でPATを受け取る
  • git のcredential helperから gh auth git-credential を呼び出してPATを共有する

ローカルに平文のPATを残さずに済むので、トークンの管理コストを大きく下げられます。

なお、今回の手順はリポジトリごとに認証情報を分けない設定です。複数アカウントを使い分けたい場合は、別途設定を追加してください。

本ブログが誰かの参考になれば幸いです。

参考資料


クラスメソッドオペレーションズ株式会社について

クラスメソッドグループのオペレーション企業です。

運用・保守開発・サポート・情シス・バックオフィスの専門チームが、IT・AIをフル活用した「しくみ」を通じて、お客様の業務代行から課題解決や高付加価値サービスまでを提供するエキスパート集団です。

当社は様々な職種でメンバーを募集しています。

「オペレーション・エクセレンス」と「らしく働く、らしく生きる」を共に実現するカルチャー・しくみ・働き方にご興味がある方は、クラスメソッドオペレーションズ株式会社 コーポレートサイト をぜひご覧ください。※2026年1月 アノテーション㈱から社名変更しました

この記事をシェアする

関連記事