GitLab アカウントはコードをプッシュし、マージリクエストを承認し、CI パイプラインを実行し、デプロイに使う変数やトークンを保持しています。あなたとしてログインした人は、あなたの名前でコードをリリースできます。2FA をオンにすれば、パスワードだけではログインできません。グループやインスタンスで 2FA が必須になっている場合もあり、プロジェクトで作業する前に有効にするよう求められることがあります。
GitLab に認証アプリを登録する
2FA をオンにすると、HTTPS 経由の Git と GitLab API ではパスワードが使えなくなります。パーソナルアクセストークンを作成して、パスワードの代わりに使ってください。会社が運用するセルフマネージドの GitLab でも画面は同じです。GitLab.com ではなく、そのインスタンスで開いてください。
- パソコンで GitLab にサインインします。
- 右上のアバターを選び、「Edit profile」(プロフィールを編集)を選びます。
- 左のサイドバーで「Access」(アクセス)→「Password and authentication」(パスワードと認証)を選びます。
- 「One-time password authenticator」(ワンタイムパスワード認証アプリ)のセクションで「Register authenticator」(認証アプリを登録)を選びます。
- GitLab に QR コードが表示されたら、そのページを開いたまま下の手順で拡張機能に追加します。手動入力用の情報はその横にあります。その後、現在のパスワードと拡張機能のコードを入力し、「Register with two-factor app」(二要素認証アプリで登録)を選びます。
GitLab を Authenticator に追加する
- Chrome Web Store から 2FA 認証システム をインストールし、ツールバーに固定して、ワンクリックでアイコンを開けるようにします。
- GitLab の QR コードが表示されたページは開いたままにします。Authenticator のアイコンをクリックし、「アカウント追加」→「QRコード」→「画面からQRをスキャン」の順に選びます。
- アカウントがリストに追加され、30 秒ごとに変わる 6 桁のコードが表示されます。名前は自由に変更できます。名前は自分用の表示にすぎません。
- GitLab に戻り、表示中のコードを確認欄に入力します。期限切れ間近なら、次のコードを待ちましょう。
- GitLab で二段階認証が有効になったことが表示されます。以降はログインのたびにコードを求められるので、拡張機能のアイコンをクリックしてコピーしてください。
QR コードがない、またはスキャンできない場合は、GitLab の設定画面でキーを手動入力するオプションを探してキーをコピーし、拡張機能の「アカウント追加」→「手動入力」→「シークレットキー」から追加します。
2FA 認証システム を Chrome に追加(無料)GitLab のリカバリーコードをダウンロードする
コードが受け付けられると、GitLab にリカバリーコードが表示されます。コピーするか印刷するか、「Download codes」(コードをダウンロード)を選んで gitlab-recovery-codes.txt を保存し、このパソコン以外の場所に保管してください。各コードは 1 回だけ使えます。新しいセットが必要なら、Password and authentication →「Regenerate recovery codes」(リカバリーコードを再生成)に進んでパスワードを入力します。古いコードは使えなくなります。
コードが受け付けられない場合
いちばん多いのは QR コードが変わったケースです。ウェブサイトは設定ページを再読み込みしたり開き直したりするたびに新しい QR コードを作るため、先に追加したアカウントは合わなくなります。設定を最初からやり直し、いま画面に出ている QR コードを追加して、そのコードをすぐに入力してください。同じサイトの項目が 2 つある場合は、新しいほうを使います。そのほかの原因:コードが拒否される理由。
キーを手で入力しましたか? キーをTOTP コード生成ツールに貼り付け、表示されるコードを拡張機能のコードと比べます。違っていれば、キーのコピーを間違えています。アカウントを追加し直してください。
よくある質問
- スマホなしで GitLab の認証アプリを使えますか?
- はい。GitLab は Google Authenticator、Microsoft Authenticator、Authy などのスマホアプリを挙げていますが、確認するのは 6 桁のコードだけで、標準の時間ベースのコードを生成するアプリならどれでもそれを作れます。Authenticator 拡張機能は GitLab のページから QR コードを直接読み取り、コードを Chrome に保管します。
- 認証アプリを使えなくなったら?
- 二段階認証の入力画面で「Recover your account」(アカウントを復旧)を選び、リカバリーコードを入力します。それも失くした場合、アカウントに SSH キーが登録されていれば、ssh git@gitlab.com 2fa_recovery_codes を実行して yes で確定すると、新しいセットを取得できます。GitLab サポートが 2FA をリセットするのは有料の GitLab.com アカウント(Premium または Ultimate)だけです。Free アカウントですべての方法を失うと、二度とアクセスできません。
- 2FA をオンにしたら git push でパスワードが拒否されるのはなぜ?
- 2FA がオンの場合、GitLab は HTTPS 経由の Git や API でパスワードを受け付けません。パーソナルアクセストークンを作成し、Git がパスワードを求めるところに入力してください。または SSH でプッシュします。SSH は SSH キーを使うので影響を受けません。
- GitLab でコードが間違っていると表示されるのはなぜ?
- 多くの場合、QR コードが変わっています。ページを離れて登録をやり直すと GitLab は新しい QR コードを作るため、先に追加したアカウントは合わなくなります。拡張機能から削除し、いま画面に出ている QR コードを追加して、そのコードをすぐに入力してください。GitLab の項目が 2 つある場合は、新しいほうを使います。
ログイン画面から、ワンクリックでコードを
Authenticator は 2FA コードをブラウザ内、お使いのデバイスだけに保存します。利用無料・オープンソースで、アカウント登録もスマホも不要。ローカルバックアップと、任意で使えるパスワード保護も標準搭載です。
2FA 認証システム を Chrome に追加(無料)