From Conversation to Transaction

Identity, Authentication, Authorization and Security Boundaries in Enterprise AI Agents

In the previous article, we transformed a business process into a solution architecture.

SharePoint became responsible for trusted documents and corporate Knowledge. Copilot Studio became the conversational and reasoning layer. Power Automate handled deterministic workflow. Human actors retained organizational authority. APIs and Connectors provided integration boundaries. ERP remained responsible for authoritative transactions.

That architecture gives every component a responsibility.

But it leaves one critical question unanswered.

Suppose an employee tells the Agent:

“Create this purchase request.”

The sentence appears simple. Technically, however, it can initiate a chain of operations crossing several security boundaries.

The user is authenticated to an Agent. The Agent might retrieve information from SharePoint. A Tool might invoke another service. A Flow might access a SharePoint list. A Connector might communicate with an ERP. An API might accept an OAuth access token. Finally, an enterprise system might create a transaction.

At every boundary, we must ask a different question:

Who is actually performing this operation?

This question cannot be answered merely by saying “the Agent.”

An Agent can participate in operations executed under different identities and authentication models. A Tool can be configured to use end-user authentication or credentials supplied by the Agent author. SharePoint Knowledge can retrieve information in the context of the signed-in user. External APIs can introduce entirely different OAuth scopes and security boundaries.

The natural-language experience tends to hide these transitions.

Enterprise architecture must make them visible again.

This leads to the next principle in our series:

Never confuse conversational identity with execution identity.

Understanding that distinction requires separating four concepts that are frequently treated as interchangeable: identity, authentication, authorization and execution context.


1. Identity Comes Before Permission

Identity answers a deceptively simple question:

Who are you?

In a Microsoft enterprise environment, that identity will frequently be associated with Microsoft Entra ID.

When a user interacts with an authenticated Copilot Studio Agent, the Agent can identify the user and, depending on its authentication configuration, access restricted resources on behalf of that user.

Microsoft currently configures newly created Copilot Studio and Teams Agents for Microsoft authentication by default in supported scenarios. Copilot Studio also supports manual authentication scenarios using Microsoft Entra ID or other OAuth 2.0 identity providers.

However, identifying the person using the Agent is only the beginning of the security chain.

Consider an employee named Maria.

Maria signs into Microsoft 365.

She opens an Agent in Microsoft Teams.

The Agent recognizes Maria.

Maria asks:

“Show me the procurement policy.”

The Agent accesses SharePoint Knowledge.

Later she asks:

“Create a purchase request.”

The Agent invokes a Tool.

That Tool invokes another service.

Although Maria initiated both operations, we cannot automatically conclude that every downstream operation executes with Maria’s permissions.

That depends on how each capability has been configured.

Section summary

ConceptFundamental question
IdentityWho is the actor?
AuthenticationCan the actor prove that identity?
AuthorizationWhat is that identity allowed to do?
Execution contextWhich identity actually performs this operation?
AuditWho initiated and who executed the operation?

This distinction becomes essential once an Agent can move beyond conversation and interact with enterprise systems.


2. Authentication Is Not Authorization

Authentication proves identity.

Authorization determines what that identity is allowed to access or execute.

The distinction is fundamental but becomes especially important in conversational systems because the interaction feels continuous.

Maria authenticates once and continues talking to the Agent. From her perspective, everything happens inside the same conversation.

From the architecture’s perspective, several authorization decisions may occur.

Maria might be allowed to use the Agent but not read a confidential SharePoint site.

She might be allowed to retrieve procurement policies but not HR policies.

She might be able to create a purchase request but not approve one.

She might be able to submit a $5,000 request while approval of that request belongs to another role.

Authentication therefore does not mean:

Authenticated → Access everything connected to the Agent

It means:

Authenticated → Identity established → Authorization still evaluated

This is one of the most important security principles for enterprise Agents.

Section summary

SituationAuthenticationAuthorization
User signs into AgentEstablishes identityDoes not automatically grant resource access
Agent queries SharePointUser is knownSharePoint permissions still matter
Agent invokes ToolUser initiated operationTool authentication model determines execution
Flow accesses systemFlow executesConnection permissions matter
API receives tokenToken is validScopes/roles determine permitted operations
ERP receives requestCaller authenticatedERP authorization determines transaction rights

