User management is an organizational function that enables users to access and control digital assets, such as applications, devices, networks, and cloud services. Organizations are now exploring even more advanced solutions. Modern user management services provide end-to-end management of user accounts, including user registration, login and authentication, single sign-on (SSO), and permissions management.
User management functions include:
- Preventing unauthorized access to infrastructure, applications, and data
- Storing user details and credentials
- Providing a convenient login mechanism for end-users
- Allowing users to set and reset passwords
- Enabling multi-factor authentication (MFA)
- Assigning user rights to systems, services, and applications
- Managing user entitlements within services and applications
A solution commonly used to implement user management is identity and access management (IAM). IAM enables administrators to define access to IT resources, both for internal and external users. IAM either includes or integrates with a user directory service, which contains credentials and other details of all users. The directory service enforces access controls by authenticating, authorizing, and auditing user access.
Traditionally, organizations managed user management and authentication via on-premise identity providers (IdP) such as Microsoft Active Directory. The on-premise IdP server handled user management, authentication, and authorization for the local network. In recent years, IAM has moved to the cloud. Cloud-based IAM is more scalable and flexible, gives administrators more control, and is built for secure remote access.
The Need for Modern User Management
User management allows administrators to manage resources and organize users according to their needs and roles while maintaining the security of IT systems. Administrators need powerful user management capabilities that can allow them to group users and define flexible access policies.
For end-users, many parts of user management are invisible. When users are exposed to user management—for example, when they use a login box to access an application—they expect the interaction to be simple and seamless. Login is a frequently-performed, critical operation, meaning that any delay or malfunction annoys users and hurts productivity.
Many organizations recognize that on-premise IdP solutions are insufficient for the modern IT environment. Users increasingly rely on cloud services and access corporate systems remotely, often via personal devices, and traditional IdP cannot address these use cases.
Organizations must find a way to manage secure access for a distributed environment. At the same time, users demand the same simplicity of popular services like Google and Facebook in their work environment. These challenges are making user management more important and more complex than ever before.
Evolution of User Management in 2022 and Beyond
Below are several trends driving the evolution of user management and the development of new technological solutions.
The zero trust model is a security framework that enhances security in a modern, distributed IT environment. Zero trust calls for strict authentication for all connections, internal and external, aiming to eliminate implicit trust. Systems should only grant users the minimal privileges they need to perform their roles.
A core part of zero-trust security strategies is strict implementation of user access and identity verification. Strict access management means that if attackers compromise a regular user account, they cannot do anything beyond the account’s authorized privileges—preventing privilege escalation. Even if attackers compromise an admin account or device, zero trust access systems can identify anomalous use of the account and block malicious activity.
Zero trust requires continuous monitoring of user behavior, even after authentication, enabling rapid detection and response to compromised accounts.
IAM is a critical part of any zero trust implementation, because it provides a convenient mechanism for managing individual user access, concurrent connections, and access by third parties. IAM should closely integrate with network segmentation. This integration allows the organization to enforce network boundaries—known as “micro perimeters”—according to the organization’s user access policies.
When it comes to user access control, security and user experience are often at odds. However, to be successful, user access must address both—it must be secure, and at the same time, must be convenient for users. Password-based authentication is a case in point—users find it more convenient to use short, simple passwords and reuse them across multiple services. However, this makes it very easy for attackers to compromise passwords. Organizations try to enforce strong passwords that cannot be easily guessed but are met with resistance from users.
Another challenge of password-based systems is password reset. Passwords are commonly lost or forgotten, requiring users to reset their passwords. In some cases, this is a lengthy and inefficient process, creating a nuisance for users. Password reset processes also open another door for password theft.
According to a Verizon report, 81% of breaches involving external hackers involved password compromise. Organizations are waking up to the threat posed by password-based authentication and are increasingly adopting passwordless authentication solutions. A passwordless authentication system identifies a user via multiple authentication methods without using a password the user must remember.
For example, the system might authenticate a user via biometric readings and one-time passwords (OTP). Passwordless systems provide more secure authentication which is also more convenient for users.
Product-Led Growth (PLG)
PLG is a new marketing approach in which the product itself drives customer acquisition, conversion, and retention. This aligns the entire organization, including product teams, sales and marketing, around improving the product and building it to promote and sell itself.
Product-led growth requires close consideration and optimization of every customer interaction with the product. Every interaction is an opportunity to create satisfied, loyal customers. User management can impact PLG in several ways:
- User experience – Ineffective user management can be a barrier to product-led growth. Reliance on inconvenient or insecure user management mechanisms hurts productivity and makes users unhappy. Conversely, an excellent sign-in process promotes customer satisfaction.
- First impression – registration and login are the user’s first point of interaction with a product. A smooth, seamless process creates trust and encourages registrants to become active users.
- Improved conversion – a primary goal for product marketers is to get users to sign up and start using a product. A convenient registration and account creation process can dramatically improve conversion from a website visit or social referral to an active user.
Traditionally, when organizations developed software, they would develop the authentication and user management components in-house. However, in today’s technology ecosystem this is no longer feasible. Modern authentication and authorization systems are very complex, involving:
- The use of multiple identity providers, both internal and external.
- The requirement for single sign on (SSO).
- Delegation of authentication and authorization to other applications, as in the case of social login.
- Standardized methods for authorization including ACL, RBAC, and ABAC.
- Multi-tenancy, as in the case of SaaS applications that must manage groups of users belonging to different organizations.
To implement these complex requirements, and ensure user management is robust and secure, organizations must use third-party tools. This gave rise to an entire market of cloud services and applications that can help organizations implement user management and access control.
User Management Concepts
Here are a few key concepts that form the building blocks of a user management system.
A user profile is a collection of information related to a user and settings defined by that user. It contains sensitive information used to identify an individual, such as name, age, photo, and personal characteristics such as knowledge and expertise.
Most modern applications have user profiles, which allow users to manage their identity, control their preferences, and present themselves to others within the application. User profiles have achieved prominence as part of social networks—user profiles on services like Facebook, Twitter, and Instagram are becoming a critical part of users’ online identity.
A user role defines the functional role of a user. Users can then be granted permissions based on their role. There are many ways to define a role, including:
- Organizational definition—based on a specific employee’s job or the team they are part of. For example, a user might have a “finance” role or an “engineering” role.
- Functional definition—based on the specific functions a user needs to perform in a system. For example, an engineer who sometimes writes blogs can have the role of “author” on a company’s website.
Every system or application can define its own roles, and there are access control standards like Role-Based Access Control (RBAC) and Attribute-Based Access Control (ABAC) that provide a framework for allocating users to roles.
Here are a few common roles used by many systems:
- Guest—a user who is allowed to access the system, but does not have special privileges.
- Read-only access—a user who needs to view information in the system but should not be allowed to modify it.
- Read/write access—a user who needs to view information and also modify it (possibly with some restrictions).
- Manager—a user who has ownership over a project or other scope within the application. They will typically be able to read/write all data in the project and set permissions for other users.
- Admin—an administrator role typically grants a user the ability to modify configuration and assign permissions to other users, including managers (if applicable).
- Super Admin—a super admin, also known as “root user”, has complete access to all system functions.
User permissions are granted to users to allow access to specific resources, such as devices, files or folders, applications, and specific functions within an application. User permissions also specify the type of access for each object within a system.
Most systems can assign permissions to specific users, but this can be unwieldy for a large number of users. Therefore, it is common to attach user permissions to roles. This allows administrators to manage large numbers of users, allocating each user the appropriate permission based on their role. For example, in a CRM application, sales staff can have read, write, and delete permissions. Finance staff do not need to edit customer information, so they can receive read-only access.
User groups are groups of users that perform similar tasks. Groups are a mechanism commonly used to manage permissions. Users can belong to multiple user groups and will receive the least restrictive permissions of all their groups.
For example, by defining a group with all the employees in a specific department, administrators can define permissions for the entire department in one place. Most applications and IT systems have a special administrator group that allows its members to modify system configuration and grant permission to other users. Many systems also use a default or “guest” group, which contains users that do not have any special permissions and do not belong to any other group.
User accounts, roles, permissions, and groups, are elements that can be used to construct access control policies. A policy is an organizational directive that determines how users should be allowed to access a certain system.
For example, the organization can enact a policy specifying that users should only be able to access the systems used within their department, and only within their working hours. To implement this policy, administrators can:
- Assign a role to each user specifying the department they belong to.
- Define which systems belong to each department, and give each department role permissions to access the relevant systems, while denying permission to other systems.
- Add a field to each user account specifying what are the employee’s working hours.
- Create a rule that denies access to users when they access a system outside their working hours.
In reality, defining user access policies can be complex, especially in a large organization or in multi-tenant use cases. User management services can help organizations set up policies using a simple drag-and-drop interface, and easily modify these policies when business requirements change.
Three Generations of User Management Solutions
To better understand the evolution of user management, let’s break it down.
First Generation: On-premise Identity Provider (IdP)
An on-premise identity provider (IdPs) typically includes two components: a user management component, and a central directory service, such as Windows Active Directory or Apache Directory Services:
- The user management component delegates administrator privileges, tracks the roles and responsibilities of each user and group, configures user accounts, and manages passwords. Modern IdPs enable self service for some or all of these features, to reduce the burden on IT staff.
- The user directory is a repository of user and group data, serving the entire organization. It gives administrators a unified view of users and permissions across all IT systems.
Second Generation: Cloud-based Identity and Access Management
Cloud-based Identity and Access Management (IAM), also known as Identity as a Service (IDaaS), is a cloud-based service hosted and managed by a third party provider. IDaaS provides all the capabilities of an on-premise IdP, but because it is cloud based, it is easier to set up, maintain and scale.
Businesses use cloud-based IAM to manage user identities and control access to corporate resources across cloud and on-premise systems. They ensure that the right individuals have access to the right resources, enabling controlled access from any device or location.
Third Generation: User Management Service
A user management service is an application that manages users from end to end. It is especially suited to SaaS applications or other use cases that involve users from multiple different organizations (known as multi-tenancy). User management services have additional functionality beyond the basic capabilities of traditional IdP or cloud-based IAM.
Key features of a user management service include:
- End-to-end login process—convenient, secure login interface, supporting multiple login options. These can include direct login, enterprise single sign on (SSO), and social login using existing accounts in services like Google, Facebook, and Twitter.
- User registration—allowing users to conveniently self-register for a product or service, with post-registration workflows like transactional emails.
- User profile—built-in UI to display user profiles within your application, and allow users to manage their profiles.
- Enhanced security—support for multi-factor authentication (MFA), token-based authentication with strong encryption, and additional security controls such as account compromise detection.
- Multi-tenancy—ability to support any organizational structure, from a single team, to multiple departments in a large enterprise, to thousands of customers using a product, each with their own team.
- Self-service account management—ability for users to register for a new account on their own, customize their login settings, create user profiles, invite other team members and assign roles.
Frontegg: Transforming User Management
User management is an essential part of any modern SaaS application. The user journey includes the signup stage, login options, collaboration, security, and monetization, all are recurring components in all top applications today.
The experience of these users browsing through the application and working with it must be spotless. The self-served approach is what makes it happen. This is the approach we are using in Frontegg to transform our customers’ applications into modern and frictionless ones. With Frontegg, everything is covered from Signup to Checkout, allowing you to focus on the core differentiations and innovate.