The identity an adapter runs as
Table of Contents
1. Summary
An adapter runs as a system service. It has a service identity, and that identity holds no tenant and no party. The market data service authenticates the adapter by its service token, and the adapter learns nothing about the parties it serves. A person never starts an adapter on behalf of a party.
2. Detail
2.1. Three questions, three owners
| Question | Owner | When it is asked |
|---|---|---|
| May this process be an adapter? | IAM, from the service identity | At announce |
| Which ids must it publish? | The market data service | At each demand request |
| Which party gets a value? | The market data service | At ingest, from the routes |
The adapter answers none of the last two. This is what keeps a tick free of tenant and party.
2.2. What a restart restores
The state of an adapter is its connection and its demand set. Neither is stored in the adapter. After a restart the adapter announces again. The service then sends the current demand set, and the adapter serves it. A restart needs no person and no stored consent.
2.3. The simulator
The simulator reads public fixings from the market data service to start and calibrate its generators. It reads them as the system tenant, with a service identity. No per-collection grant exists. Authoring a generator is a separate act of a person with the permission of the system tenant. See Generators belong to the system tenant and the system party.
2.4. Why no run grant
A run grant records that a person agreed that something acts in a tenant and party. An adapter acts in none, so there is nothing to agree.
3. Patterns used
- Scheduled Work Acting as a Tenant — contradicts: scheduled work needs a grant to act as a tenant, and an adapter acts as no tenant.
4. See also
- Market Data Architecture — the structure note that orders this cluster.
- An adapter and the service meet at four messages — completes: the messages the identity is checked for.
- Run grants and run tokens — contradicts: the grant model that an adapter does not use.