Skip to content

Feature Request: Add manual quarantine option for sandbox accounts #85

Description

@chrisns

Problem

When administrators detect issues with a sandbox account, there's currently no way to immediately quarantine the account through the UI. The only options available in the Actions dropdown are "Eject account" and "Retry cleanup".

While ejecting removes the account from the pool entirely, this is often too drastic when the goal is to isolate the account temporarily while preserving the ability to restore it later.

Examples of situations requiring temporary quarantine:

  • A new leaseholder reports that the previous leaseholder exhausted service quotas, and the account needs to be taken out of circulation while quota increase requests are processed
  • Suspected compromise or unusual activity requiring investigation
  • Policy violations that need review before the account can return to service
  • Resource cleanup that wasn't fully completed by automated processes

Use Case

As an Innovation Sandbox administrator, I want to be able to manually quarantine an account when I identify issues, so that:

  • Active leases are immediately terminated and user access is revoked
  • The account is moved to the Quarantine OU where restrictive SCPs apply
  • The account remains in the pool and can be cleaned up and returned to service once the issue is resolved
  • I can respond quickly to operational or security concerns without permanently removing the account

Proposed Solution

Add a "Quarantine" option to the account Actions dropdown that:

  1. Is enabled for accounts in Available, Active, or Frozen status
  2. Is disabled for accounts already in Quarantine or CleanUp status (to prevent conflicts)
  3. Calls the existing InnovationSandbox.quarantineAccount() business logic
  4. Terminates any active leases associated with the account
  5. Moves the account to the Quarantine OU

Additional Context

The core quarantine logic already exists in the codebase (InnovationSandbox.quarantineAccount()), used by automated drift detection. This feature request is about exposing that capability to administrators through the API and UI.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions