Axonius — Access & Permission Requirements

This page lists everything the RegScale CLI's Axonius V2 integration (regscale axonius_v2) needs in order to run: the Axonius credentials and role permissions, the API endpoints it calls, network access, and the RegScale-side permissions.

The integration is read-only against Axonius. It never creates, modifies, or deletes anything in your Axonius tenant.


1. Axonius credentials

ItemWhere to get itHow it's used
Instance URLYour Axonius tenant address, e.g. https://mycompany.axonius.comConfigured as axoniusUrl. Supply the host only — the CLI appends /api itself.
API KeyAxonius → My Account → API KeySent in the api-key request header.
API SecretDisplayed alongside the API keySent in the api-secret request header. Shown only once — capture it when you generate it.

Axonius API keys are issued per user account and inherit that account's role permissions. There is no separate "API role."

Recommendation: create the key under a dedicated service account (for example svc-regscale) rather than a named person's account. This keeps the integration's access independently auditable, avoids breakage when staff change, and lets you revoke the key without affecting a real user.


2. Axonius role permissions to grant

The service account's role needs View (read) access only. Grant the following:

Axonius permissionWhy it's neededRequired for
Devices → View devicesRetrieves device/asset records; also used by the connection check that runs before every syncAlways required
Vulnerabilities → View vulnerabilitiesRetrieves vulnerability findingssync_findings, sync_all, sync_saved_queries
Tags → View tagsLists available tags and supports --tags filteringlist_tags, and any run using --tags
Saved Queries → View saved queriesResolves saved queries by namesaved-query mode and sync_saved_queries only

Permissions to withhold

The CLI never calls these APIs. Leaving them off limits the blast radius if the key is ever exposed:

  • Adapter configuration or adapter credential management
  • Starting or stopping discovery cycles
  • User management
  • Creating, editing, or deleting saved queries
  • Creating, editing, or deleting tags
  • Enforcement actions / enforcement sets
  • Any Write, Edit, or Delete permission on any object

3. Axonius API endpoints called

EndpointMethodEffectCalled by
/api/v2/assets/devicesPOSTRead — device querysync_assets, sync_all, sync_saved_queries
/api/v2/assets/vulnerabilitiesPOSTRead — vulnerability querysync_findings, sync_all, sync_saved_queries
/api/v2/assets/{type}/countPOSTRead — result countcount, and the pre-sync connection check
/api/v2/tagsGETRead — tag listlist_tags

POST here is still a read. Axonius accepts AQL query criteria in the request body, so retrieving assets and counts is done with POST. These calls do not create, modify, or delete any Axonius data.

Saved-query mode does not call a separate saved-queries endpoint — it filters the assets endpoint with an AQL expression of the form ("saved_query_name" == "<your query>"). The service account must still be permitted to see that saved query for Axonius to resolve it.

Axonius fields read

The integration reads standard aggregated fields under specific_data.data.*:

  • Devices: hostname, hostname_preferred, network_interfaces.ips, network_interfaces.ips_v6, network_interfaces.mac, os.type, os.os_str, serial_number, aws_device_type, azure_device_id, gcp_project_id, tags, last_seen
  • Vulnerabilities: cve_id, title, description, severity, solution, cvss_score, cvss_v2_score, plugin_id, plugin_name, associated_device_id, first_seen, last_seen

If your Axonius role uses field-level restrictions, make sure these fields are visible to the service account — otherwise assets and findings will sync with missing attributes.


4. Network access

FromToProtocol / Port
Host running the RegScale CLIYour Axonius instanceHTTPS / TCP 443

Outbound HTTPS only. No inbound connection to the CLI host is required, and Axonius never initiates a connection to RegScale.

If your Axonius tenant restricts API access by source IP, allow-list the egress IP of the host (or container/cluster) running the CLI.

TLS certificates

Certificate verification is on by default and is controlled by the top-level sslVerify key shared by every RegScale CLI integration — there is no Axonius-specific switch.

