PRODCOB

Part 3 of 4: Identity Is Not Authorization: API Permissions, Access Tokens and Azure RBAC Explained

Definition

Suppose our new employee has successfully checked in. Security knows who they are. They have an employee record. They have a badge number.

Can they now walk into Finance? HR? the data center? the executive floor? every secured room?

Of course not.

This is the difference between Identity and Authorization.

It is also one of the most important distinctions in Azure application architecture.

App Registration Answers One Question

App Registration establishes:

Which application is asking?

It does not automatically mean:

Allow that application to read every Azure subscription.

The Client ID identifies the app. The token is issued for a specific authentication/authorization context. The target API validates that token.

And for Azure resources, Azure RBAC provides another authorization boundary determining what the resulting identity may actually access.

API Permissions = What the Application May Request

Think of API permissions as the access categories associated with an employee’s role.

The application may request access to specific protected APIs or scopes. Examples can include profile information, directory information, selected Microsoft APIs, Azure management APIs, and other protected APIs explicitly configured for the application.

The core design principle should be:

Request only what the application genuinely needs.

That is least privilege in practice.

Access Token = Temporary Security Pass

After authentication and applicable consent/authorization, Microsoft can issue an access token for the intended API.

A temporary digitally signed security pass.

The application presents the token when calling the protected API. This is fundamentally different from repeatedly submitting a username and password.

The token is time-limited, targeted to an intended resource/API context, issued by the identity provider, and validated by the protected API.

Azure RBAC = Which Rooms You Can Actually Enter

Here is the additional layer.

Suppose the app obtains a valid token for Azure management APIs. That does not mean every Azure resource suddenly becomes visible.

Azure RBAC can constrain access at scopes such as Management Group, Subscription, Resource Group, or Individual Resource.

This makes the office analogy more accurate:

Client ID = which application is standing at the door
Access Token = valid temporary badge
Azure RBAC = which rooms that badge can actually open

Office access infographic showing that a valid identity and token do not grant unlimited Azure resource access
Authenticated does not mean authorized everywhere.

Key Insight

A useful architecture equation is:

Identity + Token + Permission + Resource Authorization = Controlled Access

Why This Is an Enterprise Architecture Issue

This is where a prototype and an enterprise application begin to diverge.

A prototype asks:

Can we connect?

An enterprise architecture asks:

Can we connect with the minimum necessary privilege, controlled scope, clear ownership, and sufficient evidence of what happened?

That second question matters much more — especially when a product is intended to inspect infrastructure belonging to another organization.

What This Means for the App

The target architecture should not be:

Connect Azure → See Everything

It should be:

  1. Connect Azure
  2. Microsoft authentication
  3. Explicit consent / authorization
  4. Token for the intended API
  5. Approved Azure RBAC scope
  6. Read authorized metadata
  7. Build the app resource model

Key Takeaway

The strongest security principle in this entire series may be the simplest:

A valid identity should never be confused with unlimited authorization.

For cloud-connected applications, authentication establishes trust. Authorization defines the boundary of that trust.

PRODCOB.com


Previous: Part 2 — Azure Subscription, Entra ID, Tenant and App Registration — What Does Each One Actually Do?
Next: Part 4 — From Controlled Access to Visual Cloud Understanding — How I Applied the Pattern in APRIS AVA™


This article reflects my personal analysis and interpretation of publicly available product documentation and architectural patterns for educational and professional discussion purposes. It does not represent the views of my employer or any other organization. Product capabilities, terminology and service availability may change over time. Organizations should validate current vendor documentation and evaluate security, regulatory, architectural and operational requirements within their own environments before implementation.