Skip to main content

Overview

Ironcore Backup Solution (IBS) is restricted by default — newly created users and API tokens have no permissions until an administrator grants them. Access is governed by a role-based access control (RBAC) model with per-datastore and per-namespace permissions, supported by multiple authentication realms, multi-factor authentication, and revocable API tokens for automation. This page covers the full access control surface.
Prerequisites
  • Administrator role on the Polystack platform
  • For LDAP / Active Directory integration: a service account and connection details for the directory

Authentication Realms

RealmUse CaseNotes
Built-inLocal users, system-independentDefault realm for service accounts and operators
Linux PAMOperating system users on the backup hostUseful for tightly-controlled admin access
LDAPCentrally-managed directoryIncludes group sync
Active DirectoryMicrosoft AD integrationIncludes group sync and SSO via Kerberos
OpenID Connect (OIDC)Single sign-on to a central IdPMost common modern federation

Configure LDAP

Open Realms

Navigate to Backup Solution > Access Control > Realms.

Add an LDAP realm

Click Add > LDAP. Enter:
  • Realm name: corporate-ldap
  • Server: ldap://ldap.<your-domain>
  • Base DN: dc=polystack,dc=local
  • User attribute: uid
  • Bind DN: cn=ibs-svc,ou=services,dc=polystack,dc=local
  • Bind password: (service account password)

Enable group sync

Set:
  • Group base DN: ou=groups,dc=polystack,dc=local
  • Group filter: (objectClass=groupOfNames)
  • Sync schedule: daily 06:00

Test

Click Test. The Dashboard performs a probe bind and reports success.

Save

Click Save.
LDAP users can now log in. Group membership populates the @corporate-ldap realm.

Configure Active Directory

Navigate to Realms > Add > Active Directory. Most fields mirror LDAP. The key differences:
FieldActive Directory Value
Serverldap://ad.<your-domain>
User attributesAMAccountName
Default domain<your-domain>
Group attributememberOf

Configure OpenID Connect

For federated SSO to your central IdP:
OIDC realm
ironcore-backup realm create \
  --type openid \
  --realm corporate-sso \
  --issuer-url https://sso.<your-domain>/realms/corporate \
  --client-id ironcore-backup \
  --client-key /etc/ironcore/oidc-client-key.pem \
  --default-roles "Datastore.Reader@/datastore/ibs-primary/production"

Roles

IBS ships with a set of built-in roles. Each role is a named collection of privileges. Compose roles for the principle of least privilege.
RoleTypical UseKey Privileges
AdminPlatform administratorAll privileges on all paths
AuditRead-only auditorView configuration and audit logs
Datastore.AdminDatastore ownerManage datastores, namespaces, backups
Datastore.BackupProject memberCreate backups in a specific datastore
Datastore.ReaderRead-onlyList and restore from a datastore
Datastore.PoweredPower operatorBackup + Restore + Prune (no datastore admin)
Datastore.AuditDatastore auditorView snapshots and audit trail; no read of chunk data
Tape.AdminTape operatorManage media pools, tape jobs
Sys.AuditSystem auditorRead system configuration

Grant a Role

Permissions are granted by combining (auth-id, role, path).
ComponentDescription
Auth-iduser@realm or user@realm!token-name for API tokens
RoleA built-in or custom role
PathThe scope — datastore, namespace, or / for global
Open Access Control > Permissions > Add. Pick the user or token, the role, and the path.

Custom Roles

Compose roles for unusual access patterns:
Create a backup-only-no-restore role
ironcore-backup role create \
  --name BackupOnlyNoRestore \
  --privileges "Datastore.Backup,Datastore.AuditAudit-Log,Datastore.Audit"

API Tokens

API tokens are scoped, revocable credentials for automation. Each token has a unique secret that is shown only once at creation.

Open API Tokens

Open Access Control > API Tokens > Add.

Choose token details

Set:
  • Owner: the user the token acts as
  • Token name: backup-job (the token ID becomes user@realm!backup-job)
  • Expiry: optional date or never
  • Privilege separation: enable — token receives no roles automatically

Copy the secret

Copy the secret. It is shown only once.
The secret cannot be recovered after the dialog closes. Store it in a vault.

Grant scoped roles

Use Permissions to grant only the roles the token needs — for example, Datastore.Backup on one namespace and nothing else.
Use one API token per automation entry point (backup runner, monitoring exporter, sync orchestrator). Compromise of one does not require rotating the entire automation fleet.

Multi-Factor Authentication

Multi-factor authentication (MFA) applies to interactive logins. API tokens are not subject to MFA but should be tightly scoped.
MethodWhen to Use
TOTPTime-based one-time passwords with any authenticator app
WebAuthnHardware security keys (YubiKey, Titan, etc.)
Single-use recovery codesBackup access in case the primary factor is lost

Open My Account

Click your username > Account Settings > TFA.

Add a factor

Click Add Factor. Choose TOTP or WebAuthn.

Save recovery codes

Save the recovery codes in a secure location. Each code is single-use.

Enforce MFA Platform-Wide

Open Access Control > TFA Policy. Set Required to enforce MFA for every realm except API token logins.

Lockout Protection

IBS protects against brute-force attacks on MFA:
SettingDefaultBehaviour
Failed attempts before lockout8Per user
Lockout duration15 minutesAuto-expires
TFA reset by adminPermittedRequires Admin role

Audit Log

Every authentication, configuration change, and access grant is recorded in the audit log.
SourceCaptured
Realm configCreate, update, delete
User configAdd, modify, remove, MFA changes
Token configCreate, delete, scope change
Role configCreate, update, delete
Permission grantAdd, remove
Failed loginsUsername, source IP, timestamp
Open Access Control > Audit Log. Filter by user, action type, or time range. Export as CSV for compliance reviews.

The pattern below scales to typical production deployments.
Role GrantAudiencePath
AdminPlatform admins/
Sys.AuditAudit team/
Datastore.AdminDatastore owner/datastore/<ds>
Datastore.BackupProject members/datastore/<ds>/<namespace>
Datastore.ReaderRead-only viewers/datastore/<ds>/<namespace>
Tape.AdminTape operator/system/tape
Do not grant the global Admin role to API tokens used by jobs. Always scope tokens to the smallest required path.

Troubleshooting

Check the effective permissions:
ironcore-backup acl show --path /datastore/ibs-primary/production
Then check the user’s roles:
ironcore-backup user effective alice@polystack
Confirm the LDAP filter matches the expected group and that the sync schedule has run. Re-run a sync manually:
ironcore-backup realm sync corporate-ldap
Admin can unlock a user:
ironcore-backup user tfa unlock alice@polystack
The token may be deleted, expired, or scoped wrongly. Check:
ironcore-backup user token list --user alice@polystack
ironcore-backup acl show --auth-id "alice@polystack!backup-job"

Next Steps

Security and Encryption

Client-side encryption, ransomware protection, master keys

Notifications

Alert routing for failed logins and configuration changes

Audit Log

Audit trail of access and configuration events

Datastores

Per-datastore and per-namespace permissions