For an on-premise Axonius instance using an internal certificate authority, install the issuing CA in the CLI host's trust store, or point the top-level customCaCert key at your CA bundle. Do not set sslVerify: false — that disables verification for every integration, not just Axonius.


5. RegScale-side permissions

The RegScale user account whose API token is stored in init.yaml must be able to do the following within the target Security Plan (SSP):

CapabilityWhy
Read the Security PlanThe sync target is identified by SSP ID
Create and update AssetsDevices from Axonius become RegScale Assets
Create and update VulnerabilitiesAxonius vulnerability findings become RegScale Vulnerabilities
Create and update Issues, including closing themFindings raise Issues; resolved findings are closed automatically
Create Asset ↔ Vulnerability and Asset ↔ Issue mappingsLinks each finding back to the affected asset

As with Axonius, use a dedicated RegScale service account for the integration rather than a named user's token.


6. Configuration keys

Add the following to init.yaml on the host running the CLI. These are flat, top-level keys — do not nest them under an axonius: block.

axoniusUrl: "https://mycompany.axonius.com"
axoniusApiKey: "<your-api-key>"
axoniusApiSecret: "<your-api-secret>"
axoniusTimeout: 120
axoniusPageSize: 2000

# Shared by every integration, not Axonius-specific:
sslVerify: true
KeyTypeDefaultDescription
axoniusUrlstringAxonius instance URL. Required. (Legacy spelling axoniusHost is also accepted.)
axoniusApiKeystringAxonius API key. Required.
axoniusApiSecretstringAxonius API secret. Required.
axoniusTimeoutinteger120HTTP request timeout, in seconds
axoniusPageSizeinteger2000Records fetched per API page (maximum 2000)
axoniusSavedQueryConfigdict or listSaved-query to SSP mappings, for saved-query mode
axoniusStateDirstringartifacts/axoniusDirectory holding the incremental-sync state file
sslVerifybooleantrueTop-level, shared by all integrations. Verify TLS certificates
customCaCertstringTop-level, shared by all integrations. Path to a CA bundle for an internal certificate authority

Credential handling

  • axoniusApiKey and axoniusApiSecret are secrets. Protect init.yaml with restrictive file permissions, or supply the values through your platform's secret store or environment variables rather than committing them to source control.
  • The CLI redacts credentials from its logs and error output.

7. Verifying access

Once the credentials and permissions are in place, confirm connectivity before running a full sync:

# 1. Confirm the key can read tags (validates URL + credentials)
regscale axonius_v2 list_tags

# 2. Confirm the account can see devices, and check how many are in scope
regscale axonius_v2 count --asset-type devices

# 3. Dry run — fetches and counts records without writing anything to RegScale
regscale axonius_v2 sync_assets --regscale_ssp_id 100 --dry-run

Common permission errors

SymptomLikely cause
Axonius authentication failedWrong or revoked API key/secret, or the key belongs to a disabled account
Cannot reach Axonius at '<url>'Wrong axoniusUrl, firewall or egress rule blocking TCP 443, or a source-IP restriction on the tenant
TLS / certificate verification errorInternal CA not trusted by the CLI host — install the CA or set customCaCert
count returns 0, or a sync produces no recordsThe role lacks View devices / View vulnerabilities, or a tag/saved-query filter matches nothing
Saved-query mode returns nothingThe role lacks View saved queries, or the query name in the config does not match Axonius exactly

Summary checklist

  • Dedicated Axonius service account created
  • Role grants View on Devices, Vulnerabilities, and Tags (plus Saved Queries if using saved-query mode)
  • No Write, Edit, or Delete permissions granted
  • API key and secret generated and stored securely
  • Outbound HTTPS (TCP 443) allowed from the CLI host to Axonius
  • CLI host IP allow-listed in Axonius, if tenant restricts by IP
  • Internal CA installed or customCaCert configured, for on-premise instances
  • RegScale service account can create/update Assets, Vulnerabilities, and Issues in the target SSP
  • list_tags, count, and a --dry-run sync all succeed

Did this page help you?