Skip to content
CAMPUX Cloud Bootcamp Phase Four · Class 38 · Part E
Phase Four — Operate, Secure & AI
4 drills · 2 situations · Part V of VIII
API Management
Class Thirty-Eight · Part E

Products, subscriptions & the portal

Give each partner a separate APIM subscription so you can track and revoke its key. Then decide what proves the calling app or user is really who it claims to be.

Phase Four · Operate, Secure, AI · Class 38 · Part E · 11 min · Assumes Class 38 Part C

After this you can package APIs into products, issue subscriptions, and give developers a portal that works.

New to this? Read Class 38 Part C first. Already done it, or know the material? Carry on.

§1

From an anonymous request to a named consumer

The warehouse partner and the courier share one API key. The courier’s script goes wrong, and Ada cannot suspend it without stopping the warehouse too. She needs separate subscriptions and a record of which caller owns each one. A subscription key is useful for this gateway control; it is not proof of the human user’s identity or permission to read a particular order. Keep those checks separate as the partnership grows.

The vocabulary is small and interlocking, and interviews check whether you can walk it without notes:

API & operations
The paths and methods APIM exposes. An API can also have an API-scoped subscription or no subscription requirement.
Product
A grouping of APIs with settings for subscription requirement, approval and portal discovery. Policies can apply when a request runs in that product's context.
Subscription
A named container for primary and secondary keys. Its scope can be a product, one API or all APIs. Give each partner a separate product-scoped subscription in this example.
Developer portal
A configurable website where developers can find documentation, request eligible products and test APIs. Visibility and sign-in settings need review before publication.
§2

Products — what you have vs what you offer

APIs are what you have; products are one way to offer them. A product can group the catalog API and require approval for a product-scoped subscription. It does not select a subset of that API's operations. For a partner read-only boundary, prefer a separate partner-facing API with only approved operations, or enforce authorization at API and backend levels. A product-scope policy alone is not enough: Microsoft notes that API-scoped and all-APIs subscriptions bypass product-scope policies.

In this example, the Partner product requires a subscription and approval. A product-scope rate limit can run for calls made with its product keys, while an API-level access rule protects the partner API regardless of subscription scope. On Standard v2, rate-limit-by-key is available but quota-by-key is not. Test the access matrix with product keys, API-scoped keys, all-APIs keys and no key before calling the boundary secure.

§3

Subscriptions — separate keys and counters

An APIM subscription is a named container for a primary and secondary key.1 In our design, each partner gets its own product-scoped subscription, so the gateway can attribute calls made with that key and you can suspend that subscription without revoking the others. A key answers "which partner's subscription is this call counted against?", not "which person is calling, and may they see this order?". That second question is authorisation, and it comes in Part F. A stolen key still identifies the same subscription. Rotate an exposed key promptly; use the second key for a planned switchover only if the partner has already configured it securely. Logs support usage review, but cannot prove an exposed key was never copied or used outside the logged period.

One Catalog API appears in Partner and Internal products. Separate product-scoped subscriptions give three partners and two internal teams distinct key pairs. A developer portal displays documentation and an access-request path. Suspended keys stop calls that use that subscription; API-level and backend authorization remain separate controls. What you have What you offer Which key was used Portal Catalog API 50 operations Partner Internal Partner access · 100/min Approval required All ops · no limit Own teams Marketplace A Marketplace B Regional chain Team Web Team Mobile Request · approve · keys Developer portal docs try it sign up Suspend one subscription; test the remaining callers. Product keys select product context; other subscription scopes differ.
Figure 1 One API can appear in two products. This diagram gives each caller a distinct product-scoped subscription, so suspending Marketplace B's subscription stops calls using its keys without suspending the other subscriptions. It does not prove who physically sent a call or protect operations reached through a different subscription scope. Test the API's authorization and backend restrictions too.

A separate subscription gives you a separate key to suspend.

Separate subscriptions reduce the blast radius of a leaked or misused key. They are a useful operational unit, not proof of caller identity. Part F adds token validation and backend controls; without those, anyone holding a valid key can make a call attributed to its subscription.

