What is the difference between App Registration Application Permissions and Role Assignment in Azure IAM?

316 Views Asked by At

In AAD's App Registration, there is an API Permission. I understand the difference between Delegation Permissions and Application Permissions, but I am a bit confused. If I choose Application Permission, what is the difference compared to granting the corresponding permissions to this App Registration's client ID for a certain resource in Azure IAM?"

1

There are 1 best solutions below

3
On

Let's see the definition of the terms and then you can have a better understanding:

Client ID is the unique Application (client) ID assigned to your app by Microsoft Entra ID when the app was registered.

Delegated access - In this access scenario, a user has signed into a client application. The client application accesses the resource on behalf of the user.

Application permissions, also known as app roles, are used in the app-only access scenario, without a signed-in user present. The application will be able to access any data that the permission is associated with.

A system-assigned identity is tied to your application and is deleted if your app is deleted. An app can only have one system-assigned identity.

A user-assigned identity is a standalone Azure resource that can be assigned to your app. An app can have multiple user-assigned identities.

The service principal is the app's identity in the Microsoft Entra tenant.

After we have these terms defined and we want to setup permissions to our app we must create a service principal. The access to resources is restricted by the roles assigned to the service principal (the Contributor role, is the most used one in general but depends on your needs) giving you control over which resources can be accessed and at which level. To manage your service principal (permissions, user consented permissions, see which users have consented, review permissions, see sign in information, and more), go to Enterprise applications. For details go here.

The Application (client) ID is used for other purposes for example to identify your app when you do a login (msal{ClientId}://auth for Xamarin Android and iOS) .