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
| Realm | Use Case | Notes |
|---|---|---|
| Built-in | Local users, system-independent | Default realm for service accounts and operators |
| Linux PAM | Operating system users on the backup host | Useful for tightly-controlled admin access |
| LDAP | Centrally-managed directory | Includes group sync |
| Active Directory | Microsoft AD integration | Includes group sync and SSO via Kerberos |
| OpenID Connect (OIDC) | Single sign-on to a central IdP | Most common modern federation |
Configure LDAP
- Deployment Console
- CLI
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
Configure Active Directory
- Deployment Console
- CLI
Navigate to Realms > Add > Active Directory. Most fields
mirror LDAP. The key differences:
| Field | Active Directory Value |
|---|---|
| Server | ldap://ad.<your-domain> |
| User attribute | sAMAccountName |
| Default domain | <your-domain> |
| Group attribute | memberOf |
Configure OpenID Connect
For federated SSO to your central IdP:OIDC realm
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.| Role | Typical Use | Key Privileges |
|---|---|---|
| Admin | Platform administrator | All privileges on all paths |
| Audit | Read-only auditor | View configuration and audit logs |
| Datastore.Admin | Datastore owner | Manage datastores, namespaces, backups |
| Datastore.Backup | Project member | Create backups in a specific datastore |
| Datastore.Reader | Read-only | List and restore from a datastore |
| Datastore.Powered | Power operator | Backup + Restore + Prune (no datastore admin) |
| Datastore.Audit | Datastore auditor | View snapshots and audit trail; no read of chunk data |
| Tape.Admin | Tape operator | Manage media pools, tape jobs |
| Sys.Audit | System auditor | Read system configuration |
Grant a Role
Permissions are granted by combining (auth-id, role, path).| Component | Description |
|---|---|
| Auth-id | user@realm or user@realm!token-name for API tokens |
| Role | A built-in or custom role |
| Path | The scope — datastore, namespace, or / for global |
- Deployment Console
- CLI
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
API Tokens
API tokens are scoped, revocable credentials for automation. Each token has a unique secret that is shown only once at creation.- Deployment Console
- CLI
Choose token details
Set:
- Owner: the user the token acts as
- Token name:
backup-job(the token ID becomesuser@realm!backup-job) - Expiry: optional date or never
- Privilege separation: enable — token receives no roles automatically
Multi-Factor Authentication
Multi-factor authentication (MFA) applies to interactive logins. API tokens are not subject to MFA but should be tightly scoped.| Method | When to Use |
|---|---|
| TOTP | Time-based one-time passwords with any authenticator app |
| WebAuthn | Hardware security keys (YubiKey, Titan, etc.) |
| Single-use recovery codes | Backup access in case the primary factor is lost |
- Deployment Console
- CLI
Enforce MFA Platform-Wide
- Deployment Console
- CLI
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:| Setting | Default | Behaviour |
|---|---|---|
| Failed attempts before lockout | 8 | Per user |
| Lockout duration | 15 minutes | Auto-expires |
| TFA reset by admin | Permitted | Requires Admin role |
Audit Log
Every authentication, configuration change, and access grant is recorded in the audit log.| Source | Captured |
|---|---|
| Realm config | Create, update, delete |
| User config | Add, modify, remove, MFA changes |
| Token config | Create, delete, scope change |
| Role config | Create, update, delete |
| Permission grant | Add, remove |
| Failed logins | Username, source IP, timestamp |
- Deployment Console
- CLI
Open Access Control > Audit Log. Filter by user, action type,
or time range. Export as CSV for compliance reviews.
Recommended Permission Model
The pattern below scales to typical production deployments.| Role Grant | Audience | Path |
|---|---|---|
Admin | Platform admins | / |
Sys.Audit | Audit team | / |
Datastore.Admin | Datastore owner | /datastore/<ds> |
Datastore.Backup | Project members | /datastore/<ds>/<namespace> |
Datastore.Reader | Read-only viewers | /datastore/<ds>/<namespace> |
Tape.Admin | Tape operator | /system/tape |
Troubleshooting
`permission denied` on a path the user should have access to
`permission denied` on a path the user should have access to
Check the effective permissions:Then check the user’s roles:
LDAP group sync missing users
LDAP group sync missing users
Confirm the LDAP filter matches the expected group and that the sync
schedule has run. Re-run a sync manually:
TFA lockout for legitimate user
TFA lockout for legitimate user
Admin can unlock a user:
API token returns `unauthorized`
API token returns `unauthorized`
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
