Open
Description
@thomasmitchell raised this concern in a discussion we had offline; moving it here so that we can discuss.
Prospective agents should not identify the tenant they wish to be owned by through tenant ID, as this has been considered a fairly public token. There should be a new private agent token provisioned to identify the tenant.
Consider a system where keys are provisioned ahead of time by the SHIELD core for authentication, per agent, by a tenant. This is simpler than a whitelist system, provides a source of unique identification regardless of naming, and allows for easy transfer of tenant ownership. The agent then does not need to generate its own key.
Downsides are:
- the core must be deployed before all agents
- runtime config agent deployments become impossible
- randomly provisioned kubernetes agents become difficult (but they already are cumbersome through the proposed system).