AI Agent Identity: Your IAM Was Built for Two Kinds of Users

AI Agent Identity: Your IAM Was Built for Two Kinds of Users

An agent authenticates like a machine and acts with the breadth of a human. One identity per agent, scoped to tables, expiring, and delegated for anything a person asked for.

See how Ward detects over-broad agent access

Get a demo → Take the 3-minute assessment
Contents

Agents are a third identity class and your IAM has two

Identity systems were built for humans and for machines. Humans authenticate interactively, get reviewed quarterly, and leave the company. Machines hold static credentials, do one narrow thing forever, and never surprise anyone.

An agent is neither. It authenticates like a machine, acts with the breadth of a human, changes what it does when its instructions change, and can be pointed at a new system in an afternoon.

That mismatch is why the first AI access review at most retailers finds a service account with read access to the entire warehouse, shared by three tools, created by someone who left in March.

The four failures that show up in every review

Shared identities. Two agents on one service account. Your logs can no longer tell you which one ran the query, so your audit trail is decorative.

Static long-lived keys. An API key in an environment variable, set once, never rotated, present in three deployment configs and one Slack thread.

Over-broad scope. The agent needed six tables and got the schema, because granting the schema was one line and granting six tables was a ticket.

Inherited human permissions. The agent runs as an analyst's account, which means it can do everything that analyst can do, including the things nobody intended to automate. When the analyst is promoted, the agent's permissions change with them.

None of these are exotic. All four are normal engineering shortcuts that were fine for a nightly ETL job and are not fine for a system that decides its own next query.

The access model that works

One agent, one identity. Non-negotiable, because everything downstream depends on attribution.

Short-lived credentials. Workload identity federation or a token exchange, with a lifetime measured in hours. If your platform supports it, you should not be issuing static keys to agents at all.

Scope to tables, not schemas. Enumerate what the agent reads. The enumeration is also your data-scope registry entry, so it does two jobs.

Read by default, write by exception. Write access is a separate identity with a separate approval, not an extra grant on the read identity.

Row-level controls where they already exist. If a district manager cannot see other districts, the agent acting on their behalf should not either. Agents that ignore row-level security become a data exfiltration path that looks like a feature.

An expiry date. Every agent identity expires. Renewal requires an owner to confirm the agent is still running and still needs what it has. Most of the sprawl in any environment is things nobody turned off.

Delegated identity versus service identity

This is the design decision that most deployments get wrong, and it has two defensible answers depending on what the agent does.

Service identity: the agent has its own permissions and acts as itself. Correct for scheduled monitors that run without a person present. Simple to reason about, simple to log, and the permissions are stable.

Delegated identity: the agent acts on behalf of the user who asked, inheriting that user's permissions. Correct for interactive question-answering, because it means the answer respects whatever the user was already allowed to see.

The failure is using a service identity for interactive use. Then a store manager asks a question and gets an answer computed across all 400 stores, including labor cost data they have never been allowed to see. Nothing was breached. The permissions were simply bypassed by design.

See how Ward detects over-broad agent access

Get a demo →

The confused deputy problem, in plain terms

An agent with broad permissions taking instructions from a user with narrow permissions is a classic privilege escalation shape. The user cannot read the table. The agent can. The user asks the agent.

Two controls handle it. Delegated identity for anything user-initiated, so the agent never has more access than the requester. And an output filter for the cases where delegation is not possible, checking the result against the requester's entitlements before it is returned.

This matters more once agents can be prompted freely. A monitor that runs a fixed set of queries is bounded by its query set. A chat interface is bounded only by what the identity can reach, which is why the identity scope has to be right rather than convenient.

Running the access review

Add agent identities to the same quarterly access review cycle as employees. The reviewer is the named owner from the agent registry, and they answer four questions.

  • Is this agent still running, and is anyone reading its output?
  • Does its data scope still match what it does?
  • Has its action tier changed since the last review?
  • Who approved anything above read-only, and is that person still in the role?

Expect the first review to retire 20 to 40% of the agent identities in the environment. Most will be pilots that ended without anyone revoking the credential. That cleanup is the highest-value hour in the whole program.

What to require from a vendor

Ask whether they support a dedicated service principal rather than a shared login. Ask whether they can operate on short-lived credentials. Ask whether they honor your row-level security or bypass it. Ask what their credential is scoped to by default, and whether their default is read-only in the contract rather than in the settings screen.

A vendor whose onboarding asks for an admin account and a broad grant is telling you how the rest of the relationship will go. The good ones arrive with a scoped role definition and a list of the exact tables they need.

How Ward connects

Ward provisions one identity per deployment, scoped to an enumerated table list, read-only, with the grant script shipped for your team to review before anything connects. Interactive questions run under delegated identity, so an answer never crosses a boundary the asker could not cross themselves.

The credential is yours to revoke, and revoking it stops everything. That is the property that makes an access review meaningful.

See how Ward detects over-broad agent access

Ward monitors your stores 24/7 and delivers insight cards, not dashboards. First cards in 48 hours.

identity access management non-human identity AI agents security

Questions about over-broad agent access.

Because an agent is a third identity class. Humans authenticate interactively and get reviewed quarterly; machines hold static credentials and do one narrow thing forever. An agent authenticates like a machine but acts with the breadth of a human and can be pointed at a new system in an afternoon. Shared identities also destroy attribution: if two agents share an account, your logs cannot say which one ran the query.

One agent, one identity. Short-lived credentials through workload identity federation rather than static keys. Scope to enumerated tables, not whole schemas. Read by default, with write access as a separate identity under a separate approval. Row-level security honored rather than bypassed. And an expiry date, because most sprawl is things nobody turned off.

A service identity means the agent acts as itself with its own permissions, which is right for scheduled monitors running with no person present. A delegated identity means the agent inherits the permissions of the user who asked, which is right for interactive questions. Using a service identity for interactive use means a store manager can receive an answer computed from data they were never allowed to see.

An agent with broad permissions taking instructions from a user with narrow permissions is a privilege escalation shape: the user cannot read the table, the agent can, so the user asks the agent. Two controls handle it. Delegated identity for anything user-initiated, and an output filter checking results against the requester's entitlements where delegation is not possible.

Add agent identities to the same quarterly cycle as employees, with the registered owner as reviewer answering four questions: is it still running and is anyone reading the output, does the data scope still match what it does, has the action tier changed, and is the approver still in the role. Expect a first review to retire 20 to 40% of agent identities, mostly pilots whose credentials were never revoked.

From the article to the product.

How this topic maps to what Ward does, who it’s for, and the alternatives buyers benchmark against.

Your stores are generating data right now.

Ward turns it into decisions. First insight cards in 48 hours.

デモを予約

御社のデータに何が隠れているか、確認する。

お客様のオペレーションについてお聞かせください。デモまたはPoCをご提案します。

ステップ 1/3
解決したい課題は?
ステップ 2/3
御社について
ステップ 3/3
ご連絡先