Check! GitHub で 2要素認証 (two-factor authentication) を設定する
Prologue
こんにちは、 @dz_ こと大平かづみです。
GitHub をより安全に便利に使えるよう研究中です。
例えば、GitHub の Organization では、メンバーに対して 2要素認証 (two-factor authentication) の設定を促すことができます。
この Organization から招待された場合、自身のアカウントの2要素認証の設定を済ませていないと、招待を承諾できません。
2要素認証は、自身のアカウントや所属する Organization のコードを守るために必要なセキュリティです。設定して安全に利用できるようにしましょう🤓
ここでは上図のような招待画面からの操作を説明しますが、GitHubアカウントの「Settings」→「Account security」からいつでも設定することができます。その手順については、下記公式ドキュメントをご参照ください。
2要素認証 (two-factor authentication) についておさらい
GitHub やほかの多くのサービスでは、最低限、アカウント(ユーザー名やメールアドレスなど)とパスワードの組合せによる認証が提供されています。しかし、今やこのパスワードによる認証は、様々な手口で突破されかねないセキュリティ強度なのです。
そこで今日では、2要素認証 (two-factor authentication, 2FA, 多要素認証 (multi-factor authentication) とも表現される) を導入するサービスが多くなっています。
パスワードによる認証に加え、本人に紐づくデバイスや通信経路を用いた別の形式で認証を行うことで、本人からのアクセスであるとみなし認証します。具体的には、本人が有するアプリや本人の電話番号への SMS を介して発行された、ワンタイムパスワード (Time-based One-time Password, TOTP) を利用します。
GitHub では、TOTPアプリの利用が推奨されています。利用できる TOTPアプリは以下の通りです。(2021年5月現在)
留意点
2要素認証が利用できない場合に備えて
たとえば、TOTPアプリをインストールしたデバイスが紛失・破損などで使えない場合や、SMS 通知を選択していて電話番号を変更、喪失した場合など、認証できなくなり積みます 😇
ですので、設定時に提示される リカバリコード は必ず保持していてください。ローカルマシンではなく、クラウドのデータストレージに置いておくとよいと思います。
また、前述の対応TOTPアプリの場合は、クラウドでデータ同期できるようなので、それぞれのアプリの同期、復旧方法などを確認しておくとよさそうです。
GitHub のリポジトリのクローン時の認証について
GitHub アカウントで2要素認証の設定後、場合によっては、Private リポジトリを https のエンドポイントを使ってクローンする場合などで認証に失敗するかもしれません。(以前はパスワード認証でしたが、現在では Personal Access Token (PAT) に変わっているので、今は起きないかもしれません。)その場合は、下記を参考に認証を確認してみてください。個人的には、SSH キーによる認証がおすすめです。
Organization への招待からの 2要素認証 の設定
事前準備
この記事では、TOTPアプリを用いて説明します。前述の対応TOTPアプリをお手持ちのデバイスにインストールしておいてください。なお、私は Authy を iPhone にインストールして利用しています。
手順
招待画面で、「Enable two-factor authentication」ボタンを選択して設定に進みます。
TOTPアプリでの設定を行うため、「Set up using an app」ボタンを選択します。
ここで必ず リカバリコード を保存します。「Download」ボタンを選択してダウンロードするか、「Print」ボタンからPDF保存などを行います。保存を終えたら、「Next」ボタンで次に進みます。
この画面では、TOTPアプリを起動して、GitHub を登録します。
TOTPアプリの例として Authy の画面で紹介します。各アプリでの手順の詳細は前述のTOTPアプリのリンク先をご参照ください。
「Add Account」からアカウント追加へ進み、「Scan QR Code」ボタンを選択するとカメラが起動するので、上図のQRコードにかざし読み取ります。
読み取りが完了すると、GitHub のロゴが表示され登録内容の確認および編集ができます。適宜 Nickname などを調整して「Save」ボタンから保存します。
保存するとワンタイムパスワードのコードが表示されます。
そのコードを GitHub の画面の「Enter the six-digit code from the application」のフィールドに入力し、「Enable」ボタンを選択して有効化させます。コードは時間経過によって再発行されるので、期限が切れる前に操作を進めてください。期限が切れた場合は再度表示されたコードを入力して進めます。
無事に有効化が完了すると、招待画面に戻るので、「Join <Organization>」ボタンから招待を承諾しましょう🤓✨
Epilogue
無事に設定できましたか?
GitHub に限らず、2要素認証が提供されているサービスでも同じような要領で設定できます。しっかり設定して安心して利用したいですね。
よりよいITライフを!🕊
Discussion