For your security & risk team. How BareMetalRT authenticates enterprise users, maps them to least-privilege roles, provisions/deprovisions them, and how it all runs on-prem or air-gapped. Off by default
One standards-based RP/SP covers every compliant IdP — no per-vendor SDK.
| Protocol | IdPs | Status |
|---|---|---|
| OIDC (primary) | Okta, Microsoft Entra ID, Auth0, PingOne, Keycloak, ADFS, Google Workspace | Authorization Code + PKCE |
| SAML 2.0 | Okta, Entra ID, PingFederate, ADFS, Keycloak, OneLogin | SP-initiated, signed assertions |
| SCIM 2.0 | Any IdP with a SCIM connector | Users + Groups, auto-deprovision |
issuer + client_id + client_secret; endpoints are
auto-discovered from /.well-known/openid-configuration.state (CSRF) and nonce (replay), held in a
short-lived HttpOnly transaction cookie and verified on callback.alg=none and
HMAC algorithms are explicitly rejected — no algorithm-confusion bypass.Group/role claims from the IdP token map to three app roles via admin-configured rules (highest match wins; unmatched users get the default role):
| Role | Can |
|---|---|
| admin | Everything: audit log, connector connect/disconnect, admin & SSO settings |
| user | Normal product use (default) |
| viewer | Read-only: no connector-connect, no admin settings |
The role is stored on the user, carried in the session, and enforced server-side
(require_role()) on the audit view, connector-connect, and admin/SSO settings.
/scim/v2/Users and /scim/v2/Groups (create / read / update / deactivate),
plus /ServiceProviderConfig for IdP discovery.active:false (PATCH/PUT) or DELETE both flag the
user inactive and revoke all their sessions, so access is cut even if a cookie is still live.
The auth middleware also fails closed for inactive users.sessions table + one HttpOnly, Secure, SameSite=Lax cookie.
No parallel identity store.| Deployment | RP/SP host | IdP |
|---|---|---|
| Hosted | BareMetalRT orchestrator (your tenant) | Your cloud IdP (Okta/Entra/Auth0/Ping) |
| On-prem | Orchestrator on your servers | On-prem Keycloak / ADFS |
| Air-gapped | Orchestrator inside the enclave | Keycloak/ADFS inside the enclave; OIDC discovery + JWKS and SAML cert all resolve internally — no outbound internet |
GPU inference always stays on hardware you own; identity is the only added integration, and it points at infrastructure you control.