This blog post explores various approaches to access management, focusing on the flexibility provided by tenants, child tenants, and multi-tenancy.
Access management is necessary for any application. Whether you serve individuals or Fortune 500 customers, your app will need a way to grant and restrict access to specific resources for specific organizations or end users.
This blog post explores various approaches to access management, focusing on the flexibility provided by tenants, child tenants, and multi-tenancy.
To understand the full capabilities of access management with Userfront, it is important to understand a few core concepts.
In Userfront, a tenant represents a workspace, team, or organization within an application. Each tenant can have multiple users, each assigned specific roles. This allows for granular control over who can access what within the tenant. For instance, roles like admin, author, or developer can be customized to fit the specific needs of the application.
Key Features:
Child tenants are useful for organizations that require a hierarchical structure within their access management framework. For example, a parent company might have multiple subsidiaries, each functioning as a child tenant. This setup allows for centralized control while delegating specific access and management capabilities to the child tenants.
Key Features:
Multi-tenancy is a model that allows multiple independent instances of one or more applications to operate in a shared environment. Each tenant is isolated from the others, ensuring data security and privacy while sharing the same infrastructure.
Key Features:
Let’s look at an example. In the above diagram, “Your Service” is your application. The top-level “Customer account” is a tenant within your application. In this instance, the customer has sub-projects, each with multiple users — each of these projects would be considered child tenants.
With Userfront, you can control who has access (and what they can access) at each tenant and child tenant. Additionally, you could have child-tenants infinitely nested depending on your hierarchical needs. In other words, it’s tenants all the way down.
With a basic understanding of tenants and child-tenant relationships, applications can build out access management systems that fit unlimited use-cases.
The most basic structure could be used when only serving individual user accounts. However, when users want to join an existing account, having the account information attached to the user will cause problems.
A more scalable solution is to create organizational (a.k.a. tenant) accounts from the beginning. This approach allows users to have roles within an tenant, such as admin or member. This model not only simplifies user management but also supports scalability as your business grows.
As your service grows, end-users might have multiple projects and need a streamlined way to manage them. Instead of managing separate logins for each project, you could structure your access control system to allow tagging projects and assigning roles based on these tags.
Alternatively, nesting projects under a customer account allows for role-based access at both global and project levels. This is the child-tenant approach we mentioned earlier, which is probably the most flexible and scalable out of all access control structures.
Lastly, your organization will likely need to grant customer support access to customer accounts and customer projects. For these scenarios, you may want to have a small group of people with full admin access at all levels. Those admins can then assign support staff to a single account or single project. This setup ensures larger customers remain satisfied and compliant with their internal security policies.
Userfront provides a comprehensive API to manage tenants, roles, and access control effectively. Here’s a brief overview of how to use these features:
Userfront’s flexible approach to tenants, child tenants, and multi-tenancy provides a flexible framework for implementing effective access management. By leveraging these features, organizations can scale their operations securely and efficiently, meeting the diverse needs of their users.
For more detailed information on implementing these features, refer to the Userfront documentation:
Experience smarter enterprise sign-on tools & reporting.