3. Authentication Is a Chain, Not a Single Event

Traditional diagrams frequently show security as a single lock icon attached to the application.

That model becomes inadequate for Agents.

Our procurement architecture contains several security boundaries:

User

Copilot Studio

Knowledge

Tool

Power Automate

Connector / API

ERP

Every arrow can represent a different authentication or authorization boundary.

This means there is no single question called:

“Is the Agent secure?”

We need more precise questions.

How does the user authenticate to the Agent?

How does the Agent access Knowledge?

How does the Tool authenticate?

Which connection does Power Automate use?

How does the Flow authenticate against SharePoint?

How does the integration authenticate to ERP?

What scopes or permissions exist at each boundary?

Which system performs the final authorization decision?

A secure Agent architecture is therefore a chain of trust relationships.

The chain is only as strong as the boundaries we understand and control.

Section summary

BoundarySecurity question
User → AgentWho is the user?
Agent → SharePointWhat content may this user retrieve?
Agent → ToolWhich authentication model is used?
Tool → FlowUnder whose context does execution occur?
Flow → ConnectorWhich connection authenticates?
Connector → APIWhich token/credential is presented?
API → ERPWhich operation is authorized?

4. SharePoint Knowledge Provides an Excellent Security Example

SharePoint demonstrates why authentication context matters.

When SharePoint is configured as a Knowledge Source through the supported Copilot Studio integration, Microsoft documents that the Agent surfaces only content the signed-in user is permitted to access.

If Maria can read Document A but cannot read Document B, connecting the site as Agent Knowledge does not automatically give Maria access to Document B.

This is fundamental.

Adding a SharePoint site as Knowledge is not equivalent to copying all of the site’s security-trimmed content into a globally accessible AI database.

For the supported SharePoint Knowledge integration, the user’s permissions remain relevant during retrieval.

At minimum, the user requires the appropriate SharePoint read access to retrieve the content.

This gives us a critical architectural principle:

Connecting a source to an Agent does not automatically grant users permission to that source.

The Knowledge Source defines where the Agent can look.

Authorization still determines what the particular user can see.

Section summary

LayerResponsibility
Copilot StudioOrchestrates Knowledge use
SharePoint Knowledge SourceDefines available enterprise content
AuthenticationEstablishes user identity
SharePoint permissionsDetermine accessible content
RetrievalFinds relevant authorized content
GroundingUses retrieved content in the answer
LLMGenerates the natural-language response

5. SharePoint Scopes Do Not Mean SharePoint Access Is Automatically Granted

This distinction becomes more subtle in advanced authentication scenarios.

When manual Microsoft Entra authentication is configured for SharePoint Knowledge, Microsoft documents scopes such as:

Sites.Read.All

and

Files.Read.All

Seeing these names can initially create concern.

Does Sites.Read.All mean that every user of the Agent can suddenly read every SharePoint site?

No.

In this configuration, those scopes allow the application to request access necessary for the SharePoint grounding scenario, while the user’s existing permissions still constrain which content can be surfaced.

This distinction between an application’s OAuth permission and the user’s underlying authorization is extremely important.

A scope defines what the application/token can request or attempt within the authorization model.

It does not automatically mean every user gains access to every object covered by the scope name.

The effective permission depends on the authentication flow, permission type and resource authorization.

This becomes particularly important later when we introduce Microsoft Graph and distinguish Delegated permissions from Application permissions.

Section summary

ConceptMeaning
OAuth scopeCapability requested by application/token
User identityPerson represented in the operation
SharePoint permissionResource-level access already granted
Effective accessCombination of identity, token and resource authorization
Knowledge SourceDoes not independently override SharePoint ACLs

6. Tools Introduce a Different Security Problem

Knowledge retrieval is largely about controlling what information can be read.

Tools introduce something more dangerous:

side effects.

A Tool might create a SharePoint item.

It might update Dataverse.

It might send an email.

It might call an API.

It might start an approval.

It might create an ERP transaction.

This changes the security question from:

“What can this user know?”

to:

“What can this Agent cause to happen?”

