# Bench

ICA provides a tool called **Bench** for interactive data analysis. This is a sandboxed workspace which runs a docker image with access to the data and pipelines within a project. This workspace runs on the Amazon S3 system and comes with associated processing and provisioning costs. It is therefore best practice to **not keep your Bench instances running indefinitely**, but stopping them when not in use.

## Access

Having access to Bench depends on the following conditions:

* Bench needs to be included in your ICA subscription.
* The project owner needs to enable Bench for their project.
* Individual users of that project need to be given access to Bench.

### Enabling Bench for your project

After creating a project, go to **Projects > your\_project > Bench > Workspaces** page and click the **Enable** button. The entitlements you have determine the available resources for your Bench workspaces. If you have multiple entitlements, all the resources of your individual entitlements are taken into account. Once bench is enabled, users with matching [permissions](#setting-user-level-access) have access to the Bench module in that project.

{% hint style="info" %}
If you do not see the **Enable** button for Bench, then either your tenant subscription does not include Bench or the tenant to which you belong is not the one where the project was created. Users from other tenants can create workspaces in Bench once Bench is enabled, but they cannot enable the Bench module itself.
{% endhint %}

### Setting user level access.

Once Bench has been enabled for your project, the combination of roles and teams settings determines if a user can access Bench.

* **Tenant administrators** and **project owners** are always able to access Bench and perform all actions.
* The teams settings page at **Projects > your\_project > Project Settings > Team** determines the role for the user/workgroup.
  * **No Access** means you have no access to the Bench workspace for that project.
  * **Contributor** gives you the right to start and stop the Bench workspace and to access the workspace contents, but not to create or edit the workspace.
  * **Administrator** gives you the right to create, edit, delete, start and stop the Bench workspace, and to access the actual workspace contents. In addition, the administrator can also build new derived Bench images and tools.
* Finally, a verification is done of your user rights against the required workspace permissions. You will only have access when your user rights meet or exceed the required workspace permissions. The possible required Workspace permissions include:
  * Upload / Download rights (Download rights are mandatory for technical reasons)
  * Project Level (No Access / Data Provider / Viewer / Contributor)
  * Flow (No Access / Viewer / Contributor)
  * Base (No Access / Viewer / Contributor)

![Flow diagram of access to Bench](https://3193631692-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MWUqIqZhOK_i4HqCUpT%2Fuploads%2Fgit-blob-6cf3d51d8bcac6e8b3597f72f5195d70484827b4%2FWorkspace_Flow.png?alt=media\&token=e24ed250-bfb7-49dd-be33-a613fdc2aae6)
