Advanced Agent Authentication

This part of the documentation is only intended in the context of a supported PoC (Proof of Concept) together with the Steadybit team. Please, book an appointment to scope your PoC before continuing to evaluate the on-prem solution.
If you just want to try out Steadybit, we recommend you sign up for our SaaS platform.

Agent authentication using agent-key

By default, the agents are authenticating using the configured agent-key. This key is global and all the same for all agents of your organization.
In case your agent key got compromised and you need to rotate the agent key, contact our support.

Agent Authentication using OpenID Connect

If you want to have more security controls, you can use OIDC for the agent authentication instead of the agent key. This requires a OIDC identity provider (e.g. Keycloak).
For each request to the platform the agent will use an access token which was issued by the identity provider. The platform verifies the token.

Platform Configuration

To instruct the platform to validate all incoming agent requests against a specific identity provider, set STEADYBIT_AUTH_AGENT_PROVIDER=OAUTH2 and the STEADYBIT_AUTH_AGENT_OAUTH2_ISSUER_URI to the issuer URI of your identity provider.
All options are described in Platform Configuration Options.

Agent Configuration

To tell the agent to use OIDC, set STEADYBIT_AGENT_AUTH_PROVIDER=OAUTH2, STEADYBIT_AGENT_AUTH_OAUTH2_ISSUER_URI to the issuer URI of your identity provider and the STEADYBIT_AGENT_AUTH_OAUTH2_CLIENT_ID to the client id to use. Alternatively instead of using the issuer URI you can directly configure the STEADYBIT_AGENT_AUTH_OAUTH2_TOKEN_URI to tell the agents where to get the access tokens from, this won't try to read the OIDC discovery endpoint.
All options are described in Agent Configuration Options.

Using client credentials flow

To use the client credentials flow you need to set the STEADYBIT_AGENT_AUTH_OAUTH2_CLIENT_SECRET to the client secret.

Using password flow (with credentials or mutual TLS)

For using username and password set STEADYBIT_AGENT_AUTH_OAUTH2_AUTHORIZATION_GRANT_TYPE=password and provide a username and password with STEADYBIT_AGENT_AUTH_OAUTH2_USERNAME and STEADYBIT_AGENT_AUTH_OAUTH2_PASSWORD.
For using mutual TLS specify PEM-files containing a X.509 certificate and a PKCS#8 private key by setting STEADYBIT_AGENT_AUTH_OAUTH2_CLIENT_CERT_KEY_FILE and STEADYBIT_AGENT_AUTH_OAUTH2_CLIENT_CERT_CHAIN_FILE. In case the key is encrypted you can specify the password using STEADYBIT_AGENT_AUTH_OAUTH2_CLIENT_CERT_PASSWORD. The agent will re-load the certificates when the file changes automatically, but it might take up to ten seconds.