Copilot Studio currently supports different authentication approaches for Tools. A Tool can require User authentication, or the Agent can use credentials associated with the Agent author in supported configurations.

This distinction has enormous architectural consequences.

Suppose our Tool creates a SharePoint purchase request.

With user authentication, the operation can be constrained according to the user’s authenticated access to the connected service.

With author-provided credentials, the operation can potentially execute using permissions belonging to the maker’s connection.

The conversation may look identical.

The security architecture is not.

Section summary

Tool authenticationExecution principleArchitectural consequence
User authenticationUser authenticates to serviceAccess can follow user permissions
Agent author authenticationConfigured credentials perform operationAgent may possess capabilities beyond user
Anonymous/public APINo user identity at targetMust be carefully constrained
Custom OAuth/APIDepends on token modelMust analyze scopes and claims

7. The Maker Credential Problem

This deserves special attention because it demonstrates why Low-Code security requires technical understanding.

Imagine that an Agent maker has broad permissions to a SharePoint site.

The maker creates a Tool using their connection.

The Tool can retrieve or modify information using that connection.

The Agent is then shared with users who have significantly fewer permissions.

If the architecture does not enforce appropriate controls, users might indirectly trigger operations using the maker’s broader permissions.

The Agent did not “hack” SharePoint.

The configured identity had permission.

The architecture exposed that permission too broadly.

Microsoft explicitly provides administrative controls for maker-provided credentials because of this risk. Administrators can govern whether makers are allowed to configure Tools using their own credentials or whether end-user credentials must be used.

This is a perfect example of why the statement:

“The Agent uses SharePoint”

is architecturally insufficient.

We need to know:

Which identity does the Agent use to access SharePoint in this particular operation?

Section summary

ConfigurationPotential effect
Maker has broad permissionsTool may inherit powerful execution capability
End user has restricted permissionsUser expects restricted access
Tool uses maker credentialsUser may trigger capability unavailable directly
Tool uses user credentialsAccess aligns more closely with user’s rights
Admin blocks maker credentialsReduces this class of privilege exposure

8. Least Privilege Must Apply to Agents Too

The traditional security principle of least privilege becomes even more important in Agent architecture.

An identity should possess only the permissions necessary to perform its intended responsibility.

Suppose a Tool only needs to create purchase requests.

Giving its execution identity administrative rights to the entire SharePoint site is unnecessary.

If an API only needs to create purchase requisitions, giving it unrestricted ERP administration capabilities creates avoidable risk.

This sounds obvious in conventional software architecture.

Low-Code can make the violation less visible because authentication is often represented by selecting an existing connection from a graphical interface.

The credential may already exist.

The Connector works.

The Flow runs.

The Agent succeeds.

Technically, everything appears correct.

Architecturally, however, the identity may have far more privilege than the capability requires.

Section summary

CapabilityBetter permission model
Read policiesRead only
Create requestCreate required records
Update own requestRestricted update
Approve requestSpecific approval authority
Create ERP requisitionSpecific transaction capability
Read ERP statusRead transaction status
AdministrationSeparate administrative identity

A successful connection test proves connectivity.

It does not prove appropriate authorization design.


9. The Execution Identity Must Be Documented

From this point forward, every Tool in an enterprise Agent should have an explicit security description.

For example:

Tool: Create Purchase Request

Initiator: Authenticated employee

Execution identity: End-user connection

Target: SharePoint Purchase Requests list

Operation: Create item

Required permission: Add Items

Result: Request ID

Now compare it with:

Tool: Create ERP Purchase Requisition

Initiator: Approved business process

Execution identity: Controlled integration identity

Target: ERP API

Operation: Create requisition

Required permission: Purchase Requisition Create

Result: ERP Requisition ID

These descriptions expose something that visual Low-Code designers can easily hide:

execution authority.

Section summary

Tool propertySecurity documentation
PurposeWhy does this Tool exist?
InitiatorWho causes execution?
Execution identityWho actually authenticates?
TargetWhich system receives the operation?
PermissionWhat is required?
DataWhat information crosses boundary?
Side effectWhat can change?
ResultWhat information returns?
AuditWhere is execution recorded?

10. Power Automate Is an Execution Boundary

In our architecture, the Agent frequently calls a Tool that invokes Power Automate.

