gpu cloud

Separate serverless and capacity credentials in an AI microservices stack

Give each backend only the API access it needs, and keep GPU spending under one centrally authorized wallet.

By Sybilla Krauss·October 28, 2026·4 min read
What matters here
  1. Separate credentials reduce the blast radius when one AI microservice is compromised.
  2. A key scope is useful only if it excludes operations the service should not perform.
  3. Separate API credentials do not create separate wallets or spending limits.

In a multi-tenant AI service, a shared API key turns a small bug into a platform-wide risk. If a chat backend can also manage GPU capacity, a compromised service may have more authority than its job requires. The practical fix is to split credentials by workload, then verify the boundaries rather than assuming a key name or scope does the work.

Hostnot GPU provides developer APIs for inference, usage and capacity, and supports scoped credentials. Its serverless API handles supported chat, image and video requests. The platform uses wallet-first authorization and server-side pricing. That means you can keep platform billing centralized while separating which backend is allowed to make which calls. It does not mean each service automatically gets its own wallet or spending limit.

Map services to the operations they need

Start with an inventory of your microservices and their required operations. A chat service may need to submit inference requests and receive responses. A deployment controller may need capacity-related access. A reporting worker may need usage data. Keep those roles distinct, even if one team owns all three.

Write the boundaries down before creating credentials. For each service, specify the API operations it needs, the operations it must not call, and the data it may handle. Avoid broad labels such as “AI access.” They make it harder to detect an accidental permission expansion later.

  1. Inference service: allow the server-side path it needs to submit supported model requests.
  2. Capacity manager: reserve capacity operations for a separate backend with a clear operational owner.
  3. Usage reporter: grant only the access required to gather its reporting data, if the available API scopes support that separation.

Hostnot’s live catalog shows capacity across 18 GPU types, eight regions and 80 catalog offerings. That visibility can inform a capacity-management workflow, but it is not a reason to give an inference worker capacity-management authority.

Issue separate credentials and enforce the boundary

Create a distinct credential for each backend, using the narrowest available scope. Check Hostnot’s current API documentation for the exact scopes and operations supported; do not infer endpoint-level restrictions from a credential being described as scoped. If the platform cannot express the separation you need, enforce it in your own service layer instead of treating the key as a complete security boundary.

For example, put a small internal gateway between application services and the GPU cloud API. Give the inference service access only to your gateway’s inference operation. Keep capacity-management calls behind a separate internal route available only to the controller. The gateway can reject an operation that is not on the caller’s allowlist before it reaches Hostnot. If a platform credential has broader access than one caller needs, keep that credential inside the gateway and do not distribute it to individual services.

Store credentials on servers, not in browser code, mobile apps, source repositories or logs. A public client should call your backend, which can authenticate the tenant and select the permitted operation. Do not send a private credential to a customer as a way to identify that customer’s request.

If your application routes several request types, make model choice and payload handling explicit in the service that owns inference. The patterns in routing chat, image and video requests through serverless inference are useful background for that separation.

Test what each key can actually do

Test credentials against both the allowed and forbidden paths before putting them into production. An inference credential should succeed at its intended inference call and fail when presented to an operation it should not control. A capacity credential should not be available to the inference process at all. Record the result and repeat the test when scopes, service ownership or API integrations change.

Also test the failure path. A rejected request should not trigger an automatic retry against a more privileged key. Keep errors free of secrets, and avoid logging authorization headers or full credentials. When rotating a key, confirm that the intended service is using the replacement before retiring the old one.

Keep billing central, authority narrow

Separate API keys organize authority; they do not, by themselves, separate charges. Hostnot’s wallet authorization and pricing are handled server-side, so the platform’s authorized rate and wallet remain central to requests. Keep that distinction clear in your own tenant accounting: attribute requests to the service and tenant in your application, and do not present separate keys as proof of separate budgets.

The result is a simpler failure boundary. A compromised inference worker should not be able to manage capacity merely because it can call a model. A central controller can retain the capacity role, while each service gets only the access its task requires. Scoped API keys help only when you define those roles, check the actual scope behavior and test the denied calls.

More from Hostnot GPU News