本日 Product Hunt に掲載中です! コメントを書く

Chrome に追加

Heroku の認証アプリをブラウザで使う

Heroku は多要素認証を必須にしており、標準的な認証アプリならどれでも、ブラウザ上のものも含めてその要件を満たせます。Dashboard で Account Settings(アカウント設定)→ Setup Multi-Factor Authentication(多要素認証を設定)→ Add One Time Password Generator(ワンタイムパスワード生成ツールを追加)を開き、Authenticator 拡張機能で画面の QR コードをスキャンします。

Heroku アカウントはコードをデプロイし、API キーやデータベースの認証情報が詰まった config vars を保持し、請求も発生させます。まさに攻撃者が狙うものです。だからこそ Salesforce は、すべての Heroku ユーザーに多要素認証を義務付けています。Salesforce Authenticator はその方法の 1 つで、どの認証アプリでも使える時間ベースのコードもまた 1 つの方法です。こちらは電波を必要としません。

Heroku に認証アプリを追加する

新しい Heroku アカウントでは、作成時に多要素認証をオンにするよう求められます。その場合は設定画面が自動で開くので、そこでワンタイムパスワード生成ツールを選びます。チームがシングルサインオンで Heroku にログインしている場合、多要素認証はその ID プロバイダーで設定するので、この手順は関係ありません。

  1. パソコンで Heroku Dashboard にログインします。
  2. 「Account Settings」(アカウント設定)を開きます。
  3. 「Setup Multi-Factor Authentication」(多要素認証を設定)を選びます。すでに確認方法をオンにしている場合は「Manage Multi-Factor Authentication」(多要素認証を管理)を選びます。
  4. 「Add One Time Password Generator」(ワンタイムパスワード生成ツールを追加)をクリックします。
  5. QR コードが表示されます。画面に表示したまま下の手順で拡張機能に追加し、拡張機能のコードを入力して「Connect」(接続)をクリックします。
Heroku 公式の手順

Heroku を Authenticator に追加する

  1. Chrome Web Store から 2FA 認証システム をインストールし、ツールバーに固定して、ワンクリックでアイコンを開けるようにします。
  2. Heroku の QR コードが表示されたページは開いたままにします。Authenticator のアイコンをクリックし、「アカウント追加」→「QRコード」→「画面からQRをスキャン」の順に選びます。
  3. アカウントがリストに追加され、30 秒ごとに変わる 6 桁のコードが表示されます。名前は自由に変更できます。名前は自分用の表示にすぎません。
  4. Heroku に戻り、表示中のコードを確認欄に入力します。期限切れ間近なら、次のコードを待ちましょう。
  5. Heroku で二段階認証が有効になったことが表示されます。以降はログインのたびにコードを求められるので、拡張機能のアイコンをクリックしてコピーしてください。

QR コードがない、またはスキャンできない場合は、Heroku の設定画面でキーを手動入力するオプションを探してキーをコピーし、拡張機能の「アカウント追加」→「手動入力」→「シークレットキー」から追加します。

2FA 認証システム を Chrome に追加(無料)

Heroku のリカバリーコード 10 個を生成する

リカバリーコードはそれ自体が 1 つの確認方法です。同じ多要素認証のページで「Add Recovery Codes」(リカバリーコードを追加)を選ぶと、Heroku は 1 回限りのコードを 10 個表示します。このパソコン以外の場所に保存してください。各コードは使うまで有効で、新しいセットはいつでも生成できます。コードでログインするには、「Didn’t receive a notification?」(通知が届きませんか?)→「Choose Another Verification Method」(別の確認方法を選択)→「Recovery Codes」(リカバリーコード)の順にクリックします。

コードが受け付けられない場合

原因はほとんどの場合、パソコンの時計です。コードは現在時刻から計算されるため、時計が 1 分ずれているだけで、正しく見えるのに拒否されるコードが生成されます。システム設定で日付と時刻の自動設定をオンにしてください(Windows・macOS・Linux 別の手順はこちら)。

時計が正しい場合は、キー自体を確認しましょう。キーをTOTP コード生成ツールに貼り付け、表示されるコードを拡張機能のコードと比べます。違っていれば、キーのコピーを間違えています。アカウントを追加し直してください。

よくある質問

Heroku には Salesforce Authenticator が必要ですか?
いいえ。Salesforce Authenticator はプッシュ通知を送りますが、Heroku はワンタイムパスワード生成ツール、つまり標準の時間ベースのコードを生成するアプリも同じように受け付けます。Heroku は Google Authenticator、Microsoft Authenticator、Authy を挙げています。Authenticator 拡張機能も同じ仕組みで動き、Dashboard から QR コードを直接読み取ります。
多要素認証を使って Heroku CLI にログインするには?
heroku login を実行します。ブラウザが開くので、Dashboard にログインして拡張機能のコードを入力します。ターミナルでパスワードを尋ねる --interactive オプションは、多要素認証では使えません。
認証アプリを使えなくなったら?
リカバリーコードでログインし、認証アプリを設定し直します。Heroku Enterprise Account では、管理者がアカウントの Access(アクセス)タブにある「Send MFA Recovery Token」(MFA 復旧トークンを送信)で一時的な確認コードを送れます。それ以外の場合は Heroku サポートに問い合わせてください。本人確認のために追加の情報を求められることがあります。
Heroku でコードが間違っていると表示されるのはなぜ?
多くの場合、パソコンの時計が 1 分以上ずれています。日付と時刻の自動設定をオンにして、次のコードで試してください。それでも失敗する場合は、拡張機能からアカウントを削除し、Manage Multi-Factor Authentication でワンタイムパスワード生成ツールを削除してから、追加し直してください。

ログイン画面から、ワンクリックでコードを

Authenticator は 2FA コードをブラウザ内、お使いのデバイスだけに保存します。利用無料・オープンソースで、アカウント登録もスマホも不要。ローカルバックアップと、任意で使えるパスワード保護も標準搭載です。

2FA 認証システム を Chrome に追加(無料)