Authentication

Scope

System setting (global). This setting applies to the whole system and to every sensor. For conventions, abbreviations, and the other sections, see the Administration configuration reference.

Where: Administration → Configuration → System settings → Authentication

Control how users sign in. Choose local accounts, single sign-on (SSO), or both. Set the local password policy and the SSO providers.


Setting

What it does

Default

Allowed values

Notes

Auth Login Mode

Login mode selector (local_only, local_plus_sso, sso_only).

local_only

local_only, local_plus_sso, sso_only

Restart needed

Password Policy

Local username/password complexity and rotation policy. Applies only to local accounts; SSO identities are unaffected. This is a group of settings. See the sub-settings below.

(see the sub-settings)

group of settings

Providers

Configured OIDC/SAML providers. Enabling local_plus_sso or sso_only requires at least one enabled, valid provider. Capped at 16. This is a group of settings. See the sub-settings below.

list of groups

Restart needed

Public Base Url

Public base URL of the deployment (used to build SSO redirect/ACS URLs).

text

Restart needed

Default Redirect Path

Same-origin relative path to redirect to after a successful SSO login. Must start with a single '/'; absolute and protocol-relative URLs are rejected to prevent open redirects.

/dashboard

text; up to 512 characters

Restart needed

Cookie

SSO state-cookie settings. This is a group of settings. See the sub-settings below.

(see the sub-settings)

group of settings

Restart needed

Authentication: PasswordPolicyConfig sub-settings

Admin-configurable local-password complexity and rotation policy. on local user create / self password change / admin-triggered reset, and (for max_age_days) at login time. It applies only to local username/password accounts; SSO identities carry no local password and are unaffected.

Setting

What it does

Default

Allowed values

Notes

Min Length

Minimum password length. Capped at 72 to match the bcrypt byte limit.

12

number; 8 to 72

Require Uppercase

Require at least one uppercase letter.

On

on/off

Require Lowercase

Require at least one lowercase letter.

On

on/off

Require Digit

Require at least one digit.

On

on/off

Require Special

Require at least one special (non-alphanumeric) character.

On

on/off

Max Age Days

Maximum password age in days before rotation is forced at login. 0 disables expiry (passwords never expire).

0

number; 0 to 3650; unit: days

Prevent Reuse Count

Number of previous passwords that may not be reused. 0 disables history checks.

0

number; 0 to 24

Authentication: SSOProviderConfig sub-settings

A single external identity provider (oidc or saml). Common identity fields apply to both types. issuer_url/discovery_url/ client_id are OIDC-oriented; idp_metadata_*/sp_*/acs_url/ name_id_format are SAML-oriented. Unused fields for a given type are left at their defaults. Secret material (client_secret, sp_private_key) is modeled as pydantic.SecretStr following the ontology convention (see service_configs.py); SecretStr values are never serialized inline into the generated JSON schema. The public SP certificate is a non-secret string.

Setting

What it does

Default

Allowed values

Notes

Key

Stable provider key/slug (used in callback URLs and audit).

(empty)

text; up to 64 characters

Display Name

Human-readable provider name shown on the login page.

(empty)

text

Type

Provider protocol type (oidc or saml).

oidc

oidc, saml

Enabled

Whether this provider is active.

Off

on/off

Issuer Url

OIDC issuer URL (iss); used to validate ID tokens.

text

Discovery Url

OIDC discovery document URL (.well-known/openid-configuration).

text

Client Id

OIDC client ID registered with the provider.

text

Client Secret

OIDC client secret (secret; never serialized inline).

(empty)

text

Sensitive (hidden)

Redirect Url

OIDC redirect/callback URL registered with the provider.

text

Scopes

OIDC scopes to request.

["openid", "profile", "email"]

list of string

Idp Metadata Url

SAML IdP metadata URL.

text

Idp Metadata File

Path to a mounted SAML IdP metadata XML file (alternative to URL).

text

Sp Entity Id

SAML Service Provider entity ID.

text

Acs Url

SAML Assertion Consumer Service (ACS) URL.

text

Name ID Format

SAML NameID format.

emailAddress

emailAddress, persistent, transient, unspecified

Sp Private Key

SAML SP private key (secret; never serialized inline).

(empty)

text

Sensitive (hidden)

Sp Certificate

SAML SP public certificate (PEM; non-secret).

text

Username Claim

Claim/attribute mapped to the local username.

preferred_username

text

Email Claim

Claim/attribute mapped to the local email.

email

text

Groups Claim

Claim/attribute carrying the user's groups.

groups

text

Roles Claim

Claim/attribute carrying the user's roles.

text

Allowed Domains

Optional allow-list of email domains permitted to sign in.

list of string

Allowed Tenants

Optional allow-list of tenant IDs (e.g. Entra tenant) permitted to sign in.

list of string

Require Idp Mfa

Fail closed unless the IdP response satisfies MFA (amr/acr / AuthnContext).

Off

on/off

Mfa Acr Values

Required acr values / authentication methods when require_idp_mfa is set.

list of string

Idp Initiated Enabled

Allow IdP-initiated login (SAML). Off by default for security.

Off

on/off

Slo Enabled

Enable single logout (SLO) with this provider.

Off

on/off

Jit Enabled

Just-in-time provision local users on first successful login.

On

on/off

Auto Link Enabled

Automatically link SSO identities to existing local users by email.

Off

on/off

Sync Roles

Sync local roles from the provider's roles claim on each login.

Off

on/off

Sync Scopes

Sync local scopes/permissions from the provider on each login.

Off

on/off

Group Mappings

Ordered list of external IdP group/role -> local role/scope mappings, applied when sync_roles/sync_scopes is enabled. External values that match no mapping grant nothing (fail-closed), so the IdP can never inject an unmapped NDR role. Capped at 64.

list of groups

Default Role

Baseline local role granted to every user provisioned through this provider (JIT), independent of group mappings. Empty grants no baseline role. Group mappings can elevate above it (e.g. default 'user' with 'ndr-admins' -> 'admin').

text

Authentication: SSOCookieConfig sub-settings

Browser-binding state-cookie settings for the SSO login flow. Cookie attributes must be config-driven: OIDC top-level GET callbacks can use SameSite=Lax while SAML POST-binding ACS needs SameSite=None; Secure.

Setting

What it does

Default

Allowed values

Notes

State Cookie Name

Name of the SSO state/browser-binding cookie.

ndr_sso_state

text

Secure

Set the Secure attribute on SSO state cookies (required in production).

On

on/off

Same Site

SameSite for OIDC state cookies (Lax works for top-level GET callbacks).

lax

lax, strict, none

Saml Same Site

SameSite for SAML state cookies (None+Secure required for cross-site POST ACS).

none

lax, strict, none

State Ttl Seconds

Time-to-live for a pending SSO login state before it expires.

600

number; 30 to 3600; unit: seconds

Related: Users, groups, and RBAC



Back to the Administration configuration reference.