
Bacularis is a multi-user application that provides control over how users authenticate and how they access the web interface, API hosts, and Bacula resources. In this article, we present Bacularis features related to authentication and access control, together with examples of how they can be used in an organizational environment.
These mechanisms determine who can access Bacularis and which API hosts, interface areas, and Bacula resources a user is allowed to access.
This article is intended for system administrators considering integrating Bacularis with their organization's backup infrastructure.
Below are some selected features that are useful when configuring multi-user access to Bacularis.
| Capability | Typical use |
|---|---|
| Local Bacularis users | Centrally manage users directly in the web interface |
| LDAP authentication | Use existing user accounts from an LDAP directory |
| OpenID Connect and Identity Providers | Use authentication provided by an external IAM system |
| User provisioning | Automatically create Bacularis accounts with default permissions for new users |
| MFA (Multi-Factor Authentication) with TOTP and FIDO/U2F | Strengthen authentication with software or hardware authentication methods |
| Capability | Typical use |
|---|---|
| User / identity role mapping | Use existing IAM roles and map them to roles in Bacularis |
| RBAC (Role-Based Access Control) | Assign access through custom roles and assign those roles to users |
| API host access | Give users access only to selected Bacularis API hosts |
| Access to selected Bacula resources | Allow users to access only the Bacula resources assigned to them |
| Separation of administrators and backup operators | Divide permissions according to user responsibilities |
| Monitoring-only accounts | Provide read-only access to the interface without allowing configuration changes |
An organization can use local Bacularis accounts without integrating Bacularis with an external identity system. In this scenario, local accounts are managed and used entirely within the Bacularis interface, without any external integration.
This is the default configuration after a new Bacularis installation. User roles, API host permissions, and access to Bacula resources can be assigned to local users and managed directly from the Bacularis web interface.
| User | Role | API hosts |
|---|---|---|
| Administrator | Admin | Main, Storage XYZ |
| Backup operator | Operator | Main |
| Regular user | Normal, JobsOnly | Host ABC |
Details: Local user documentation
An organization that already uses an LDAP directory can allow users to log in to Bacularis with their existing organizational accounts.
LDAP accounts can be imported into Bacularis. For users who do not yet have a corresponding local Bacularis account, the administrator can define the behavior: deny access, use default permissions, or automatically create an account.
Details: LDAP users documentation
Bacularis can be integrated with user authentication systems that support the OpenID Connect (OIDC) protocol. These may include IAM systems and other identity providers that support OIDC.
This allows users to sign in to Bacularis using their existing organizational identity. With Single Sign-On support, users can authenticate once and then access Bacularis together with other organizational applications configured to use the same SSO environment.
Details: SSO OIDC documentation
User provisioning is useful for organizations that want to provide Bacularis access to many users defined in an external identity management system. This removes the need for an administrator to create each Bacularis account manually.
When a user signs in and their Bacularis account does not yet exist, the account can be created automatically with default permissions defined by the administrator. These settings can include assignment to a Bacularis organization, selected roles, and API hosts.
The administrator can later adjust individual accounts as needed.
Details: User provisioning documentation
Bacularis supports Multi-Factor Authentication (MFA), including time-based authentication methods such as TOTP and hardware U2F security keys.
Each user with access to Bacularis can configure an additional authentication factor in their account settings using an authenticator application for TOTP or a hardware U2F key.
| MFA method | Authentication tool |
|---|---|
| TOTP | Desktop or mobile authenticator applications, such as Google Authenticator, Authy, and others |
| U2F | Hardware FIDO/U2F security keys |
Details: MFA documentation
IAM systems typically define different roles assigned to users. When configuring integration between such a system and Bacularis, the administrator can decide whether to use roles from the IAM system or local Bacularis roles.
When IAM roles are used, the administrator can create mappings between IAM roles and Bacularis roles. The mapping can be one-to-one or one-to-many.
This allows changes to user roles in the IAM system to be reflected in the permissions assigned to users in Bacularis.
| IAM role | Bacularis roles |
|---|---|
| Administrator | Admin |
| Manager | mgnt |
| User | normal, regular |
| Operator | op, sysop |
Details: Role mapping documentation
Bacularis uses roles to determine which areas of the web interface a user can access. Administrators can create roles and assign permissions to specific areas of Bacularis.
For example, a backup administrator role can provide full access to Bacula-related pages while excluding areas responsible for Bacularis configuration.
A backup storage operator role can provide access to Pools and Storage while excluding Jobs, Clients, and other areas.
For regular users, an administrator can create a role that provides access only to Bacula jobs and restore functionality.
Roles make it possible to manage access to individual areas of the interface in a flexible way. When a user is removed from a role, they lose access to the areas granted by that role. A user can have one or multiple roles assigned.
| Pages | Role | User |
|---|---|---|
| Job list, Job view | JobsOnly | john |
| Dashboard, Client list, Client view | Clients | megan |
| Pool list, Storage list | TapeOperator | bill |
Details: Role-Based Accses Control documentation
An organization may want to allow employees to restore data from their own computers.
For example, if an employee loses data by accidentally deleting a file, they can sign in to Bacularis and quickly restore a selected version of the lost file directly to their workstation.
In Bacularis, this can be configured using Bacula Console ACL resources. This means that Bacula's native access-control mechanisms determine which Bacula resources each user is allowed to access.
Users can therefore be given access to selected Jobs, Clients, Pools, Storage resources, and other Bacula resources.
| API host | Bacula resources | Account |
|---|---|---|
| Main | Job ABC, Job DEF, Client serverxx-fd | trevor |
| XYZ | Job DEF, Client serverxx-fd, FileSet BBB | sara |
| ServerB | Storage XXX, Pool YYY, Pool ZZZ | greg |
Details: Bacula resource access documentation
In some organizations, certain users should have read-only access to Bacularis.
These may include operators, monitoring staff, auditors, or other users who need visibility into the backup environment without being allowed to modify Bacula configuration.
Bacularis can configure configuration access as read-only, read-write, or no access. These permissions can be defined for individual Bacula resource types, such as Pools, Jobs, or Storage, or more broadly for entire Bacula components.
This allows selected users to sign in to Bacularis and safely view or retrieve the information they need without being able to make unauthorized configuration changes.
| User | Resource | Mode |
|---|---|---|
| albert | Job, Client, Storage, Pool, FileSet, Schedule | read-only |
| frank | Job, Client | read-write |
| frank | Storage, Pool | read-only |
| frank | Schedule | no access |
Details: Resource access documentation
| Access level | Controls |
|---|---|
| Bacularis roles | Areas and functions of the web interface |
| API host access | Bacularis API hosts available to the user |
| Bacula Console ACL | Bacula resources visible to the user |
| Resource permissions | Read-only, read-write, or no configuration access |
Access control mechanisms in Bacularis operate at several levels.
An organization can choose how users authenticate, assign roles to them, limit their access to selected API hosts, and control access to specific Bacula resources.
In addition, configuration permissions can be set to read-only, read-write, or no access.
This makes it possible to adapt Bacularis access to different groups of users and different areas of responsibility within an organization.