01 · Keys
Shared keys in chat and wikis
The pilot team pastes a key into Slack. Within a month nobody can say which applications call the resource, and rotation means an outage.
Governance
Azure OpenAI Entra governance means every call runs as a named identity already in your directory, with app registrations security can list and revoke. Pexon puts identity and the sanctioned path in place before more teams get keys, so shadow Azure OpenAI traffic stops being the default for industrial estates.
What breaks first
01 · Keys
The pilot team pastes a key into Slack. Within a month nobody can say which applications call the resource, and rotation means an outage.
02 · Apps
Each new workload creates another registration. Security cannot list them, works councils cannot scope them, and revoke becomes a rumour.
03 · Shadow
When the sanctioned path is slow, people open Azure OpenAI under a personal subscription. The corporate policy still fails — only quieter.
Azure OpenAI sits inside a subscription you already govern. The missing piece is usually not another product — it is binding every call to an Entra identity that already exists, with managed identities for services and groups for people, so the same directory that protects SharePoint and SAP also protects the model.
That is also how you prove a denial: if the assistant can read a file its caller cannot, the identity model is wrong, and no content filter will fix it.
Trade-off
Tight identity slows the first demo by a few days. Loose identity slows every quarter after that, when rotation, audit and a works-council question arrive together. If you have one internal tool and one named owner, you can wait — add this when the second team asks for access.
Because every use case that ships without a named identity becomes another ungoverned consumer of the same quota. Fixing identity after five teams hold keys means five redeployments; fixing it first means each new team inherits the same pattern.
Every request assumes an Entra group, managed identity or app registration that already exists in your directory, with a denied call proving the assistant cannot read what its caller cannot read. A shared API key in a wiki fails that test.
Discovery first from traffic and subscription inventory, then one sanctioned path that is easier than the workaround. Prohibition alone moves the traffic to personal tenants you cannot audit.
No. Entra decides who may call; a gateway decides budgets, routing and audit logging across models. Many programmes need both, and the gateway page under Claude covers the shared routing layer when you also run other providers.
Next step
A two-week blueprint at €4,900. We inventory app registrations and Azure OpenAI consumers, define the Entra pattern, and leave you with a sanctioned path the next team can join without inventing a new key.