Heroku でのシングルサインオン (SSO) サービスの使用 (エンドユーザー向け)
最終更新日 2024年03月20日(水)
Table of Contents
SSO による Heroku への認証の仕組み
Heroku で管理者がシングルサインオン (SSO) を有効化した後、ユーザーは会社の ID プロバイダーで Heroku にログインできます。このプロセスは、Slack や Dropbox などの他のクラウドサービスにログインする方法と似ています。会社では ID プロバイダー (IdP) を使用して、任意の数のクラウドまたはオンプレミスサービスへの認証を集中化し、通常は 1 回のクリックで各サービスにアクセスできるようにします。
ユーザーは、IdP で一度ユーザー名とパスワードを入力するのみで、IdP の制御下にあるすべてのサービスにアクセス可能になります。
シングルサインオンで利用可能なサービスプロバイダーの一覧に Heroku を追加できるのは、ID 管理者のみです。これらのサービスプロバイダーは多くの場合、メインログインページのタイルに表示されます。
シングルサインオンに関するメール通知の差出人は、常に ID 管理者であり、Heroku ではありません。シングルサインオンや特定の通知内容について質問がある場合は、会社の ID 管理者に問い合わせてください。
既存の Heroku アカウント認証を SSO にアップグレードする
仕事用のメールアドレスと紐付けられた Heroku アカウントを持つユーザーに招待が届き、会社の ID 管理者から提供された URL にアクセスして認証方式を SSO にアップグレードするよう求められます。アカウントのアップグレードプロセスにより、会社の IdP を使用して Heroku にログインする方式に変更されます。このプロセスにより、アカウントの認証制御が会社に移管されます。
SSO にアップグレードしたユーザーは、以後、個人の資格情報を使用してのログインはできなくなり、SSO を使用する必要があります。SSO にアップグレードする前に、個人のアプリを別の個人用 Heroku アカウントに移動しておくことが推奨されます。アップグレードプロセスを拒否または延期したユーザーは、SSO リンクにアクセスすることで、いつでもアップグレードを再開して SSO に参加できます。
アップグレードプロセスをキャンセルしたユーザーは、組織管理者には「SSO 対象外」として表示されます。
アップグレードされたアカウントには常に「個人」領域がありますが、会社はいつでもその Heroku アカウントへのアクセスをブロックできるため、「個人」とは社員のコンテキストでの個人を指します。
アカウントに長期間有効なトークンがある場合、SSO を使用するようにアカウントをアップグレードすると、それらのトークンは無効になります。
SSO での新しい Heroku アカウントの取得
会社の ID プロバイダー (IdP) を経由して初めて Heroku にログインするとき、ログイン用のメールアドレスに紐付けられた Heroku アカウントがまだ存在していなければ、作成されます。Heroku は組織の IdP を信頼し、必要に応じて認証されたユーザーにアカウントを作成します。
Heroku からウェルカムメールが届いたら、受信確認リンクをクリックしてアカウントをアクティブにする必要があります。
SSO での Heroku CLI への認証
heroku login
コマンドを使用して、SSO で Heroku CLI にログインします。
$ heroku login
heroku: Press any key to open up the browser to login or q to exit
› Warning: If browser does not open, visit
› https://cli-auth.heroku.com/auth/browser/***
このコマンドにより、Web ブラウザで Heroku ログインページが開き、SSO ログインオプションを選択できます。
Log in
(ログイン) ボタンをクリックすると、Heroku CLI で自動的にログイン処理が行われます。
$ heroku login
heroku: Press any key to open up the browser to login or q to exit
› Warning: If browser does not open, visit
› https://cli-auth.heroku.com/auth/browser/***
heroku: Waiting for login...
Logging in... done
Logged in as me@example.com
環境変数 HEROKU_LEGACY_SSO=1
を設定することによって、従来の SSO ログインを使用できます。その場合、CLI から直接ログインするには heroku login
を実行します。これは、ヘッドレス SSO ログインに使用できる唯一の方法です。
FAQ: SSO での Heroku アカウント
Q: 従業員が退職した場合はどうなりますか? 管理者はどのようにして元従業員の個人のアプリにアクセスするのですか?
A: 管理者はユーザーとしてログインし、アプリを移動することができます。
Q: ユーザーが認証を SSO にアップグレードし、将来、IdP 自体が管理者によって切断された場合、ユーザーは自分のアカウントにログインできますか?
A: 会社のメールシステムにまだアクセスできる場合、通常の方法で Heroku パスワードをリセットしてアカウントにアクセスできます。
Q: 自分のアカウントを SSO から切断できますか?
A: いいえ。認証をアップグレードして組織の IdP に接続した後は、IdP 管理者のみがアカウントを SSO から切断できます。
Q: Heroku で SSO セッションの存続期間はどれくらいですか?
A: SSO セッションの存続期間は 8 時間です。8 時間を過ぎると、再度ログインを求められます。
Q: チームまたは Enterprise アカウントに対するアクセス許可を含む Heroku アカウントをすでに持っています。SSO 経由でサインインすると、そのチーム / Enterprise アカウントに対するアクセス許可は変更されますか?
A: ほとんどの場合は、既存の Heroku アカウントを使用して SSO 経由でログインしても、チームまたは Enterprise アカウントに対するアクセス許可は変更されません。
例外は、共同作業者の場合です。共同作業者が SSO チームにでサインインすると、collaborator
ではなくデフォルトの役割が割り当てられます。チームのデフォルトの役割は、チームの [Settings
] タブの [SSO] セクションの admin
で指定されます。詳細は、「Heroku でのシングルサインオン (SSO) サービスの使用 (管理者向け)」を参照してください。
Enterprise Account のデフォルトの SSO アクセス許可レベルは view
であり、設定できません。Enterprise Account に対するアクセス許可を含む Heroku アカウントをすでに持っている場合は、SSO 経由でログインしても、そのアクセス許可が変更されることはありません。
Q: SSO を使用しているときは多要素認証 (MFA) を有効にする必要がありますか?
A: はい。会社のセキュリティおよびガバナンスポリシーへのコンプライアンスを確保するには、MFA を有効にする必要があります。SSO 経由でログインする場合は、プラットフォームのネイティブな MFA 機能を使用するのではなく、ID プロバイダーで MFA を有効にする必要があります。