|
| 1 | +--- |
| 2 | +title: Administration and User Management |
| 3 | +description: Manage users and roles to control access to your Prividium™ chain. |
| 4 | +--- |
| 5 | + |
| 6 | +User management in Prividium™ controls who can access your network and what actions they can perform. |
| 7 | +The system combines **users** (individual identities) and **roles** (permission groups) to provide flexible, granular access control. |
| 8 | +Administrators configure both through the Admin Dashboard. |
| 9 | + |
| 10 | +:display_partial{path="/zk-stack/prividium/_partials/_license-callout"} |
| 11 | + |
| 12 | +## Admin Panel |
| 13 | + |
| 14 | +The Admin Dashboard provides a user interface for permission management where administrators configure data access rules and monitor system access patterns. |
| 15 | +Only designated admins can access the Admin Dashboard to manage users, roles, and contract permissions. |
| 16 | + |
| 17 | +The initial admin is defined when the Prividium™ API launches. |
| 18 | +To add more admins, the initial admin must manually grant other users the admin role. |
| 19 | +The admin status itself is a role that can be assigned to users. |
| 20 | + |
| 21 | +::callout{icon="i-heroicons-exclamation-triangle" color="amber"} |
| 22 | +Keep at least two Admin users configured to prevent lockout scenarios. |
| 23 | +:: |
| 24 | + |
| 25 | +Through the Admin Dashboard, administrators can: |
| 26 | + |
| 27 | +- **View and search users** including their emails, associated wallets, and assigned roles |
| 28 | +- **Add and remove users** to control network access |
| 29 | +- **Create and manage roles** to define access privileges |
| 30 | +- **Assign roles to users** to grant specific permissions |
| 31 | +- **Configure contract permissions** to control function-level access |
| 32 | + |
| 33 | +## Users |
| 34 | + |
| 35 | +Users represent individual identities that can authenticate and interact with your Prividium™ network. |
| 36 | +Each user can authenticate through an identity provider like Okta, a crypto wallet via SIWE (Sign-In With Ethereum), or both methods. |
| 37 | + |
| 38 | +### Authentication Methods |
| 39 | + |
| 40 | +Prividium™ supports three user types based on authentication: |
| 41 | + |
| 42 | +| Type | Authentication | Managed From | Notes | |
| 43 | +|------|----------------|-------------|-------| |
| 44 | +| **OIDC user** | OAuth 2.0 (OIDC providers) | Admin Dashboard | Linked by subject ID | |
| 45 | +| **Wallet user** | SIWE | Admin Dashboard | Identified by wallet address | |
| 46 | +| **Hybrid user** | OAuth 2.0 (OIDC providers) or SIWE | Admin Dashboard | Can use either method to authenticate | |
| 47 | + |
| 48 | +Hybrid users provide flexibility, allowing authentication through either corporate identity systems or crypto wallets depending on the context. |
| 49 | + |
| 50 | +### User Capabilities |
| 51 | + |
| 52 | +The Admin Dashboard provides comprehensive user management: |
| 53 | + |
| 54 | +- **Create users** with email, subject ID, or wallet addresses |
| 55 | +- **Link multiple wallets** to a single user identity |
| 56 | +- **Assign roles** to define access permissions |
| 57 | +- **Edit user details** including authentication methods and role assignments |
| 58 | +- **Remove users** and revoke all associated access |
| 59 | + |
| 60 | +All linked wallets inherit the same role-based permissions assigned to the user. |
| 61 | +Changes to user permissions take effect immediately, though users may need to refresh their session to see updated access. |
| 62 | + |
| 63 | +## Roles |
| 64 | + |
| 65 | +Roles define access levels by grouping permissions that determine which contracts and functions users can call through the Proxy API. |
| 66 | +Each role represents a set of privileges that can be assigned to one or more users. |
| 67 | + |
| 68 | +### Role Management |
| 69 | + |
| 70 | +Administrators create and manage roles through the Admin Dashboard: |
| 71 | + |
| 72 | +- **Create roles** with descriptive names matching organizational structure |
| 73 | +- **Assign roles to users** to grant permissions |
| 74 | +- **Combine multiple roles** per user for flexible access control |
| 75 | +- **Update or delete roles** as deployment requirements evolve |
| 76 | + |
| 77 | +A user's effective permissions are the combination of all permissions granted to their assigned roles. |
| 78 | +This allows fine-grained control while maintaining simplicity through role-based grouping. |
| 79 | + |
| 80 | +### Common Role Patterns |
| 81 | + |
| 82 | +| Role | Purpose | Typical Permissions | |
| 83 | +|------|----------|---------------------| |
| 84 | +| **Admin** | Full system management | Manage users, roles, permissions, and disclosure settings | |
| 85 | +| **Trader** | Execute transactions | Write access to token contracts and trading functions | |
| 86 | +| **Auditor** | Read-only observer | View contract data and public disclosures | |
| 87 | +| **Operator** | System maintenance | Read/write access to operational contracts only | |
| 88 | + |
| 89 | +Customize role names and scopes to match your organization's workflow and security requirements. |
| 90 | + |
| 91 | +::callout{icon="i-heroicons-exclamation-triangle" color="amber"} |
| 92 | +Roles cannot be deleted while assigned to active users. Reassign or remove those users first. |
| 93 | +:: |
| 94 | + |
| 95 | +## Access Control Flow |
| 96 | + |
| 97 | +The user and role system integrates with Prividium's permission architecture: |
| 98 | + |
| 99 | +1. **User authenticates** via Okta or wallet signature |
| 100 | +2. **System identifies user** and retrieves assigned roles |
| 101 | +3. **User calls contract function** through Proxy API |
| 102 | +4. **Prividium API checks** if user's roles permit the function call |
| 103 | +5. **Request proceeds or fails** based on permission evaluation |
| 104 | + |
| 105 | +This architecture separates identity management (users) from access control (roles and permissions), enabling flexible security policies that adapt to |
| 106 | +changing requirements. |
0 commit comments