In simple terms, permissions control what an application can and cannot do within an organisation’s Azure environment.
If we think of App Registration as creating a unique “profile” for an application, then permissions are like the keys that allow that profile to access specific resources. For IT professionals, understanding how to manage these permissions is crucial for maintaining security, ensuring compliance, and protecting sensitive data.
Let’s look at insights and examples that make permissions management easy to understand and apply.
Let’s start with this example: you’re setting up a new application to handle payroll data. You’d like this app to integrate with your Azure AD environment so that employees can sign in using their work credentials. However, not everyone in the organisation needs access to this payroll data. In fact, access should be limited to the HR department. This is where permissions come into play, they allow you to limit and control what the app can access and what users can see or do with it.
Granting the right permissions helps you:
In Azure AD, there are two main types of permissions you’ll need to manage:
1. Delegated Permissions
Delegated permissions are used when an app acts on behalf of a signed-in user. For example, if an app needs to access a user’s calendar data with their consent, it would use delegated permissions.This type of permission requires the user to be signed in and, importantly, it limits the app’s actions based on the permissions of the signed-in user.
Example:Let’s say you’re setting up an app that needs access to employees’ Outlook calendars to help schedule meetings. Since the app only needs to access data when users are actively signed in, delegated permissions make sense here. The app will only have access to the calendars of users who have given their consent, ensuring data is controlled on aper-user basis.
2. Application Permissions
Application permissions, on the other hand, are assigned directly to the app, allowing it to access resources without any user involvement. This is useful for apps that run background tasks, like automated reporting or system-wide updates, where user sign-in is not required.
Example:Imagine you have a reporting tool that generates weekly performance summaries for all employees. This app doesn’t need anyone to be signed in to work, it runs on its own. Here, application permissions give the app direct access to resources it needs, allowing it to function independently.
Understanding these two types of permissions is essential to configuring App Registrations in a way that aligns with your organisation’s security and compliance needs.
Now that we understand the two main types of permissions, let’s walk through the steps to set them up in Azure AD.
1. Open Your App Registration
2. Add Required API Permissions
3. Grant Admin Consent
For permissions that affect multiple users or the organisation as a whole, admin consent is required. This step ensures that permissions align with organisational policies and are compliant with security standards.
By following these steps, you’re ensuring that your app has the right permissions in place for its intended purpose, nothing more, nothing less.
Managing permissions requires ongoing attention to avoid over-permissioning (giving too many permissions) and under-permissioning (too few permissions that limit app functionality). Here are some best practices to keep in mind:
The principle of least privilege means giving apps only the permissions they absolutely need to perform their function, no more, no less. For instance, if an app only needs to read user profile data, avoid giving it permissions to modify data. By minimising permissions, you reduce the risk of accidental or malicious data exposure.
Example:Suppose you have an employee directory app that only needs to list basic user profiles like names and departments. Only give it read permissions for user profile data. If you grant it broader permissions like “write” access, it increases risk unnecessarily.
Permission needs can change as applications evolve. Over time, you may find that some apps no longer need certain permissions. Regular audits allow you to identify and remove unnecessary permissions, maintaining a clean and secure environment.
Example: A project management app initially needed access to user profiles, but the team has since integrated another tool for this task. During an audit, you could identify that these permissions are no longer needed, removing them to tighten security.
Some apps are user-driven and require delegated permissions, while others perform automated tasks and need application permissions. By organising apps based on the type of permissions they require, you can manage permissions more systematically and avoid unnecessary overlaps.
Example:Group all HR apps that require user interaction separately from backend systems that only use application permissions. This way, you create a clear distinction, simplifying management.
RBAC allows you to assign predefined roles to apps and users, streamlining permission management. Rather than assigning specific permissions, you can leverage roles that fit typical scenarios.
Example:Instead of granting a finance app full read/write access to every finance-related resource, assign it a “Finance Viewer” role if it only needsread access, or a “Finance Contributor” role if it requires write access.
When setting up permissions, it’s easy to make mistakes that can compromise security. Here are some common mistakes to watch out for:
1. Over-permissioning
This occurs when apps are given more access than they actually need. Over-permissioned apps increase the risk of data exposure and potential misuse. Remember to apply the least privilege principle wherever possible!
2. Skipping Admin Consent for Key Permissions
Permissions that affect many users or system-wide settings often require admin consent. Failing to get admin consent can result in unexpected runtime errors or, worse, introduce security risks.
3. Neglecting Regular Permission Reviews
Permissions aren’t a “set it and forget it”setup. Without regular reviews, unused or excessive permissions can linger, exposing your organisation to security risks.
Example: If a sales app was granted permissions to read user profiles but has since shifted to another system, failing to remove these permissions could result in unnecessary access to sensitive information.
Mastering App Registration permissions in Azure is key to maintaining a secure, compliant environment. By following best practices like applying least privilege, conducting regular audits, and using role-based access control, IT pros can keep their Azure environment safe, efficient, and compliant.
So what are your choices? Well, either you become an Entra ID jedi or get yourself an instance of cloudGlow and dramatically simplify your resource management with secure, easy-to use and veeeery cost-effective solution 😉
Stay informed with our informative blog posts.
Join hundreds of other IT pros like yourself and get a simple solution to not so simple challenge.
Sign up for our waitlist today!