---
title: Impersonate a User
slug: impersonate-a-user
createdAt: 2025-07-23T21:53:31.037Z
---



### Applies to: Versions 8.2.9+ and 8.3.4+

## Overview

Impersonation in **Activate** allows authorised users to temporarily assume the identity of another user within the system. This is useful for:

- Support and administrative teams to troubleshoot issues, verify permissions, or replicate user experiences.
- Testing new functionality from the perspective of different user roles.

Unlike previous versions, impersonation is **not enabled by default** for administrators. All users, including administrators, must be explicitly granted impersonation access through role-based configuration.

## Recommendations

- Use impersonation primarily in **pre-production environments** for testing.
- In production, use it **sparingly and only for debugging specific issues**.
- Grant access on a **limited basis**, scoped to the issue being investigated.
- Remove impersonation access once the issue is resolved to maintain security and compliance.

## Understanding Roles

Impersonation requires two distinct system roles:

### 1. Impersonators Role

- Identifies users who can impersonate others.
- Users in this role can initiate impersonation sessions (if all configurations are complete).
- **Examples:** Support team, administrators, QA testers.

**Configuration:**

- Create or use an existing role called *Impersonators*.
- Assign relevant users to this role.
- Configure the **AvailableImpersonateUsers** parameter to reference the *Impersonate Target Role*.

### 2. Impersonate Target Role

- Defines which users can be impersonated.
- Only users assigned to this role can be selected as impersonation targets.
- **Examples:** Business users, power users, or any user whose experience needs to be replicated.

**Configuration:**

- Create a new role (e.g., *Impersonate Target*).
- Add users who can be impersonated to this role.
- Reference this role in the **AvailableImpersonateUsers** parameter within the *Impersonators* role.



:::hint{type="warning"}
Referencing broad roles such as *System Roles/Users* for UAT or QA environments is possible but **not recommended** due to excessive access.
:::



## Step-by-Step Configuration

### 1. Assign Users to the Impersonators Role

- Navigate to: **System Roles > Impersonators**
- If the role does not exist, create it.
- Assign all users who require impersonation access to this role.

### 2. Define Who Can Be Impersonated

- In the *Impersonators* role, configure **AvailableImpersonateUsers** parameter of type Reference or Role Reference.
- This parameter must reference a role containing impersonation targets.

**Example:**

- Create a new role: **System Roles > Impersonate Target**
- Add the target users to this role.
- Set AvailableImpersonateUsers = Impersonate Target.

**This parameter is mandatory—no default access is provided.**

### 3. Enable Impersonation System-Wide

- Go to: **Resources > Configuration > Web**
- Set: **IsImpersonationEnabled&#x20;**&#x74;o true
  - If the parameter **IsImpersonationEnabled** does not exist create it, with a type of boolean.
- By default, this setting is disabled on all new installs and updates.

## Auditing

All impersonation activity is logged for auditing purposes:

- Jobs submitted during impersonation include a log entry indicating impersonation.
- Users must provide a reason when submitting jobs as an impersonated user. This reason is recorded.
- All impersonation activity is recorded in web.log.
  - The log file rotates when it reaches 100MB.

