02 / IDENTITY & AUTHORITY

Know who. Decide what. Prove it.

Build API security around the resources you protect, with clear authentication, relationship-based authorization, bounded operations, and useful release evidence.

On this page

Start with resources and relationships

API security begins with the data and actions that matter. Identify the actors who use the service, the resources they may access, and the conditions that permit each operation. A multi-tenant service needs to consider relationships across organizations, projects, roles, and individual objects.

The API security checklist article proposes a review workflow grounded in the OWASP API risk vocabulary. Its examples turn broad concerns into inspectable evidence: two-tenant test fixtures, denied side-effect checks, bounded job tests, and a rehearsal of the incident path. These are implementation recommendations, not a claim of certification.

Separate a valid credential from permission

A verified credential establishes an identity context. It does not establish that the caller may read, modify, export, or delete any resource they can name. Keep the permission decision close to the current relationships and business state it depends on.

Design negative tests with multiple tenants, read-only users, revoked memberships, and service integrations. Inspect both the response and the underlying state. The API keys, JWT, and mTLS comparison explains how to select identity mechanisms without letting a connection identity erase the restrictions of the initiating user.

Review the whole operation

A request may trigger a queue, a file conversion, an external message, or a model call. Include those side effects in your review. Check the permitted starting state, the actor, the requested transition, and the expected final state. Do not rely on the client interface to enforce a sequence that the backend must protect.

Bound request sizes, batch counts, concurrency, and downstream work using values selected for your workload. Check outputs too: deliberate response construction can keep private fields out of lists, exports, and errors. Track alternate routes and deployed versions so the documented protection matches the service that is actually reachable.

Make changes produce evidence

A release review should locate the inventory entry, relevant permission tests, request fixtures, resource limits, and operational owner. Keep policy and configuration versions with the evidence. This allows a reviewer to tell whether a changed route is covered by a previous test or needs a new scenario.

Handle exceptions explicitly. Record scope, reason, owner, compensating controls, and a review date. A compatibility allowance should not quietly weaken unrelated operations. The security release checklist offers a compact sequence for planning, implementation review, and pre-launch verification.

Prepare to investigate and contain

Choose event fields that answer who attempted an operation, which decision was made, and whether its side effect completed. Keep ordinary logs free of credentials and unnecessary private payloads. Give alerts an owner and a runbook, and document which services or time periods lack evidence during a telemetry failure.

The logging and incident response playbook uses a suspected integration-key exposure as a practical exercise. Rehearse restriction, revocation, scope assessment, and restoration before a real incident. A security boundary becomes operationally useful when the team knows how to verify and recover it.

KEEP EXPLORING

Keep building your understanding.

The Shield Journal