This introduces another important boundary.

Consider:

User

Agent

Tool

Power Automate

SharePoint

The user may have authenticated to the Agent.

But Power Automate still needs an authenticated connection to SharePoint.

The security architecture therefore depends on the connection model being used.

The important lesson is not to assume that identity automatically flows unchanged from the beginning of the conversation to every downstream system.

Every transition must be inspected.

The Flow is not merely an implementation detail.

It is an execution boundary with its own connections, permissions, data and audit implications.

Section summary

LayerQuestion
UserWho requested the operation?
AgentIs the user authenticated?
ToolIs the user allowed to invoke it?
FlowWhich connections execute?
ConnectorWhich identity authenticates?
SharePoint/APIWhat does that identity have permission to do?
AuditCan we reconstruct what happened?

11. API Authentication Introduces OAuth Properly Into the Architecture

Eventually we reach APIs.

At this point concepts such as OAuth 2.0, access tokens, scopes, claims, client IDs, secrets, certificates and Microsoft Entra app registrations become relevant.

An API does not understand that “Maria was chatting with our Copilot.”

It understands the security information presented with the request.

For example:

Authorization: Bearer <access_token>

That access token represents an identity and a set of permissions.

The API validates the token and decides whether the represented identity is authorized to perform the requested operation.

Conceptually:

Agent / Flow

Authentication

Microsoft Entra ID

Access Token

REST API

Token Validation

Authorization

Operation

This is why API integration cannot be treated merely as “calling an endpoint.”

The HTTP request and the identity model belong to the same architecture.

Section summary

OAuth elementRole
Client IDIdentifies application
TenantDefines identity authority/context
Access tokenCarries authenticated security context
ScopeRepresents delegated capability request
App roleCan represent application-level permission
Secret/certificateApplication credential in applicable flows
APIValidates token and enforces authorization

12. Delegated and Application Permissions Represent Different Trust Models

This distinction becomes especially important when Microsoft Graph and custom Entra-protected APIs eventually enter the architecture.

With Delegated permissions, an application operates in the context of a signed-in user.

Conceptually:

Application + User

The application can act within the intersection of the granted delegated permission and what the user is authorized to access.

With Application permissions, the application acts without a signed-in user.

Conceptually:

Application itself

This is appropriate for background services, scheduled processes and other application-to-application scenarios, but it also means that the application’s permissions become extremely important.

For an interactive Agent acting on behalf of Maria, delegated access can align naturally with user-context scenarios.

For an autonomous background process where no user is present, application identity may be necessary.

These are not interchangeable authentication techniques.

They represent different security and accountability models.

Section summary

DimensionDelegatedApplication
Signed-in userYesNo
Identity contextApp + userApplication
Typical scenarioUser-driven operationBackground/service operation
User permissions relevantYesNot in the same way
Application privilege riskConstrained by modelPotentially substantial
Governance requirementHighVery high
Typical exampleRead user’s permitted contentScheduled enterprise integration

13. Autonomous Agents Change the Identity Problem

This distinction becomes critical when we move from interactive Agents to autonomous behavior.

In an interactive scenario:

User → Agent → Tool

there is a human initiator.

In an autonomous scenario:

Event → Agent → Tool

there may be no active user at all.

Who does the Agent act as?

The answer cannot be:

“the user.”

There may be no user present.

This affects authentication design directly.

Microsoft’s current governance controls illustrate this relationship: if an environment is configured to prevent maker-provided credentials and requires live end-user authentication for Tool execution, autonomous or scheduled Tool calls that depend on such authentication cannot simply run in the background because no user is present to authenticate.

This is an architectural constraint, not merely a UI configuration detail.

Section summary

ScenarioHuman presentIdentity challenge
Conversational AgentYesUser context can participate
Agent Tool after user requestYesUser or configured connection
Event-triggered AgentPossibly noRequires explicit execution identity design
Scheduled AgentNoCannot depend on interactive sign-in
Background integrationNoService/application identity often required

Autonomy therefore increases the importance of identity architecture.


14. Instructions Are Not Security Controls

Another dangerous misconception deserves explicit treatment.

Suppose we write:

“Never show confidential documents to unauthorized users.”

