User permissions, part of the overall user management process, are the authorization that allows users to access specific resources on a network, such as applications, data files, printers, and scanners. They can also indicate the type of access, such as read only or read/write.
For example, a user might have permission to view and edit system configuration, or permission to only view, but not edit, specific files. Authorization permissions can be role-based, device-based, or location-based.
User permissions can be assigned based on several criteria. For example:
Proper user roles and permissions can help organizations:
To improve security for roles and permissions, organizations should follow these best practices:
User permission is tightly related to two concepts—authentication and authorization. In general, authentication is performed before user permissions are granted, and authorization is the process of granting user permissions.
User authentication involves verifying a user’s identity before allowing them to access a system or application. Authentication requires the user to prove their identity using one or more authentication factors. These factors can include things the user has (for example, a digital signature, ID, security token), information the user knows (such as a password or PIN) and the user’s biological characteristics (such as fingerprint, voice, or retina scan).
User authorization is the process of determining which resources users are allowed to access. For example, users in a website content management system (CMS) can be assigned permissions to comment on articles (guest), author and edit articles (contributor), and change website look and feel and configuration (administrator). Authorization can also segment content in an application and allow each user to access content that is relevant to them.
Here are a few types of permissions administrators can grant to users:
When building an Android application, developers can choose to declare permissions that enable access to restricted data or resources on the user’s device.
The following diagram illustrates the process of declaring permissions. If the application requires special permissions, developers must declare them in the app manifest file, and in some cases, require users to grant access every time a specific action is performed.
Android has several types of permissions, including:
Here are some of the steps administrators should take to evaluate an organization’s user access permissions.
The user access management policy must at the very least include these components:
A well-defined policy enables administrators to create reports of the organization’s database, system, and application access permissions. This step confirms who currently has access to each asset, including employees and external actors like contractors and vendors.
All asset owners should receive copies of these reports to audit and verify the list. Asset owners can then reassess the existing access privileges and modify or revoke them. They might use a granular or broader approach (i.e., role-based or team-based) to determine access privileges. Different individuals with the same role may have different responsibilities and permissions in some cases.
After receiving all the user access reviews from asset owners, admins can implement changes to the access policy. This step involves removing revoked privileges and updating employee privileges as required. Administrators can then generate new user access reports to verify that these changes are effective.
After finalizing reports, it is important to print and store them. A finalized report should cover all past and current access privileges and roles, asset owners, and the names of the admins who approved the permissions. It should also include notes for future actions. Reports are important for auditing and provide evidence of compliance with access certification rules and standards.
The final reporting phase is also the best time to reassess security measures and identify gaps. For example, an admin might rethink the established provisioning procedure if it results in excessive or insufficient revoking of user IDs and privileges.
The final report also helps measure the efficacy of security and IAM policies. Its findings suggest whether the onboarding, role transferring, and access termination policies align with the organization’s overall security objectives. Administrators can also use this opportunity to assess the reviewing process and identify ways to simplify it.
Creating, managing, and tweaking roles and permissions is not an easy task. It puts extra pressure on your engineering teams and also contributes to frustration with the end-users, who have to contact support and IT teams to get the job done.
Frontegg is changing the whole dynamic of the situation with its self-served user management platform, where SaaS businesses can create their own roles and permissions to represent their business requirements and use cases.
Frontegg also allows end users to create custom roles to represent their specific permissions model, without changing a single line of code in the product. It’s a true gamechanger. Try it out now.