顧客としてログイン
管理画面での場所: Customers › Customers › List › a customer › header button Impersonate (
/customers/<id>)。
動作内容
Impersonate(代理ログイン)を使用すると、サポート管理者が顧客とまったく同じようにポータルを表示し、問題の再現や注文のサポートを行うことができます。セッションの有効期間は1時間で、通常のセッションとは明確に分離されています。アカウントへの長期間のアクセスを与える可能性のある機能はすべてブロックされ、すべての利用がログに記録されます。
要件
| 項目 | 要件 |
|---|---|
| ロール | 管理コンソールにサインインしている管理者。 |
| 顧客 | アカウントが**有効(active)**である必要があります。ロックまたは削除されたアカウントは「account is not active」(HTTP 409)を返します。 |
| 理由 | 理由は必須であり、監査ログに記録されます。 |
| ブラウザ | 管理画面のアドレスに対するポップアップを許可してください。ポータルが新しいウィンドウで開きます。 |
手順
- Customers › Listを開き、顧客をクリックします。
- Impersonateをクリックします。顧客のサイトが1時間顧客として開き、すべての操作が監査されることを説明するダイアログが表示されます。
- 理由(例:「Ticket 1234 — cannot create VM」)を入力し、Open appをクリックします。
- 顧客のサイトで新しいウィンドウが開き、
?impersonated=1が表示されたダッシュボードが表示されます。ブラウザがウィンドウをブロックした場合は、ポップアップを許可して再度クリックしてください。

リセラーの顧客の場合、リンクは顧客自身のサイトでしか機能しないため、ウィンドウはリセラー自身のドメインで開きます。
動作原理
- 管理者による操作により、1年間有効な使い捨てトークンが作成され、監査ログに
customer.login_as(管理者、IP、理由、サイト)が書き込まれます。 - 新しいウィンドウが開きます
https://<site>/v1/portal/impersonate/<token>。最初のリクエストでは小さなページが表示されるのみで、トークンは消費されません(ブラウザのプリフェッチによる消費を防ぐため)。その後、ページはPOSTで確認を行います。 - POSTによってトークンが消費されます。2回目の使用、または1時間経過後の使用には「The impersonation link has expired or was already used」と応答します。
- NexCMPは1時間有効な顧客セッションを作成し(通常のセッションは30日間)、メソッド
impersonateでサインインエントリを記録し、customer.login_as.usedをログに記録します。 - トークンは顧客自身のサイトでのみ機能します。別のホストでは404が返されます。
代理セッションでブロックされる操作
1時間を超えるアクセスを許可するもの、または顧客自身のセキュリティを変更するものは、HTTP 403 impersonate_forbidden を返します。
| ブロック対象 | Why |
|---|---|
| パスワード、TOTPの変更、Google/GitHubの連携・解除、パスキーの編集 | 顧客自身の認証情報 |
| アカウントの削除 | 不可逆的 |
| API keys の作成または編集 | 長期的なアクセス |
| CLI、デスクトップ、またはMCPログインの承認(デバイス連携) | 長期的なアクセス |
| Kubernetesアクセス、S3キー、SSHキー、rootパスワード、コンソール共有リンク、VPNまたはプロキシ認証情報の作成 | セッションの有効期限を超える機密情報 |
| トップアップコードの引き換え | 金銭キャンペーン |
| アフィリエイト報酬の出金または支払先の変更 | システム外への資金の流出 |
| AIキー、予算、または通知メールの編集 | 顧客の設定 |
その他の機能はすべて正常に動作します。ページの閲覧、VMの作成や管理、注文の実行などが可能です。アクションは顧客のIDで実行され、顧客の資金が消費されます。上記のような監査ログにより、セッションの背後に管理者が存在していたことが記録されます。
確認
- テスト用の顧客として代理ログインします。ポータルが開かれ、その顧客のデータが表示されます。
- パスワードの変更を試行します。「forbidden」(代理セッション)が返されます。
- System › Logs › Admin actions で、あなたの名前、理由、サイト名、およびそれに続く
customer.login_asを見つけます、さらにcustomer.login_as.usedが続きます。 - ウィンドウを閉じ、同じリンクを再度開きます。「link expired or already used」と表示されます。
制限と注意事項
- 1時間の制限時間は固定されています(3600秒)。続行するには、再度代理ログインを行ってください。
- 閲覧と再現を優先し、顧客からの依頼がない限り、金銭を消費する操作は避けてください。
- 顧客ページの Revoke sessions を使用してセッションを早期に無効化します(これにより顧客側もサインアウトされます)。
- リセラーには、Resellersメニューからの独自の Sign in to partner console 代理ログイン機能(60分)があります。Resellers を参照してください。
トラブルシューティング
| 症状 | 原因 | 対処法 |
|---|---|---|
| 「アカウントがアクティブではありません」 | アカウントがロックされているか削除されています | 最初にロックを解除するか、代わりに顧客ページを確認してください。 |
| ブラウザによってウィンドウがブロックされる | ポップアップブロック | 管理画面のアドレスに対するポップアップを許可し、もう一度お試しください。 |
| 「リンクの有効期限が切れているか、すでに使用されています」 | 1時間の制限時間経過、または再利用 | 再度代理ログインを行ってください。 |
| 「Not found」が開く | 無効なホストでリンクが使用された | ダイアログが開いたウィンドウを使用し、リンクを他の場所に貼り付けないでください。 |
| アクションで「forbidden」と表示される | 代理セッションではブロックされます | 顧客自身に実行してもらうか、管理画面を使用してください。 |