User Management
The User Management page provides administrative tools for managing platform users, assigning roles, organizing teams, and controlling access permissions. It integrates with the IAM Service for all user operations and supports bulk actions, filtering, and detailed user profile editing.
Features
| Feature | Description |
|---|---|
| User listing | Searchable, sortable table of all users |
| User creation | Invite new users via email |
| Role assignment | Assign platform and tenant-level roles |
| Team management | Organize users into teams |
| Bulk actions | Activate, deactivate, or reassign multiple users |
| Activity history | View user login and action history |
User Table
The main user listing displays:
| Column | Sortable | Filterable | Description |
|---|---|---|---|
| Name | Yes | Yes (search) | User display name |
| Yes | Yes (search) | Email address | |
| Role | Yes | Yes (dropdown) | Primary role |
| Teams | No | Yes (dropdown) | Team memberships |
| Status | Yes | Yes (dropdown) | Active, Inactive, Pending |
| Last Login | Yes | Yes (date range) | Last authentication timestamp |
| Created | Yes | Yes (date range) | Account creation date |
Role Definitions
| Role | Scope | Permissions |
|---|---|---|
| Platform Admin | Global | Full platform access, user management, billing |
| Tenant Admin | Tenant | Tenant configuration, user management within tenant |
| Data Engineer | Tenant | Data pipeline, catalog, quality management |
| Data Analyst | Tenant | BI workbench, dashboards, SQL queries |
| ML Engineer | Tenant | ML workbench, model training, serving |
| Viewer | Tenant | Read-only access to dashboards and reports |
Invite User
New users are invited via email with an invitation code:
interface InviteUserRequest {
email: string;
role: string;
teams: string[];
message?: string;
}
// Component usage
const handleInvite = async (data: InviteUserRequest) => {
await apiClient.post('/api/v1/users/invite', data);
toast.success('Invitation sent successfully');
};Edit User Profile
Administrators can edit user details and role assignments:
interface UpdateUserRequest {
name?: string;
role?: string;
teams?: string[];
status?: 'active' | 'inactive';
mfa_required?: boolean;
}Bulk Operations
The user table supports multi-select for bulk operations:
| Action | Description | Confirmation |
|---|---|---|
| Activate | Enable selected user accounts | Single click |
| Deactivate | Disable selected user accounts | Confirmation dialog |
| Change Role | Assign new role to selected users | Role selection dialog |
| Add to Team | Add selected users to a team | Team selection dialog |
| Remove | Remove selected users from platform | Double confirmation |
Team Management
Teams provide organizational grouping for users:
interface Team {
id: string;
name: string;
description: string;
members: string[];
created_at: string;
}| Operation | Endpoint | Method |
|---|---|---|
| List teams | /api/v1/teams | GET |
| Create team | /api/v1/teams | POST |
| Update team | /api/v1/teams/:id | PUT |
| Delete team | /api/v1/teams/:id | DELETE |
| Add member | /api/v1/teams/:id/members | POST |
Activity Audit
Each user profile includes a tab showing recent activity sourced from the Audit Service:
| Event | Recorded Data |
|---|---|
| Login | Timestamp, IP address, device |
| Password change | Timestamp |
| Role change | Old role, new role, changed by |
| API key creation | Key name, scopes |
| Resource access | Resource type, action, timestamp |