HerokuとGitHubの連携ができなくなった件の対応

記事投稿の数日前からHerokuとGitHubの連携ができなくなっているようで、一時的にGitHubとの連携からHerokuに直接プッシュする形に変更する必要があったので、その際に行ったSourceTreeを使って対応する方法をメモしておきます。

2022/5/11追記
5/4にメールがきていましたが、ユーザーのパスワードリセットが行われているようです。
以下メールの抜粋になります。

As part of our efforts to enhance our security and in response to an incident published on status.heroku.com, we wanted to inform you that we will begin resetting user account passwords on May 4, 2022. We recommend that you reset your user account password in advance here and follow the best practices below:

NOTE: A password reset will also invalidate your API access tokens. As a result, any automations you’ve built to integrate with the Heroku Platform API that use these tokens may result in 403 forbidden errors . To avoid downtime you will need to re-enable direct authorizations by following the instructions here and update your integrations to use your newly generated token.

メールにもあるように、パスワードがリセットされるとAPIトークンも無効になり、再発行が必要になるのでご注意ください。

経緯

GitHubがHerokuとTravis-CIに発行したOAuthトークンが流出したようです。
詳細は各公式サイトでご確認ください。
Heroku: Heroku Security Notification
GitHub: Security alert: Attack campaign involving stolen OAuth user tokens issued to two third-party integrators

上記のHeroku公式の中に記載がありますが、GitHub インテグレーションのOAuthトークンは全て失効済みで、HerokuのダッシュボードからもOAuthトークンを発行できないようになっているようです(期間は不明)。

As reported yesterday, revocation of all OAuth tokens from the Heroku Dashboard GitHub integration is complete. Until further notice, we will not issue OAuth tokens from the Heroku Dashboard.

対応内容

今回の事例ではHerokuとGitHubの連携を行なっており、SourceTreeを使ってGitHubへのプッシュを行っていました。
ただ上記の通り、HerokuとGitHubの連携が再度可能になるのがいつになるのか不明なため、一時的にHerokuに直接プッシュする形で対応します。

まずはHerokuのリモートリポジトリのURLを確認します。
Herokuのダッシュボードでアプリを選択して、Settingタブ > App Information の Heroku git URL をコピーしておきます。

次にSourceTreeでリモートリポジトリを追加します。
SourceTreeの左メニューにあるリモートを右クリックして、リモートを追加を選択します。

リモートの名前にHeroku、URL / パス に先ほどコピーしたURLをいれてOKをクリックします。

これでリモートリポジトリが追加できました。

次にプッシュする際に使用するAPIキーを取得します。
Heroku ダッシュボードのアカウント設定画面にあるAPI Keyをコピーします。
右にあるRevealボタンをクリックすると表示されます。

SourceTreeの画面に戻りプッシュを選択して、プッシュ先のリポジトリで先ほど追加したHerokuを選択します。

プッシュするブランチにチェックを入れて、OKをクリックします。

ユーザー名とパスワードの入力が表示されるので、ユーザー名にHerokuで使用しているメールアドレス、パスワードに先ほどコピーしたAPIキーを入力してOKをクリックします。

こちらのドキュメントを見るとユーザー名は空でいいようなのですが、今回試したところ先に進めなかったので、ユーザー名にメールアドレスを入れるようにしています。
Herokkuのダッシュボードで確認して、プッシュされているのを確認できればOKです。

今回はAPIキーを使う形を紹介しましたが、ターミナル等でHeroku CLIにログインした状態でSourceTreeでプッシュする形でも反映されるようでした。

参考サイト

このエントリーをはてなブックマークに追加

関連記事

コメントを残す

メールアドレスが公開されることはありません。
* が付いている欄は必須項目です

CAPTCHA


コメントが承認されるまで時間がかかります。

2022年6月
 1234
567891011
12131415161718
19202122232425
2627282930