Play

Play it through

Configure a protected Partner product with separate partner subscriptions, choose a sample rate limit, then suspend one subscription. The simulation also points out the API-level controls still needed.

§4

The developer portal — onboarding without a meeting

The developer portal is a configurable APIM website for API documentation, testing and access requests.2 For this protected product, a partner can sign in, request a subscription and wait for approval. Publishing a product makes it discoverable in the portal; it is not an access switch at the gateway. Review portal visibility, sign-in, documentation accuracy and test-console behavior before inviting partners.

A self-service request can reduce manual onboarding, but approval, account setup and partner testing still take time. Give each partner clear setup steps and a secure way to receive its keys. The portal can display keys to the authorized account holder; it does not make a copied key safe or replace application authentication.

Case File · Campux Retail

Three partners, three subscriptions

the shared password, finally replaced

In the Standard v2 case, Campux publishes a protected Partner product and issues a separate product-scoped subscription after approving each marketplace and the regional chain. It applies a 100-calls-per-minute rate-limit-by-key policy to that product, keyed by subscription ID. There is no quota-by-key in Standard v2. API-level authorization and a limited partner-facing API surface protect the operations even when callers use another valid subscription scope.

If one partner's job loops, its product key can hit its own approximate rate limit. Campux monitors the backend and other partners, then suspends that subscription if needed. If a key leaks, it treats the leak as an incident: rotate the exposed credential, coordinate the partner's cutover to a known safe key, inspect usage and investigate where else the key was stored. Separate subscriptions keep the other partners' keys out of that rotation.

§5

A consumer the gateway can name

APIM now has an API model, policies and separate subscription keys for this partner design. The key lets the gateway attribute a request to a subscription, but not verify the person or app holding it. Part F covers token and backend authentication; Part G covers network paths that might bypass the gateway.

On the job

Cutting off one partner without a war room

You · Cloud Engineer · a partner's key just leaked publicly

A partner commits its subscription key to a public repository. Treat the key as compromised: restrict or suspend it, coordinate a replacement with that partner, remove it from the repository and investigate usage. The secondary key helps only if it is known safe and the partner can switch to it; no automatic failover is guaranteed. Other partners keep their own subscription keys, but you still check service load and any shared backend effects.

Guided continuation

Continue with a supplied build

Follow the same fictional catalogue through this track. The supplied contract and worked checks let you practise without an Azure estate; the optional import/mock path makes real gateway requests. Each step states what it proves and what it does not.

Open the step-by-step practice →

Class 38 · Part E

Examination

Four drills, then two situations. The situations have no marking scheme — write your answer before you reveal the reasoning, or the exercise is worthless. Nothing is stored; this is between you and the page.

Drill 01Recall · subscriptions
A partner's nightly sync starts misbehaving and must be cut off tonight — without touching the other partners. What makes that surgical revocation possible?
Marked

B — a separate subscription can be suspended separately. APIM stops calls that use the suspended partner keys while other product subscriptions remain valid. Monitor the shared backend to verify other partners' service. IP blocks can affect shared networks, taking the entire API offline affects everyone, and removing portal access does not invalidate an existing key. The key identifies a subscription, not necessarily the physical caller.

Drill 02Recall · products
You have read and write catalog operations. Partners must access only the read operations, with a limit. Which design keeps that restriction in force across subscription scopes?
Marked

A — make the partner surface and authorization explicit. A product groups APIs; it does not pick operations. A product-scope read-only policy applies only in that product's context. Microsoft documents that API-scoped and all-APIs subscription keys bypass product-scope policies, so the write restriction needs an API-level or backend control, preferably with a partner-facing API that exposes only the intended operations. Test every supported access path. A limit remains useful for product-key traffic, but it is not the write authorization boundary.

Drill 03Select three
When each partner has a separate product-scoped subscription, which three actions become possible for calls using those keys?
Marked