This is a useful Instruction.

It is not authorization.

Or:

“Only managers can approve purchases.”

Again, useful behavior guidance.

Not a security boundary.

An LLM Instruction influences model behavior.

It does not replace ACLs, Entra authorization, SharePoint permissions, API authorization, Connector permissions or ERP roles.

The difference is fundamental.

If a user must never retrieve a document, prevent access at the resource authorization layer.

If a user must never execute an ERP operation, prevent execution at the API or ERP authorization layer.

The Agent may additionally be instructed to explain the restriction appropriately.

But security must survive even if the model behaves unexpectedly.

Section summary

RequirementCorrect control
“Don’t discuss unrelated subjects”Instructions
“User cannot read confidential document”SharePoint authorization
“User cannot call operation”Tool/API authorization
“Only manager can approve”Role/workflow authorization
“Agent should explain denial politely”Instructions
“Service cannot access other records”Resource/API permission

This gives us another core principle:

Prompt instructions influence behavior. Authorization constrains capability.


15. Security Must Be Enforced Below the LLM

This principle can be generalized.

The LLM should never be the final security boundary for a sensitive operation.

Suppose an Agent receives a malicious or confusing prompt attempting to persuade it to access restricted information.

If the underlying resource correctly enforces authorization, the request fails regardless of how persuasive the prompt is.

That is desirable architecture.

The model might make an incorrect decision.

The authorization layer should still protect the resource.

This creates defense in depth:

Instructions

Agent orchestration

Tool constraints

Authentication

Authorization

Resource permissions

System of Record

The deeper we move into the architecture, the less the system should depend on natural-language compliance for security.

Section summary

LayerSecurity contribution
InstructionsBehavioral guidance
Agent designCapability boundaries
Tool designExposed operations
AuthenticationIdentity verification
AuthorizationPermission enforcement
Resource ACLData-level access
System rolesTransaction-level authority
AuditDetection and accountability

16. Security and Data Architecture Must Be Designed Together

Identity tells us who can perform an operation.

Data architecture tells us what information that operation touches.

The two cannot be separated.

Suppose a Tool creates a purchase request containing employee name, department, business justification, financial amount and supporting documentation.

We should understand not only whether the user can create the record, but also where each field travels.

Does the entire conversation transcript reach Power Automate?

Or only structured parameters?

Does the ERP need the employee’s complete justification?

Does the Agent need the ERP’s complete response?

Should a sensitive API response be returned directly to the LLM?

The principle of least privilege should therefore be accompanied by another principle:

Minimum necessary data.

Do not send an entire object when the Tool needs three fields.

Do not expose an entire API response to the Agent when it needs only a transaction identifier and status.

Do not duplicate sensitive information across systems without a business reason.

Section summary

Security principleQuestion
Least privilegeWhat minimum permission is required?
Minimum necessary dataWhat minimum information is required?
Purpose limitationWhy is this information being processed?
System of RecordWhere should authoritative data live?
RetentionHow long should data remain?
AuditabilityCan we reconstruct access and execution?

17. Rebuilding the Procurement Architecture With Security

We can now return to our architecture and add the security dimension.

The employee authenticates to the Agent using the organization’s identity model.

The Agent retrieves procurement Knowledge from SharePoint in a manner that respects the applicable user permissions.

The Agent interprets the employee’s request and produces structured parameters.

A Tool invokes a controlled workflow.

Power Automate evaluates deterministic business rules.

An authorized manager provides approval.

After approval, an integration identity calls the ERP API with only the permissions necessary to create a purchase requisition.

The ERP performs authorization and creates the transaction.

The transaction identifier returns through the integration layer.

The Agent communicates the result.

The architecture is now:

Authenticated Employee

Copilot Studio

User Identity + Conversation

SharePoint Knowledge

Permission-Trimmed Retrieval

Agent

Interpretation

Tool

Controlled Capability Boundary

Power Automate

Deterministic Execution

Human Approval

Organizational Authority

Controlled Integration Identity

Least Privilege

ERP API

Authentication + Authorization

ERP

System of Record

Transaction Result

Agent

Natural-Language Communication

Every transition has both a functional meaning and a security meaning.


18. The Identity Matrix

