Give each person the access they need

Combine project RBAC, granular template permissions and identity-provider sign-in. Map groups to roles and add two-factor authentication for local accounts.

Task TemplatesStaging inventory report
Template permissions
RoleTemplate-only QA

Permissions

CANCEL
Enterprise preview. Choose a template permission, then Create to view the resulting row. Nothing is saved in Semaphore.

Not everyone needs the same access to automation

Engineers build jobs, other teams run them, and some colleagues only need the results. Giving everyone the same permissions either opens up too much or slows work down.

Choose who can configure, run or review

Use project roles for shared access. Add Enterprise permissions when a role should reach only selected jobs.

Job maintainersConfigure jobs
Job usersRun prepared jobs
ReviewersRead results

Set up team access and sign-in

Sign in through the directory you already run

Connect your existing identity system for sign-in. Semaphore project roles determine which resources and actions each person can access.

Local accounts

Sign in with a Semaphore username and password.

LDAP and Active Directory

Let people sign in with their existing directory credentials.

OpenID Connect

Connect Keycloak, Okta, Microsoft Entra ID, Authentik or another OIDC provider.

KeycloakOktaMicrosoft Entra IDAuthentik

JWT from a trusted proxy

Accept a signed identity token from your trusted authentication proxy.

Protect local sign-in with 2FA

Enable authenticator-app codes for local accounts, configure recovery and set a session lifetime. Users enrol their own second factor.

One-time password

An authenticator-app code adds a second factor at sign-in.

Recovery code

Allow recovery when the authenticator is unavailable.

Absolute session limit

Require a fresh sign-in after a configured maximum lifetime.

Project roles for everyday access

Assign built-in roles to project members without configuring every permission from scratch. A person can hold multiple roles, with their permissions combined.

Production operations Team with named engineers and their assigned project roles
Semaphore New Role form for Maintenance Runner, with individual project permissions available for selection

Create roles for your team

In Enterprise, define a custom role around a team’s responsibilities. Choose the actions it can perform instead of giving everyone the same broad access.

Limit a role to selected tasks

Give a custom role access to specific Task Templates instead of every job in the project. Allow task execution while keeping template editing separate.

The same approach applies to Workflows, with separate permissions to run, edit and approve.

Maintenance Runner receives Can run tasks on Validate Frankfurt services, while Can update the template stays unchecked

Let the team run prepared operations

Delegate a prepared job

Let a colleague run the operation with its saved configuration.

Task templates

Keep the execution record

Inspect who started a manual run and how it finished.

Run history & logs

Define who can view, run and change automation

Prepare the operation before narrowing the role

A delegated job is a Task Template that already carries its repository, inventory and credential references. Build and test it first, then create the role that may run it. Sign in with a representative account and confirm both halves of the result: the intended task starts, and a second one is not available.

Approving a workflow step is its own permission

Workflow grants cover viewing, running, editing and approving. Approval is separate from running, so you can decide whether the person who starts an operation is also the person who releases its waiting stage. Assign the two permissions deliberately rather than together by default.

Group mappings apply at the next sign-in

An Enterprise group mapping connects an OIDC group with a role in a Semaphore project, using the groups claim the provider sends. Semaphore refreshes the mapped roles when the person signs in. Removing someone from a directory group does not end the session they are already holding, so plan revocation around that timing.

Keep a local administrative recovery path

When daily sign-in depends on an external provider, keep one tested local administrator account alongside it. Record who owns it and where its credentials are held, and exercise the path before an outage. Afterwards, review the access that was granted during recovery so a temporary change does not become permanent.

Individual grants cover Task Templates and Workflows

Selected-object permissions apply to those two objects. A single inventory, repository, variable group or Key Store entry is not governed that way; those sit under the project-wide permissions and under the project boundary itself. Verify any requirement that depends on narrower resource control before building a process on it.

Permissions from every assigned role add together

A team member can hold several roles at once, built-in and custom, global and project-level. Their effective access is the union of all of them, so a broad role assigned elsewhere can undo a carefully narrowed one. Read the complete set before you rely on a restriction.

FAQ

How are authentication and project permissions different?

Authentication establishes which user is signing in, through a local account or a supported external identity system. Authorization determines which projects and actions that Semaphore user can access. Enabling SSO does not by itself assign the correct operating role. Design the two together: confirm identity linking, add the intended project membership, and test the actual actions available to a representative account before delegating an operational task.

Can a Task Runner execute only one selected template?

The built-in Task Runner role can run every template in its project. To delegate only selected jobs, use an Enterprise custom role with grants on the chosen Task Templates and Workflows and no project-wide run permission. Permissions from all assigned roles add together, so a broader role held alongside it can still let the person run other templates.

Can a custom role be limited to selected Task Templates and Workflows?

Yes. An Enterprise custom role combines project-wide permissions with grants on individual objects. Leave the project-wide permissions off and add only the Task Templates and Workflows the role is for, choosing view, run or edit on each, plus approve on a Workflow. A global role is defined once and reused across projects; a project role stays inside the project that created it. Users can hold several roles and their permissions are additive, so review the complete set when restricting access to sensitive automation.

Can permissions be restricted to one inventory or credential entry?

Individual-object granularity applies to Task Templates and Workflows. Do not assume a project-wide permission to manage inventories, repositories, variable groups, or Key Store entries can be narrowed to one of those objects. Use project boundaries and the available role model deliberately when separating operational responsibilities. If your access design depends on another kind of resource-level restriction, verify that exact requirement before relying on it in production.

Can Semaphore use LDAP, Active Directory, OIDC or JWT sign-in?

The documented authentication options are local accounts, LDAP and Active Directory, OpenID Connect, and JWT passed from a trusted reverse proxy, with availability shown in the current plan comparison. An externally authenticated user still has a Semaphore user record and needs the intended project access. Check provider identifiers and account-linking behaviour before changing an existing setup. Do not assume that enabling an identity provider automatically maps all directory groups to the roles your authorization design requires.

How should we recover if the identity provider is unavailable?

Maintain a tested local administrative recovery path alongside the external authentication configuration. Document who owns it, where the required credentials are held, and how access is exercised during an outage. Test the process before an incident rather than discovering that every administrator depends on the same unavailable provider. After recovery, inspect the relevant account and project access so temporary operational changes do not become unintended permanent permissions.

Can colleagues run jobs without editing the playbook or template?

Yes. The built-in Task Runner role can run project templates while leaving other resources read-only. For access to selected jobs, use an Enterprise custom role with grants on those Task Templates and Workflows. Check all roles assigned to the member, because permissions are additive. A prepared Task Template keeps the execution setup available for the team.

Can someone review results without being allowed to start tasks?

The Guest role gives read-only project access. A guest can inspect project information and task results without running tasks or changing settings. Add the person to the appropriate project team and review their other roles as well. A broader role assigned alongside Guest can grant additional permissions.

Can identity-provider groups assign project roles automatically?

Enterprise group mappings associate an OIDC provider group with a role in a Semaphore project. Configure the groups claim in the provider and add a mapping for the intended project and role. Semaphore refreshes these assignments when the person signs in through that provider, so changes are applied at the next sign-in rather than immediately to an existing session.

Can I protect local accounts with two-factor authentication?

Yes. Enable TOTP in the server configuration so users can enrol an authenticator app for their local account and enter its time-based code after the password. Enrolment produces a recovery code for the sign-in where the authenticator is unavailable. Enabling the option does not force every account to enrol, so treat adoption as a process. The same configuration area sets an absolute session limit, which ends a session after a fixed lifetime regardless of activity.