User Management
Registry includes a comprehensive user management system with role-based access control (RBAC), organization management, and storage quotas. This guide covers all aspects of managing users in a Registry deployment.

For information on basic Registry setup and configuration, see the Registry documentation.
Overview
The user management system provides:
- User Administration: Create, update, and delete user accounts
- Role-Based Access Control: Define custom roles and assign permissions
- Organization Membership: Control which organizations users can access
- Storage Quotas: Limit storage usage per user
- Authentication: JWT-based authentication with support for external providers
- Metadata Management: Store custom user attributes
User Accounts
Default Admin Account
When Registry starts for the first time, a default administrator account is created:
| Field | Default Value |
|---|---|
| Username | admin |
| Password | password |
admin@example.com |
Change the default password immediately after first login. Navigate to /account or use the API to update credentials.
You can customize the default admin in appsettings.json:
{
"DefaultAdmin": {
"Email": "admin@yourdomain.com",
"UserName": "admin",
"Password": "your-secure-password"
}
}
Creating Users
Administrators can create new users through the web interface or API.

Via Web Interface
- Log in as an administrator
- Navigate to Settings → Users
- Click Add User
- Fill in the required fields:
- Username: Unique identifier (alphanumeric, no spaces)
- Email: Valid email address
- Password: Secure password
- Roles: Select one or more roles
- Click Create
Via REST API
curl -X POST http://localhost:5000/users \
-H "Authorization: Bearer <admin-token>" \
-H "Content-Type: application/json" \
-d '{
"userName": "newuser",
"email": "newuser@example.com",
"password": "securepassword123",
"roles": ["user"]
}'
Response:
{
"userName": "newuser",
"email": "newuser@example.com",
"roles": ["user"],
"organizations": []
}
Viewing Users
Administrators can view all registered users.
Basic User List
GET /users
Returns:
[
{
"userName": "admin",
"email": "admin@example.com",
"roles": ["admin"],
"organizations": ["default-org"]
},
{
"userName": "user1",
"email": "user1@example.com",
"roles": ["user"],
"organizations": ["project-a", "project-b"]
}
]
Detailed User List
For more detailed information including storage usage:
GET /users/detailed
Returns:
[
{
"userName": "user1",
"email": "user1@example.com",
"roles": ["user"],
"organizations": ["project-a"],
"storageQuota": 10737418240,
"storageUsed": 5368709120,
"organizationCount": 1,
"datasetCount": 5,
"createdDate": "2024-01-15T10:30:00Z"
}
]
Updating Users
Update user information including email and roles:
curl -X PUT http://localhost:5000/users/username \
-H "Authorization: Bearer <admin-token>" \
-H "Content-Type: application/json" \
-d '{
"email": "newemail@example.com",
"roles": ["user", "editor"]
}'
Deleting Users
Remove a user account:
curl -X DELETE http://localhost:5000/users/username \
-H "Authorization: Bearer <admin-token>"
Deleting a user does not automatically delete their organizations or datasets. Consider transferring ownership before deletion.
Password Management
Changing Own Password
Users can change their own password:
curl -X POST http://localhost:5000/users/changepwd \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "oldPassword=currentPassword&newPassword=newSecurePassword"