Skip to main content

Scanning

Scanning is the core function of OrbisID. Scan policies define which systems to scan, when, and how to classify the accounts discovered.

How Scanning Works

  1. A scan policy is triggered (manually or on schedule)
  2. The orchestration service creates a scan execution and dispatches jobs for each system
  3. Each system is scanned using the appropriate scanner for its OS type
  4. Discovered accounts and entitlements are stored in the database
  5. Policy rules evaluate each account to assign privilege levels and classifications

Scan Policies

A scan policy groups systems together and defines when they should be scanned.

Creating a Scan Policy

  1. Navigate to Scanning
  2. Click Create Policy
  3. Fill in the fields:
FieldRequiredDescription
NameYesDescriptive name for the policy
DescriptionNoOptional notes about the policy's purpose
Schedule TypeYesWhen the policy runs (see below)
SystemsYesWhich systems to include

Schedule Types

TypeDescriptionEdition
On DemandManual trigger onlyCommunity+
DailyRuns once per day at a configured timePro+
WeeklyRuns once per week on a configured day and timePro+
MonthlyRuns once per month on a configured day and timePro+
QuarterlyRuns once per quarterPro+

The Community edition only supports on-demand scanning. Pro allows 1 scheduled policy. Enterprise allows unlimited.

Adding Systems to a Policy

  1. Open a scan policy
  2. Click Add Systems
  3. Select one or more systems from the list
  4. Click Confirm

Systems with a scan priority of -1 are automatically excluded from policy execution but can still be scanned individually via Scan Now on the Systems page.

Within a policy, systems are scanned in priority order (lowest number first).

Running a Scan

Manual Scan

  1. Navigate to Scanning
  2. Find the policy you want to run
  3. Click Scan Now

Scheduled Scan

Scheduled policies run automatically at their configured time. No manual intervention is required.

Single System Scan

You can also trigger a scan for a single system from the Systems page by clicking Scan Now on that system. This bypasses the scan priority setting (including -1 excluded systems).

Scan History

Navigate to Scanning > History to view all scan executions.ß

Each execution shows:

ColumnDescription
PolicyThe scan policy name
StartedWhen the scan began
CompletedWhen the scan finished
StatusQUEUED, RUNNING, COMPLETED, FAILED, or CANCELLED
SystemsNumber of systems scanned

Scan Statuses

StatusMeaning
QueuedWaiting to start
RunningCurrently executing
CompletedFinished successfully
FailedEncountered errors (check logs for details)
CancelledStopped by a user

Viewing Scan Logs

Click on any scan execution to view its detailed logs. Logs include:

  • Connection attempts and results
  • Number of accounts discovered per system
  • Entitlement enumeration details
  • Policy rule evaluation results
  • Errors and warnings

Each log entry has a severity level (INFO, WARN, ERROR) and a timestamp.

Stopping a Running Scan

Click Stop on a running scan to cancel it. Systems that have already been scanned retain their results. Systems not yet scanned are skipped.

Policy Rules

Policy rules determine how discovered accounts are classified. They use Spring Expression Language (SpEL) to evaluate account attributes.

Navigate to Configuration (Administrator role required) to manage policy rules.

How Rules Work

Each policy rule has:

FieldDescription
NameDescriptive name
ConditionA SpEL expression that evaluates to true or false
Privilege LevelThe level assigned if the condition is true (e.g., PRIVILEGED, NON_PRIVILEGED)
Account TypeThe classification assigned (HUMAN, NON_HUMAN)
PriorityOrder of evaluation (lower = evaluated first)
EnabledWhether the rule is active

Rules are evaluated in priority order. The first matching rule determines the account's classification.

Available SpEL Variables

These variables are available in rule conditions:

VariableTypeDescription
usernameStringThe account's username
displayNameStringThe account's display name
groupsList<String>Group memberships
enabledBooleanWhether the account is enabled
lastLogonDateLast logon timestamp
systemTypeStringThe system type (DIRECTORY_SERVICE, SERVER, etc.)
osTypeStringThe OS type (ACTIVE_DIRECTORY, LINUX, etc.)
attributesMapAdditional key-value attributes from the scan

Example Rules

Domain Admins are Privileged:

groups.contains('Domain Admins') or groups.contains('Enterprise Admins')

Service accounts are Non-Human:

username.startsWith('svc_') or username.startsWith('SVC_')

Disabled accounts are Non-Privileged:

enabled == false

Linux root is Privileged:

osType == 'LINUX' and (username == 'root' or groups.contains('sudo') or groups.contains('wheel'))

SQL Server sysadmin is Privileged:

osType == 'SQL_SERVER' and groups.contains('sysadmin')

Testing Rules

Use the Test Rule feature to evaluate a SpEL expression against sample data before saving it. Enter the expression and a sample account, and the system will show whether the rule matches.

Built-in Rules

OrbisID ships with a set of default policy rules that cover common privileged access patterns. These can be modified or disabled as needed.

A Policy Rule Catalogue is available showing pre-built rule templates that you can add with one click.