Backlog の 2段階認証環境で Git HTTPS 接続を 1Password の credential helper で快適に管理する
こんにちは!クラスメソッドオペレーションズ AWS テクニカルサポートチームの大高です。
今回は、2段階認証を設定した Backlog の Git リポジトリに HTTPS で接続する際に、認証情報を 1Password で管理する方法についてご紹介したいと思います。
はじめに
個人用のツールを Backlog の Git リポジトリで管理しようとしたのですが、Backlog の新プランでは 2段階認証が設定できるようになっており、私はこれを有効にしていました。
2段階認証を有効にすると、通常のパスワードで Git の HTTPS 接続ができなくなります。
SSH 接続も試みたのですが、うまく接続できなかったため、Backlog が提供している「特別なパスワード」を利用した HTTPS 接続を試してみました。
また、認証情報をそのまま Git の設定ファイルに書くのはセキュリティ上好ましくないため、1Password に格納して、Git の credential helper 経由で取得するようにしました。
前提条件
- Backlog アカウントで 2段階認証を設定済み(新プラン)
- 1Password アプリがインストール済み
- 1Password CLI がインストール済みかつサインイン済み
- macOS 環境(credential helper はシェルスクリプトで作成)
1Password CLI のインストール
1Password CLI がインストールされていない場合は、以下のコマンドでインストールできます。
brew install 1password-cli
インストール後、1Password アプリと CLI を連携させておきます。
1Password アプリの設定から「開発者」→「コマンドラインインターフェース(CLI)」→「1Password CLIと連携」を有効にしておきます。
やってみた
では、設定をすすめていきます。
Backlog の「特別なパスワード」を発行する
まずは Backlog にログインし、個人設定の「パスワード」から「特別なパスワード」を発行します。
- Backlog にログインし、右上のユーザーアイコン →「個人設定」を開く
- 「パスワード」メニューを選択
- 「新しいパスワードを発行」セクションで、メモ(用途の説明)を入力し、「Git (https)」の権限にチェックを入れて「登録」
- 発行されたパスワードを控えておく(このあと 1Password に格納します)
1Password に認証情報を格納する
発行した「特別なパスワード」を 1Password に格納します。
ここでは「Nulab Apps」というアイテム名で登録しています。
| フィールド | 値 |
|---|---|
| アイテム名 | Nulab Apps |
| ユーザー名 | Backlog のログイン ID(メールアドレス) |
| backlog_git_password | 発行した「特別なパスワード」 |
backlog_git_password はカスタムフィールドとして追加します。
フィールドの種類は「パスワード」にしておくと、値が隠蔽されて安全です。
Git credential helper スクリプトを作成する
1Password CLI を利用して認証情報を取得する credential helper スクリプトを作成します。
mkdir -p ~/bin
vim ~/bin/git-credential-backlog
スクリプトの内容は以下のようにしました。
なお、1Password CLI でのアイテム取得時(op item get)に、アイテム名を「Nulab Apps」としていますが、これは適宜利用しているアイテム名に変更ください。
#!/bin/bash
# Backlog用 git credential helper (1Password使用)
if [[ "$1" == "get" ]]; then
while IFS= read -r line || [[ -n "$line" ]]; do
[[ -z "$line" ]] && break
[[ "$line" =~ ^host=(.*)$ ]] && host="${BASH_REMATCH[1]}"
done
if [[ "$host" == *"backlog.jp"* ]]; then
username=$(op item get "Nulab Apps" --fields username 2>/dev/null)
password=$(op item get "Nulab Apps" --fields backlog_git_password --reveal 2>/dev/null)
echo "username=$username"
echo "password=$password"
fi
fi
スクリプトに実行権限を付与します。
chmod +x ~/bin/git-credential-backlog
このスクリプトによって、Git から get アクションで呼び出された際に、標準入力から host を読み取り、backlog.jp が含まれる場合のみ 1Password から認証情報を取得して返されるようになります。
Git の credential helper を設定する
最後に ~/.gitconfig に Backlog 専用の credential helper を設定します。
git config --global credential.https://xxxxx.backlog.jp.helper ~/bin/git-credential-backlog
設定後に以下で確認しておきます。
git config --list | grep credential
以下のような出力が含まれていれば、設定完了です。
credential.https://xxxxx.backlog.jp.helper=/Users/xxxxx/bin/git-credential-backlog
動作確認
設定が完了したら、実際に Backlog の Git リポジトリを clone してみます。
git clone https://xxxxx.backlog.jp/git/YOUR_PROJECT/your-repo.git
1Password のロックが解除されていれば、パスワード入力なしで認証が完了し、clone されます。
ロックがかかっている場合は、1Password アプリでロックを解除すると clone できるはずです。
まとめ
Backlog の新プランで 2段階認証を設定している場合は、通常のパスワードによる HTTPS 接続ができなくなりますが、「特別なパスワード」を利用することで HTTPS 接続が可能です。
また、認証情報を Git の設定ファイルに直書きするのではなく、1Password に格納して credential helper 経由で取得することで、セキュリティを保ちながら快適に Git 操作ができるようになるのでオススメです。
どなたかのお役に立てば幸いです。それでは!
クラスメソッドオペレーションズ株式会社について
クラスメソッドグループのオペレーション企業です。
運用・保守開発・サポート・情シス・バックオフィスの専門チームが、IT・AI をフル活用した「しくみ」を通じて、お客様の業務代行から課題解決や高付加価値サービスまでを提供するエキスパート集団です。
当社は様々な職種でメンバーを募集しています。
「オペレーション・エクセレンス」と「らしく働く、らしく生きる」を共に実現するカルチャー・しくみ・働き方にご興味がある方は、クラスメソッドオペレーションズ株式会社 コーポレートサイト をぜひご覧ください。※2026 年 1 月 アノテーション㈱から社名変更しました








