Documentation Index
Fetch the complete documentation index at: https://docs.airmdr.com/llms.txt
Use this file to discover all available pages before exploring further.
Purpose
The BeyondTrust integration enables AirMDR to connect with BeyondTrust APIs and retrieve relevant access, session, audit, and security event information. This helps SOC teams investigate privileged access activity, correlate incidents, and automate response actions from AirMDR playbooks.Supported Versions
| Component | Supported Version |
|---|---|
| BeyondTrust Remote Support | Supported |
| BeyondTrust Privileged Remote Access (PRA) | Supported |
| BeyondTrust BeyondInsight | Supported |
| BeyondTrust Password Safe | Supported |
| Deployment Models | Cloud & On-Premises |
| Authentication Method | OAuth 2.0 |
| AirMDR Integration Type | API-Based |
Menu names may vary slightly depending on your BeyondTrust deployment version.
Authentication
AirMDR uses OAuth 2.0 authentication to securely connect to BeyondTrust APIs.| Credential | Description | |
|---|---|---|
| Base URL | BeyondTrust tenant URL or appliance URL | https://company.beyondtrustcloud.com |
| OAuth Client ID | Unique client identifier generated for the API account | e52a9aa6*****3a40601a736b230a1bebcd1 |
| OAuth Client Secret | API Client Secret generated for the API account | *************** |
Role-Based Access Considerations
- Create a dedicated API account specifically for AirMDR.
- Follow the Principle of Least Privilege.
- Avoid using personal administrator accounts.
- Periodically rotate OAuth credentials.
- Store secrets securely.
BeyondTrust Integration Setup Steps
Log in to BeyondTrust Admin Console
- Open a supported browser.
- Go to the BeyondTrust admin URL:
https://<your-beyondtrust-domain>/login - Sign in with an administrator account.
Admin privileges are required to create or edit API accounts.
Identify the Base URL
- In the browser address bar, copy the BeyondTrust domain.
- Remove
/loginfrom the URL. - Use the remaining value as the Base URL.
Example:
Login URL:https://company.beyondtrustcloud.com/login
Base URL:https://company.beyondtrustcloud.comUse this Base URL while configuring the BeyondTrust integration in AirMDR.
Open API Configuration
- From the left navigation menu, select Management.
- Open the API Configuration tab.
- Confirm that API access is enabled.
For Remote Support or Privileged Remote Access deployments, ensure the required API options are enabled based on the AirMDR use case.If API access is disabled, AirMDR cannot authenticate or retrieve data from BeyondTrust.
Create a New API Account
- In API Configuration, click Add or Create New API Account.
- Enter a clear account name. For Example:
AirMDR Integration API Account. - Enable the API account.
- Select the required API permissions.
- Avoid selecting full access unless it is explicitly required and approved.
- Click Save.
Copy the OAuth Client ID
- Open the newly created API account.
- Locate the OAuth Client ID field.
- Copy the value.
- Store it securely for AirMDR configuration.
**Example: **
OAuth Client ID:
<generated-client-id>
Integration Credential Requirements
Use the following values in the AirMDR integration configuration screen:| AirMDR Field | BeyondTrust Value | Description |
|---|---|---|
| Base URL | BeyondTrust Instance URL | The root URL of your BeyondTrust tenant or appliance. Example: https://company.beyondtrustcloud.com |
| OAuth Client ID | OAuth Client ID | The unique identifier generated for the BeyondTrust API account. |
| OAuth Client Secret | OAuth Client Secret | The secret generated for the BeyondTrust API account and used for OAuth authentication. |
Where to Obtain These Credentials
| Credential | Location in BeyondTrust |
|---|---|
| Base URL | Browser address bar after logging in to BeyondTrust (remove /login if present). |
| OAuth Client ID | Management → API Configuration → API Account → OAuth Client ID |
| OAuth Client Secret | Management → API Configuration → API Account → Generate New Client Secret |
The OAuth Client Secret may only be displayed once when generated. Store it securely in a password vault or secret management solution before proceeding with the AirMDR configuration.
Validate Connectivity
Use the following command to verify connectivity and token authentication:Sample cURL Request
Sample cURL Request
Sample Response
Sample Response
“access_token”: “eyJhbGciOiJIUzI1NiIs…”,“token_type”: “Bearer”,“expires_in”: 3600
Configure BeyondTrust in AirMDR Integrations Dashboard
- Navigate to AirMDR, provide the credentials and click Login
- Navigate to the AirMDR Integrations Dashboard in the left navigation pane and select Integrations.
- Use the search option, enter the keyword “Gravwell”, select the Connections tab, and click + Create button.
- Enter an unique name to the Instance (e.g.,
your org name-Gravwell) to easily identify the user connection by AirMDR. - Enter the application credentials like Instance URL and Token in the Authentication Details field params, and click Save.
Skills provided by this Integration
| Skill ID | Purpose |
|---|---|
| Get Gravwell Ingesters state | Get the state of ingesters in gravwell instance. |
| Gravwell Execute Query for Detections | This skill executes queries on Gravwell instances for detection purposes. It supports custom search strings and time duration filters to retrieve security logs and events for analysis. |
| Execute Gravwell Query | Execute a query in Gravwell. |
Additional Information
🧰 Error Handling
🧰 Error Handling
| Error | Possible Cause | Resolution |
|---|---|---|
401 Unauthorized | Invalid, expired, or copied incorrectly token | Generate a new token and update AirMDR. |
403 Forbidden | Token does not have required permissions | Add required search/read permissions. |
404 Not Found | Incorrect Instance URL or API path | Verify the base URL and endpoint. |
TLS certificate error | Self-signed or untrusted certificate | Use a trusted certificate or configure certificate validation as per internal policy. |
Connection timeout | Network/firewall issue | Check connectivity from AirMDR or remote agent. |
Query parse failed | Invalid Gravwell query syntax | Validate query in Gravwell UI first. |
No data returned | Incorrect tag, time range, or permission issue | Confirm tag access and query scope. |
🔄 Monitoring & Logs
🔄 Monitoring & Logs
Where to Check
| Location | Purpose |
|---|---|
| AirMDR Integration Status | Validate connection status and integration health. |
| AirMDR Playbook Execution Logs | Review API call failures or query errors. |
| Gravwell API Token Page | Check token status and expiration. |
| Gravwell Webserver Logs | Troubleshoot authentication or API errors. |
INFO Gravwell integration validation completed successfully.INFO Tags retrieved from Gravwell instance.Sample Failure LogERROR Gravwell API request failed.ERROR Status Code: 401 Unauthorized.ERROR Reason: Invalid or expired token.\Recommended Log Levels| Log Level | Usage |
|---|---|
| INFO | Successful connection, validation, and query execution. |
| WARN | Slow response, partial data, or expiring token. |
| ERROR | Authentication failure, timeout, SSL failure, or invalid endpoint. |
| DEBUG | Use temporarily during troubleshooting only. |
🛑 Security & Access Best Practices
🛑 Security & Access Best Practices
Do
- Use a dedicated Gravwell token for AirMDR.
- Grant only required permissions.
- Set token expiration where possible.
- Store the token in a secure vault.
- Use HTTPS with valid TLS certificates.
- Rotate tokens periodically.
- Disable or delete unused tokens.
- Use a remote agent when Gravwell is not publicly reachable.
Avoid
- Do not use personal admin tokens for integrations.
- Do not share tokens over email or chat.
- Do not disable SSL verification unless approved internally.
- Do not grant token write permissions unless absolutely required.
- Do not reuse the same token across multiple tools.
👉 Support & Maintenance
👉 Support & Maintenance
- 📧 Contact AirMDR Support through your designated support channel.
- 🔁 Rotate credentials regularly. Recommended cadence: Every 90 days or as per internal security policy
- 🔄 Reconnect in AirMDR when secrets are changed.
| Activity | Recommended Frequency |
|---|---|
| Review token permissions | Quarterly |
| Rotate API token | As per company security policy |
| Check token expiration | Monthly |
| Validate integration health | After Gravwell upgrades |
| Review AirMDR execution logs | During incident or integration failures |
🛑 Data Flow & Security
🛑 Data Flow & Security
Data Exchanged
| Data Type | Direction | Description |
|---|---|---|
| API Token | AirMDR → Gravwell | Used for authentication. |
| Search Query | AirMDR → Gravwell | Used to retrieve required telemetry. |
| Alerts | Gravwell → AirMDR | Returned if alert read access is configured. |
| Tags / Telemetry Metadata | Gravwell → AirMDR | Used to identify available data sources. |
| Search Results | Gravwell → AirMDR | Used for enrichment and investigation. |
Ports and Endpoints\
| Item | Value |
|---|---|
| Protocol | HTTPS |
| Default Port | 443 |
| Instance URL Format | https://<gravwell-hostname> |
| Example API Endpoint | /api/tags |
| Search Parse Endpoint | /api/parse |
| Direct Search Endpoint | /api/search/direct |
\

