User Management
CHAD provides role-based access control (RBAC) to manage who can do what. This guide covers user creation, roles, and permissions.Roles
CHAD has three built-in roles:| Role | Description |
|---|---|
| Admin | Full access to all features |
| Analyst | Rules, alerts, exceptions - no user management |
| Viewer | Read-only access |
Permission Matrix
| Feature | Admin | Analyst | Viewer |
|---|---|---|---|
| View dashboard | ✅ | ✅ | ✅ |
| View alerts | ✅ | ✅ | ✅ |
| Update alert status | ✅ | ✅ | ❌ |
| View rules | ✅ | ✅ | ✅ |
| Create/edit rules | ✅ | ✅ | ❌ |
| Deploy rules | ✅ | ✅ | ❌ |
| Create exceptions | ✅ | ✅ | ❌ |
| View settings | ✅ | ✅ | ✅ |
| Modify settings | ✅ | ❌ | ❌ |
| Manage users | ✅ | ❌ | ❌ |
| View audit log | ✅ | ✅ | ✅ |
Creating Users
Admin Console
- Navigate to Users
- Click Create User
- Fill in details:
| Field | Required | Description |
|---|---|---|
| Username | Yes | Unique identifier |
| Yes | User’s email address | |
| Password | Yes | Initial password |
| Role | Yes | Admin, Analyst, or Viewer |
- Click Create
First Login
New users must change their password on first login:- User logs in with provided credentials
- Prompted to set new password
- Password requirements:
- Minimum 12 characters (recommended)
- No other requirements enforced (configure as needed)
Two-Factor Authentication
Optional TOTP-based 2FA for enhanced security.Enable 2FA (User)
- Go to Account > Security
- Click Enable 2FA
- Scan QR code with authenticator app
- Enter verification code
- Save backup codes
Backup Codes
When enabling 2FA, backup codes are generated:- 10 single-use codes
- Store securely
- Use if authenticator unavailable
Require 2FA (Admin)
Admins can require 2FA for specific roles:- Go to Settings > Security
- Enable Require 2FA for Admins
- Users must enable 2FA before next login
Managing Users
Edit User
- Go to Users
- Click the user
- Modify details
- Save changes
Change Role
- Go to Users
- Click the user
- Select new role
- Save
Disable User
Temporarily disable without deleting:- Go to Users
- Click the user
- Toggle Enabled off
- User cannot log in
Delete User
- Go to Users
- Click the user
- Click Delete
- Confirm deletion
Password Management
Reset Password (Admin)
- Go to Users
- Click the user
- Click Reset Password
- Provide new password
- User must change on next login
Change Password (User)
- Go to Account
- Click Change Password
- Enter current password
- Enter new password
- Confirm
Token Invalidation
When password changes:- All existing sessions invalidated
- User must re-authenticate
- API keys remain valid (separate credential)
SSO Integration
CHAD supports Single Sign-On via OIDC/SAML.Enable SSO
- Go to Settings > Authentication
- Enable SSO provider
- Configure OIDC/SAML settings:
| Setting | Description |
|---|---|
| Provider URL | OIDC issuer or SAML metadata URL |
| Client ID | OIDC client ID |
| Client Secret | OIDC client secret |
| Role Mapping | Map provider groups to CHAD roles |
SSO-Only Mode
SSO-only mode disables local password authentication, requiring all users to authenticate via SSO.SSO-only mode is configured via environment variable, not the GUI. Set
CHAD_SSO_ONLY=true at deployment time.- Local login form is hidden
- All users must authenticate via SSO
- Password reset is disabled
API Keys
Users can create API keys for programmatic access.Create API Key
- Go to Account > API Keys
- Click Create API Key
- Name the key
- Copy the key (shown once only)
API Key Permissions
API keys inherit user’s role permissions but are:- Read-only by default
- Scoped to specific operations
- Revocable without affecting user password
Revoke API Key
- Go to Account > API Keys
- Find the key
- Click Revoke
Security Best Practices
Use strong passwords
Use strong passwords
Enforce minimum length and complexity.
Enable 2FA
Enable 2FA
Require 2FA for admin accounts at minimum.
Principle of least privilege
Principle of least privilege
Assign the minimum role needed.
Review access regularly
Review access regularly
Quarterly access reviews identify stale accounts.
Monitor admin activity
Monitor admin activity
Watch audit logs for unusual admin behavior.
Use SSO where possible
Use SSO where possible
Centralized authentication improves security.
Troubleshooting
User cannot log in
- Check account is enabled
- Verify password is correct
- Check 2FA if enabled
- Review login attempts in audit log
Permission denied
- Verify user’s role
- Check if feature requires higher role
- Session may be stale - re-login
SSO not working
- Check provider configuration
- Verify callback URLs
- Check provider logs
- Test with debug mode