Heroku でのシングルサインオン (SSO) サービスの使用 (管理者向け)
最終更新日 2024年05月30日(木)
Table of Contents
SSO は Heroku Teams および Heroku Enterprise の顧客にのみ提供されています。
Heroku は既存の ID プロバイダー (IdP) との統合が容易であり、これによってシングルサインオン (SSO) を実現できます。その際に使用する資格情報やログイン方式は、Slack や Dropbox などの他の SSO 対応サービスプロバイダーと同じです。
SSO を使用する場合、社員は Heroku のログインページの代わりに ID プロバイダーのインターフェースを使用して Heroku にログインします。社員のブラウザは認証のために Heroku にリダイレクトされます。SSO を有効にすると、Heroku 自体のログインメカニズムは無効になります。つまり、認証のセキュリティは IdP にシフトし、他のサービスプロバイダーと連携するようになります。
組織で SSO を設定、変更、または無効化しても、Heroku 社員に通知されません。そのため、変更内容の周知を徹底してください。
SSO を有効にするときは、「Heroku でのシングルサインオン (SSO) サービスの使用 (エンドユーザー向け)」の記事を実施の通知に含めてください。
Heroku での SSO の前提条件
- 会社の ID プロバイダー (IdP) で SAML 2.0 標準をサポートしている必要があります。
- IdP に対する管理権限が必要です。
- IdP レベルで多要素認証 (MFA) を適用する必要があります。
Heroku 向けの SSO サポートが組み込まれた ID プロバイダー
以下の主要な IdP は、Heroku のサポートを組み込みで提供しています。 これらの IdP で SSO を設定するには、各ベンダーのサイトの指示に従ってください。
- Auth0
- Azure
- Google Cloud Identity
- Okta
- OneLogin
- Ping Federate
- Ping Identity (管理者ログインが必要。ログイン後、アプリケーションカタログから ‘Heroku’ を検索)
- Salesforce Identity
Microsoft Active Directory で SSO を設定するには、次の SAML 2.0 の手順を使用します。
その他の SAML 2.0 準拠 IdP での SSO 設定
ほとんどの SAML 2.0 準拠 ID プロバイダーでは、SSO を設定するために、サービスプロバイダーに関する共通の情報が必要です。Heroku の場合、必要な情報は、SSO を有効にする対象の Heroku Team の Settings
(設定) タブで確認できます。
この情報を表示し、SSO を有効にするには、チームに対する管理者権限が必要です。
IdP で SSO を設定した後、メタデータを手動でアップロードまたは入力できます。設定が成功すると、確認ダイアログが管理者に表示され、エンドユーザーの SSO ログインの URL が表示されます。この URL を組織内で共有してください。
複数の IdP 証明書の提供
ダウンタイムなしで SSO 証明書を変更できるよう、チームに最大 3 つの SSO 証明書を追加できます。有効期限が切れていない SSO 証明書のいずれかで署名された SAML アサーションは受理され、ダウンタイムなしでシームレスに新しい ID プロバイダー証明書に切り替えることが可能になっています。
また Heroku では、SSO が有効なチームの admin
権限を持つユーザー宛てに、証明書の有効期限が切れる 30 日前、7 日前、1 日前にメール通知を送信します。この通知により、管理者は期限切れの証明書を更新し、ユーザーのロックアウトを回避できます。
セキュリティを強化するために、IdP で SHA-256 がサポートされている場合は、SAML の応答とアサーションのどちらにも SHA-256 を使用して署名するよう IdP を設定してください。
エンドユーザーアカウントの作成と削除
エンドユーザーアカウントの作成
エンドユーザーを追加するには、利用中の IdP でそのユーザーのアカウントを作成します。ユーザーが IdP 経由で Heroku に初めてログインするときに、自動 IdP プロビジョニングによって Heroku アカウントが作成されます。チームのリソースと設定に対するユーザーのアクセス権は、新しいユーザーに割り当てるデフォルトロールによって異なり、このロールはチームの Settings
(設定) タブで管理者が指定します。
管理者がこの設定を変更しない限り、新規ユーザーのデフォルトのロールは member
です。
アカウントのプロビジョニング後、エンドユーザーは確認メールを受信し、そこに含まれる確認リンクをクリックする必要があります。
IdP が正常に動作していない場合でも Heroku にアクセスできるよう、管理者のユーザーアカウントは IdP 経由ではなく Heroku で直接作成してください。
Heroku API キーを要求する統合を設定する必要がある場合は、IdP 経由ではなく Heroku で直接、統合ユーザーアカウントを作成してください。
エンドユーザーアカウントの削除
IdP からエンドユーザーを削除すると、そのユーザーは対応する Heroku アカウントにログインできなくなりますが、そのアカウントは Heroku からは削除されません。API キーがタイムアウトになる前に API 経由でチームのリソースにアクセスされるのを防ぐため、IdP と関連付けられているチームからもエンドユーザーのアカウントを削除してください。
自動 IdP プロビジョニングによって作成されたエンドユーザーアカウントを Heroku から削除するには、ID 管理者から Heroku Support にご連絡ください。