Suspend, review usage and rotate separately. APIM can distinguish the subscriptions presented on requests. That supports per-subscription reports and coordinated key rotation, but it does not prove the caller's real identity, create a billing system or switch a client automatically to its secondary key. Application behavior and routing require separate design.

Drill 04Spot the error
A plan for partner onboarding is up for approval. One line quietly destroys the accountability the rest of the plan is building. Which?
# partner onboarding plan
1.  Publish a protected Partner product: 100/min by key,
    approval required; enforce read access at API/backend.
2.  Issue one shared partner key to all partners —
    simpler than managing three subscriptions.
3.  Partners self-serve via the developer portal:
    request the product, we approve, keys issued.
4.  Each partner's usage shows on the per-subscription
    chart for billing and abuse detection.
Marked

Line two. If all partners use one subscription key, APIM records their calls under one subscription. A per-subscription rate limit is then shared, suspending it affects all three, and a leak forces all three to coordinate rotation. Separate subscriptions support separate counters and usage review. Approval and portal self-service can help onboarding, but neither verifies the caller's identity by itself.

Situation 01Write before you reveal
The PM wants onboarding simplified: "Three partners, three sets of keys, three sets of paperwork. Let's just issue one shared partner key — they're all reading the same catalog anyway." How do you respond?
Walk one bad night forward under each design. Who gets throttled, who gets blamed, and what does revocation cost?
Reasoning

Agree that onboarding should be easier. Keep a separate product-scoped subscription for each partner so APIM can count and suspend their keys separately. A shared subscription merges their rate-limit counter and usage records, and a leaked shared key would require every partner to rotate it.

Explain the limit of that design. Separate keys reduce the coordination cost; they do not prove who sent a request or guarantee unaffected partners when the backend is under load. Use application authentication and backend authorization for the partner boundary, and monitor the shared service.

Improve the actual workflow. Document the portal request and approval steps, set an owner and response target, and test onboarding with a partner. Keep credentials out of email and verify the client can rotate to a known safe secondary key before an incident.

Situation 02Write before you reveal
An interviewer says: "We're about to open an API to external developers for the first time. Design how they discover it, sign up, and get access — and tell me what you'd refuse to do." What do you say?
Walk the three nouns — product, subscription, portal — then name the thing you'd refuse and why.
Reasoning

Define the API surface first. Expose only intended external operations and enforce authorization at the API and backend. A product groups APIs for discovery and subscription; it does not remove operations from an API or make product-scope policies universal.

Choose the access flow. Publish a protected product, decide whether requests need approval, and give each approved developer or partner a separate product-scoped subscription. Use the portal for documentation and requests, then test sign-in, approval, key handling and the first call. Configure rate limits on supported tiers and validate actual backend capacity.

Refuse a shared key as the sole control. It erases per-partner counters and separate revocation. Also refuse to treat a subscription key as proof of the caller's identity: require suitable app or user authentication, test API-scoped and all-APIs key paths, and restrict direct backend access.

Examination record · first attempt
0/4
Class 38e · Complete
Retain this much

Five things worth carrying out of this part

  1. An API exposes operations; a product groups APIs; a subscription carries keys; the developer portal supports discovery and access requests.
  2. A product-scope policy applies to calls in that product context. Protect partner operations at API and backend levels as well, because API-scoped and all-APIs keys can bypass product policies.
  3. Separate subscriptions support separate counters and suspension. Their keys identify subscriptions, not the physical caller; use stronger authentication when needed.
  4. Publishing controls portal discovery. It does not itself disable gateway access or replace an approval, authentication or authorization check.
  5. For a leaked key, rotate or suspend it, coordinate a safe replacement and investigate usage. Secondary-key failover requires client preparation.
Notes
  1. Microsoft's subscription guide documents product, API and all-APIs scopes. API-scoped and all-APIs keys do not apply product-scope policies. A key identifies its subscription, so Microsoft advises against using subscription keys as the sole authentication mechanism. ↩
  2. Microsoft's product guide distinguishes portal publication from gateway access and explains protected and open products. Review portal access settings before making documentation public. ↩