Just as the previous article introduced an architecture matrix, we can now create an identity matrix.

OperationInitiatorExecution identityAuthorization authorityRisk
Ask AgentEmployeeEmployeeAgent access policyLow
Retrieve policyEmployeeUser-context accessSharePointData disclosure
Analyze justificationEmployeeAgent processing contextAgent configurationInformation handling
Create requestEmployeeUser or controlled Tool connectionSharePoint/DataverseData modification
Determine routeWorkflowFlow execution contextBusiness logicIncorrect routing
Approve purchaseManagerManagerApproval/business systemFinancial authority
Create ERP requisitionApproved processIntegration identityERPFinancial transaction
Read ERP statusEmployee/processAppropriate API identityERPBusiness data disclosure

This matrix should become part of enterprise Agent documentation.


19. Security Questions for Every Tool

Before publishing an enterprise Tool, we should be able to answer several questions without opening Copilot Studio.

What business capability does this Tool expose?

Who is allowed to request it?

Whose credentials execute it?

What permissions do those credentials possess?

What information is sent?

What system receives it?

Can the operation modify state?

Can it trigger another process?

What happens if the Agent invokes it with incorrect parameters?

Can the operation be reversed?

Where is it audited?

These questions transform security from a configuration task into an architectural discipline.

Section summary

DimensionRequired answer
CapabilityWhat can happen?
InitiatorWho can request it?
IdentityWho executes it?
PermissionWhat is allowed?
InputWhat data enters?
OutputWhat data returns?
Side effectWhat changes?
RecoveryCan it be reversed?
AuditWhere is it recorded?
OwnershipWho is responsible?

20. Security Changes the Meaning of Agent Architecture

We can now extend the progression developed throughout this series.

Article 1 established that Low-Code requires broader knowledge.

Article 2 established that process must come before platform.

Article 3 established that responsibility must come before intelligence.

Article 4 translated those responsibilities into technology architecture.

Article 5 adds a new rule:

Capability must be accompanied by identity and authority.

The progression becomes:

Business

Process

Responsibility

Technology

Identity

Authorization

Execution

Audit

This is the point where an Agent stops being an interesting AI experiment and begins to resemble a real enterprise system.


Conclusion

Conversational interfaces create an illusion of continuity.

The employee talks to one Agent and experiences one conversation.

Behind that conversation, however, the request may cross SharePoint, Power Automate, Connectors, APIs, Microsoft Entra ID, Dataverse and ERP systems.

Each boundary can introduce a different identity, credential, token, permission set and authorization decision.

Enterprise Agent security therefore cannot be summarized by saying:

“Users authenticate with Microsoft 365.”

That tells us only how the conversation begins.

We must understand the complete execution chain.

Who is the user?

How is that identity authenticated?

Which identity retrieves Knowledge?

Which credentials execute the Tool?

Which connection does the Flow use?

Which token reaches the API?

Which scopes or roles does that token contain?

Which system performs authorization?

Which data is exposed?

Which transaction can occur?

And where can we audit the result?

The most important security principle for Agent architecture can therefore be stated simply:

Never give an LLM responsibility for enforcing a security boundary that can be enforced by the underlying system.

Instructions should guide behavior.

Authentication should establish identity.

Authorization should constrain capability.

Least privilege should minimize potential impact.

Systems of Record should protect authoritative data and transactions.

Audit should allow the organization to understand what actually happened.

And the Agent should operate inside those boundaries rather than replace them.

This gives us a more mature definition of an enterprise Agent:

An enterprise Agent is not merely an LLM connected to corporate systems. It is a reasoning component operating inside explicitly designed process, identity, data, authorization and governance boundaries.

That prepares the next stage of the series.

Once identity and security boundaries are understood, we can examine the mechanism that connects reasoning to execution in detail:

Agent → Tool → Power Automate → Connector/API → Result → Agent

The next article can therefore be:

From Reasoning to Execution — Designing Tools, Actions and Power Automate Contracts for Enterprise Agents.

There we can stop speaking only architecturally and follow one operation technically from the user’s sentence to structured Tool parameters, Flow execution, SharePoint or API operation, structured response and final Agent answer.

Edvaldo Guimrães Filho Avatar

Published by