Two-factor Authenticationを試してみました。Herokuにログインするときに2要素認証機能が有効化されセキュリティがより向上します。
左側のメニューからManage Accountのページに移動します。
Set up Two-factor Authentication...ボタンがあるのでクリックします。
設定手順が表示されます。赤枠のボタンをクリックします。
ボタンをクリックするとHerokuアカウントのパスワードを聞かれます。
パスワードを入力すると次の画面が表示されます。
あとは以下の手順で進めればいいみたいです。
Download an app
QRコードの読み取りが必要になるので、AuthyまたはGoogle Authenticatorのモバイルアプリをダウンロードします。
Salesforceユーザの場合はSalesforce Authenticatorアプリでも対応できそうです。
Scan the code
先ほどの認証アプリについているQRコード読み取り機能で画面に表示されているQRコードを読み取ります。
読み取り後、アプリに認証コードが表示されるようになります。
Verify your app
最後にアプリに表示されている認証コードを入力してボタンをクリックします。
これで認証完了です。
リカバリコードの設定
最後にリカバリコードを設定する必要があります。何らかの理由でログインできなくなったときにこのコードで復旧できます。Set upボタンをクリックすると電話番号の入力を求められます。
試しに入力してみたところ次のエラーが発生しました。
エラーの原因は国番号を入力し忘れていた為でした。日本の場合は『+81』と先頭につける必要があります。またハイフン区切りで入力する必要があるみたいです。
『+81 090-XXXX-XXXX』
このステップはスキップすることが可能です。次に進むとリカバリコードが表示されます。
ダウンロードボタンやコピーボタンが用意されているので、どこか確認できる場所に残しておくと安全です。
有効化後の設定
有効化後、Manage Accountのページに戻ると次のようになっています。Two-factor Authenticationを無効化したり、電話番号を追加したり、新しいリカバリコードを発行したい場合はここからできるみたいです。
Herokuにログイン
設定完了後、Herokuにログインするとログイン時に次の画面が表示されるようになります。
認証アプリに表示される認証コードを入力すると無事にログインできます。
ターミナルからHerokuにログイン
ターミナルからHerokuコマンドを利用する際に『heroku login』コマンドを利用します。今まではEmailとPasswordの2つの情報が必要でしたが、Two-factor Authentication機能を有効化後はTwo-factor codeも聞かれるようになります。
$ heroku login Enter your Heroku credentials. Email: <Herokuアカウント・ユーザ名> Password (typing will be hidden): <Herokuアカウント・パスワード> Two-factor code: <認証アプリの認証コード>
ログイン後は、今までと同じようにHerokuコマンドが実行できると思います。
自分のときは必要ありませんでしたが、事前にheroku updateコマンドを実行しておくといいみたいです。
無効化コマンド
試してはいないのですが、次のコマンドで無効化できるみたいです。
$ heroku 2fa:disable
電話番号を登録しておくと・・・
Two-factor Authenticationの認証用に電話番号を登録しておくと認証アプリとは別にSMSで認証コードを受け取ることができます。何らかの理由で認証アプリが利用できなくなった時に便利そうです。
HerokuのTwo-factor Authentication機能はこんな感じでした。