【GitHub】8月13日のパスワード認証廃止の対策
2021.08.31
2021年8月13日に、GitHubに対してpullやpush等ができなくなった方も多かったと思います。
これはGitHubがHTTPSのリポジトリに対してパスワードでの認証を廃止したからです。
告知などを確認している方は、1年ほど前から予告されていた為、準備をされていたと思います。
しかし、突然認証できなくなったという認識の方も多いと思います。
今回は、この認証ができなくなるという状態の判断と、対処方法を解説したいと思います。
GitHubとは
まず、GitHubですが、ソフトウェア開発のプラットフォームです。
コードのバージョン管理として利用されている方が多いと思います。
バージョン管理のシステム事態はGITが使われており、ただのGITを使っていると思ったらGitHubだったという事もあるかもしれません。
GITとの大きな違いは画面上でGUIでのリポジトリ管理が行なえ、プルリクエスト等のコードレビューを行いやすくする為の機能も充実しています。
GitHubでこのメッセージが出る
今回のGitHubのパスワード認証廃止の影響でGitHubにpullやpush等が出来なくなった場合
コマンドラインでは以下のようなメッセージが表示されます。
Password authentication is temporarily disabled as part of a brownout. Please use a personal access token instead.
また、GUIのリポジトリ管理をするツール等では「個人アクセストークン」を利用するよう促すメッセージが表示されるようです。
これらのメッセージが出た場合は、今回のパスワード認証廃止の影響です。
次項目の対処方法を試してみてください。
対処方法
パスワード認証が出来ない場合、GitHub上で個人アクセストークンを発行しパスワードの代わりに使用すれば問題なく認証出来ます。
注意しなくてはならないのは、個人アクセストークンは発行後、再度確認が出来ない為必ず忘れないようにしてください。
個人アクセストークン発行
- GitHubの個人トークン設定画面をブラウザで表示します。
- 「Personal access tokens」が選択された状態になっているので「Generate token」ボタンをクリックします。
- 「Note」項目にトークンの名前を入力します(自分で何用のトークンか判断できるものであれば何でも良いです)
- 「Expiration」項目で、トークンの有効期限を設定します。7日〜90日が選べます。また期限なしも選択出来ますが、セキュリティ的には長くても良いので期限を設定し、定期的に新しいトークンを発行したほうが良いでしょう。
- 「Select scopes」項目で権限を設定します。とりあえず、fetch、pull、pushを行うだけれあれば「repo」と「gist」を選択すれば問題有りません。
- 上記を設定したら一番下にある「Generate token」ボタンを押してトークンを生成します。
- トークンがで生成された場合画面に表示されます。再度表示が出来ない為、必ずここでクリップボードにコピー等を行ってください。
以上で個人アクセストークンが発行されます。
個人アクセストークン使い方
使い方は、とても簡単です。
今までパスワードを入力していた箇所に個人アクセストークンを入力するだけで認証されます。
参考:GitHub個人アクセストークンを使用する
今までと運用が異なる点
パスワードから個人アクセストークンへ切り替えたことで大きく運用が変わる点はあまりありません。
有効期限を期限無しにした場合、再発行等も有りません。
トークンの再確認が出来ない為、トークンの管理をしっかり行わなければならないという位です。
個人アクセストークンの利点
パスワードから個人アクセストークンに変更する利点ですが私は以下のように考えます。
- パスワードは個人個人が設定できる為、強度に個人差が出てしまっていたが、個人アクセストークンはシステムが発行する為強度が一律になる。
- パスワードは自分で再設定を行わない場合、ずっと使えたが、個人アクセストークンの場合は期限設定さえしていれば更新忘れ等を防ぐことができる。
これらの利点は全てアカウントのセキュリティレベルの向上に役立ちます。
本来セキュリティレベルを向上させるには様々な工程を踏んだりと手間がかかるのですが
今回GitHubが提供している個人アクセストークンの利点はパスワードと同じ様に使える為、手間をかけずにセキュリティレベルを向上させる事ができる点にあると考えられます。
最後に
GitHubは2020年7月にはトークンベースの認証に切り替えていきたいと発言していました。
最近はSNS等のアカウントの乗っ取りや、各種サービスの個人アカウントのなりすまし等、パスワードでは守りきれない事態が増えてきたと感じております。
今回GitHunbは完全にトークンベースの認証に切りかわりました。
GitHub上に上がっているソースはとても大切なものだと思います。
どんなに気をつけていても、インターネットに接続している以上危険はつきまといます。
その為、今回のパスワード認証廃止はセキュリティレベルを向上させた為、今後の運用の安心が得られたのかなと思います。
今後のシステムやサービスにおけるアカウントの認証に関する考え方のいい警鐘となったのではないでしょうか。
参考:GitGubブログ Git操作のトークン認証要件
関連