Movatterモバイル変換


[0]ホーム

URL:


Loading
  1. Elastic Docs/
  2. Reference/
  3. Ingestion tools/
  4. Elastic integrations

BeyondInsight and Password Safe Integration

Version0.12.1 (View all)
Subscription level
What's this?
Basic
Developed by
What's this?
Elastic
Ingestion method(s)API
Minimum Kibana version(s)9.0.0
8.18.0

The BeyondInsight and Password Safe integration enables real-time monitoring ofprivileged account access, session recordings, and password checkout patterns tohelp security teams maintain compliance and quickly identify potential privilegeabuse through BeyondTrust's Just-in-Time privileged access management capabilities.

  • BeyondInsight/Password Safe 25.x

The integration uses BeyondTrust's REST APIs to collect data throughauthenticated API calls. It establishes sessions using API key authenticationand retrieves data from multiple API endpoints:

  1. Authentication: Uses the PS-Auth header with an API key, username, and optional password
  2. Data Collection: Polls multiple API endpoints at configurable intervals:
    • /ManagedAccounts - Managed account information
    • /ManagedSystems - Managed system configurations
    • /Sessions - Active and historical session data
    • /UserAudits - User audit logs and activity tracking
    • /Workgroups - List available workgroups
    • /Workgroups/{id}/Assets - Asset inventory from workgroups
  3. Processing: Transforms the data using ingest pipelines for ECS field mappings

The BeyondInsight and Password Safe integration collects log messages of thefollowing types:

  • asset Provides asset inventory data from BeyondInsight workgroups,including servers, workstations, and network devices with their systemdetails, IP addresses, and organizational metadata.
  • managedaccount Provides managed account information including local andActive Directory accounts with their security policies, password changeschedules, access permissions, and application associations.
  • managedsystem Provides a list of systems managed by Password Safe.
  • session Provides session monitoring data including active and completedprivileged access sessions with status tracking, duration metrics, protocolinformation, and archive status for compliance auditing.
  • useraudit Provides user audit activity tracking includinguser actions, authentication events, system access, and administrativeoperations with context about usernames, IP addresses, and timestampsfor security monitoring and compliance.

This integration enables several security and compliance use cases:

Asset Management and Visibility

  • Maintain inventory of all managed assets across workgroups
  • Track asset configurations, IP addresses, and system specifications
  • Monitor asset lifecycle from creation to updates

Privileged Access Monitoring

  • Real-time monitoring of privileged account activities and session recordings
  • Track password checkouts, session durations, and access patterns
  • Identify potential privilege abuse or unauthorized access attempts

Compliance and Auditing

  • Generate detailed audit trails for privileged access activities
  • Track user actions, login patterns, and system changes

Security Operations

  • Correlate privileged access events with security incidents
  • Detect anomalous session behaviors or access patterns
  • Monitor managed system and account configurations for unauthorized changes

You must install Elastic Agent. For more details, check the ElasticAgentinstallation instructions.You can install only one Elastic Agent per host.

The Elastic Agent uses the CEL (Common Expression Language) input to collect datafrom BeyondTrust's REST APIs and ships the data to Elastic, where the events willthen be processed via the integration's ingest pipelines.

To configure the BeyondInsight and Password Safe integration, a BeyondInsightadministrator mustcreate an API registrationand provide an API key, username, and (optionally) a password for authentication.

Steps to create an API registration:

  1. Log in to BeyondInsight with administrator privileges
  2. Navigate toConfiguration > General > API Registrations
  3. Enter a name for the registration
  4. ClickCreate New API Registration
  5. Configure authentication options:
    • User Password Required: Enable if you want to require a password in the authorization header
    • Client Certificate Required: Leave disabled for this integration
  6. Add authentication rules with the IP address(es) of your Elastic Agent host(s)
  7. ClickCreate Rule

BeyondInsight generates a unique API key for the registration. Use this API keyalong with a valid username (and password if required) to configure theintegration. The integration does not use OAuth authentication.

  1. Open the Discover page in Kibana.
  2. Query forevent.module:beyondinsight_password_safe.
  3. Expand the time range to view data from the last 90 days.
  4. Click on thedata_stream.dataset field from the "Available fields" on the left hand panel.
  5. This will display a list of the datasets from this integration that have reported data.

For help with Elastic ingest tools,checkCommon problems.

For more information on architectures that can be used for scaling thisintegration, checktheIngest Architecturesdocumentation.

Provides asset inventory data collected from BeyondInsight workgroups usingtheWorkgroups Assets API. This data stream retrievesasset information from all workgroups, including servers, workstations,databases, and network devices.

Data Collection Process:

  1. Authenticates using theSignAppin API
  2. Retrieves all availableworkgroups
  3. Iterates through each workgroup to collect asset inventories
  4. Handles pagination automatically to ensure complete data collection
  5. Stores the asset documents that have changed in any way since the last poll.

Filter asset documents usingdata_stream.dataset:"beyondinsight_password_safe.asset".

Exported fields
FieldDescriptionType
@timestampDate/time when the event originated. This is the date/time extracted from the event, typically representing when the event was generated by the source. If the event source has no original timestamp, this value is typically populated by the first time the event was received by the pipeline. Required field for all events.date
beyondinsight_password_safe.asset.asset_idUnique identifier for the asset.keyword
beyondinsight_password_safe.asset.asset_nameName of the asset.keyword
beyondinsight_password_safe.asset.asset_typeType of the asset.keyword
beyondinsight_password_safe.asset.create_dateDate the asset was created.date
beyondinsight_password_safe.asset.dns_nameDNS name of the asset.keyword
beyondinsight_password_safe.asset.domain_nameDomain name of the asset.keyword
beyondinsight_password_safe.asset.ip_addressIP address of the asset.ip
beyondinsight_password_safe.asset.last_update_dateDate the asset was last updated.date
beyondinsight_password_safe.asset.mac_addressMAC address of the asset.keyword
beyondinsight_password_safe.asset.operating_systemOperating system of the asset.keyword
beyondinsight_password_safe.asset.workgroup_idUnique identifier for the workgroup.keyword
data_stream.datasetThe field can contain anything that makes sense to signify the source of the data. Examples includenginx.access,prometheus,endpoint etc. For data streams that otherwise fit, but that do not have dataset set we use the value "generic" for the dataset value.event.dataset should have the same value asdata_stream.dataset. Beyond the Elasticsearch data stream naming criteria noted above, thedataset value has additional restrictions: * Must not contain- * No longer than 100 charactersconstant_keyword
data_stream.namespaceA user defined namespace. Namespaces are useful to allow grouping of data. Many users already organize their indices this way, and the data stream naming scheme now provides this best practice as a default. Many users will populate this field withdefault. If no value is used, it falls back todefault. Beyond the Elasticsearch index naming criteria noted above,namespace value has the additional restrictions: * Must not contain- * No longer than 100 charactersconstant_keyword
data_stream.typeAn overarching type for the data stream. Currently allowed values are "logs" and "metrics". We expect to also add "traces" and "synthetics" in the near future.constant_keyword
event.datasetName of the dataset. If an event source publishes more than one type of log or events (e.g. access log, error log), the dataset is used to specify which one the event comes from. It's recommended but not required to start the dataset name with the module name, followed by a dot, then the dataset name.constant_keyword
event.moduleName of the module this data is coming from. If your monitoring agent supports the concept of modules or plugins to process events of a given source (e.g. Apache logs),event.module should contain the name of this module.constant_keyword
input.typeInput type.keyword

Sample event

Example
{    "@timestamp": "2023-06-20T14:45:00.000Z",    "agent": {        "ephemeral_id": "ab8bf717-8595-45da-b4da-abf52b88ec95",        "id": "88f34c64-f736-496f-b988-3e17eca87055",        "name": "elastic-agent-94001",        "type": "filebeat",        "version": "8.18.0"    },    "beyondinsight_password_safe": {        "asset": {            "asset_id": "101",            "asset_name": "TestServer01",            "asset_type": "Server",            "create_date": "2023-01-15T10:30:00Z",            "dns_name": "testserver01.example.com",            "domain_name": "example.com",            "ip_address": "192.0.2.10",            "last_update_date": "2023-06-20T14:45:00Z",            "mac_address": "00-1B-44-11-3A-B7",            "operating_system": "Ubuntu 20.04",            "workgroup_id": "1"        }    },    "data_stream": {        "dataset": "beyondinsight_password_safe.asset",        "namespace": "56817",        "type": "logs"    },    "ecs": {        "version": "9.1.0"    },    "elastic_agent": {        "id": "88f34c64-f736-496f-b988-3e17eca87055",        "snapshot": false,        "version": "8.18.0"    },    "event": {        "agent_id_status": "verified",        "category": [            "host"        ],        "dataset": "beyondinsight_password_safe.asset",        "ingested": "2025-09-12T15:01:45Z",        "kind": "asset",        "original": "{\"AssetID\":101,\"AssetName\":\"TestServer01\",\"AssetType\":\"Server\",\"CreateDate\":\"2023-01-15T10:30:00Z\",\"DnsName\":\"testserver01.example.com\",\"DomainName\":\"example.com\",\"IPAddress\":\"192.0.2.10\",\"LastUpdateDate\":\"2023-06-20T14:45:00Z\",\"MacAddress\":\"00:1B:44:11:3A:B7\",\"OperatingSystem\":\"Ubuntu 20.04\",\"WorkgroupID\":1}",        "type": [            "info"        ]    },    "host": {        "domain": "example.com",        "geo": {            "city_name": "Las Vegas",            "continent_name": "North America",            "country_iso_code": "US",            "country_name": "United States",            "location": {                "lat": 36.17497,                "lon": -115.13722            },            "region_iso_code": "US-NV",            "region_name": "Nevada"        },        "ip": [            "192.0.2.10"        ],        "mac": [            "00-1B-44-11-3A-B7"        ],        "name": "TestServer01",        "os": {            "full": "Ubuntu 20.04"        }    },    "input": {        "type": "cel"    },    "related": {        "hosts": [            "192.0.2.10",            "TestServer01",            "testserver01.example.com"        ],        "ip": [            "192.0.2.10"        ]    },    "tags": [        "preserve_original_event",        "forwarded",        "beyondinsight_password_safe.asset"    ]}

Provides managed account information collected from BeyondTrust usingtheManagedAccounts API. This data stream retrievesdetailed information about user accounts managed by Password Safe, includinglocal accounts, Active Directory accounts, database accounts, and applicationaccounts.

Data Collection Process:

  1. Authenticates using theSignAppin API
  2. Retrieves managed account configurations with pagination support
  3. Stores the managed account documents that have changed in any way since the last poll.

Filter managed account documents usingdata_stream.dataset:"beyondinsight_password_safe.managedaccount".

Exported fields
FieldDescriptionType
@timestampDate/time when the event originated. This is the date/time extracted from the event, typically representing when the event was generated by the source. If the event source has no original timestamp, this value is typically populated by the first time the event was received by the pipeline. Required field for all events.date
beyondinsight_password_safe.managedaccount.account_descriptionThe Managed Account description.keyword
beyondinsight_password_safe.managedaccount.account_idID of the managed account.keyword
beyondinsight_password_safe.managedaccount.account_nameName of the managed account.keyword
beyondinsight_password_safe.managedaccount.application_display_nameDisplay name of the application for application-based access.keyword
beyondinsight_password_safe.managedaccount.application_idID of the application for application-based access.keyword
beyondinsight_password_safe.managedaccount.change_stateThe change state of the account credentials in human-readable format (idle, changing, queued).keyword
beyondinsight_password_safe.managedaccount.default_release_durationDefault release duration (minutes).integer
beyondinsight_password_safe.managedaccount.domain_nameThe domain name for a domain-type account.keyword
beyondinsight_password_safe.managedaccount.instance_nameDatabase instance name of a database-type managed system, or empty for the default instance.keyword
beyondinsight_password_safe.managedaccount.is_changingTrue if the account credentials are in the process of changing, otherwise false.boolean
beyondinsight_password_safe.managedaccount.is_isa_accessTrue if the account is for Information Systems Administrator (ISA) access, otherwise false.boolean
beyondinsight_password_safe.managedaccount.last_change_dateThe date and time of the last password change.date
beyondinsight_password_safe.managedaccount.maximum_release_durationMaximum release duration (minutes).integer
beyondinsight_password_safe.managedaccount.next_change_dateThe date and time of the next password change.date
beyondinsight_password_safe.managedaccount.platform_idID of the managed system platform.keyword
beyondinsight_password_safe.managedaccount.preferred_node_idID of the node that is preferred for establishing sessions. If no node is preferred, returns the local node ID.keyword
beyondinsight_password_safe.managedaccount.system_idID of the managed system.keyword
beyondinsight_password_safe.managedaccount.system_nameName of the managed system.keyword
beyondinsight_password_safe.managedaccount.user_principal_nameUser Principal Name of the managed account.keyword
data_stream.datasetThe field can contain anything that makes sense to signify the source of the data. Examples includenginx.access,prometheus,endpoint etc. For data streams that otherwise fit, but that do not have dataset set we use the value "generic" for the dataset value.event.dataset should have the same value asdata_stream.dataset. Beyond the Elasticsearch data stream naming criteria noted above, thedataset value has additional restrictions: * Must not contain- * No longer than 100 charactersconstant_keyword
data_stream.namespaceA user defined namespace. Namespaces are useful to allow grouping of data. Many users already organize their indices this way, and the data stream naming scheme now provides this best practice as a default. Many users will populate this field withdefault. If no value is used, it falls back todefault. Beyond the Elasticsearch index naming criteria noted above,namespace value has the additional restrictions: * Must not contain- * No longer than 100 charactersconstant_keyword
data_stream.typeAn overarching type for the data stream. Currently allowed values are "logs" and "metrics". We expect to also add "traces" and "synthetics" in the near future.constant_keyword
event.datasetName of the dataset. If an event source publishes more than one type of log or events (e.g. access log, error log), the dataset is used to specify which one the event comes from. It's recommended but not required to start the dataset name with the module name, followed by a dot, then the dataset name.constant_keyword
event.moduleName of the module this data is coming from. If your monitoring agent supports the concept of modules or plugins to process events of a given source (e.g. Apache logs),event.module should contain the name of this module.constant_keyword
input.typeInput type.keyword

Sample event

Example
{    "@timestamp": "2024-12-10T08:57:45.900Z",    "agent": {        "ephemeral_id": "13485d3b-415b-474c-a674-2c2f0fd7b247",        "id": "8429ee5a-d3f6-41ad-87ad-c6a35397b64e",        "name": "elastic-agent-29194",        "type": "filebeat",        "version": "8.18.0"    },    "beyondinsight_password_safe": {        "managedaccount": {            "account_description": "Primary managed account for KittenGrowth system",            "account_id": "5",            "account_name": "MacdonaldP.Irene",            "application_display_name": "AccountingApp",            "application_id": "123",            "change_state": "queued",            "default_release_duration": 120,            "domain_name": "example.com",            "instance_name": "Primary",            "is_changing": false,            "is_isa_access": true,            "last_change_date": "2024-12-10T08:57:45.900Z",            "maximum_release_duration": 525600,            "next_change_date": "2024-12-12T00:00:00.000Z",            "platform_id": "4",            "preferred_node_id": "2ca45774-d4e0-4b8f-9b52-3f52b78ae2ca",            "system_id": "5",            "system_name": "KittenGrowth",            "user_principal_name": "irene@example.com"        }    },    "data_stream": {        "dataset": "beyondinsight_password_safe.managedaccount",        "namespace": "59569",        "type": "logs"    },    "ecs": {        "version": "9.1.0"    },    "elastic_agent": {        "id": "8429ee5a-d3f6-41ad-87ad-c6a35397b64e",        "snapshot": false,        "version": "8.18.0"    },    "event": {        "agent_id_status": "verified",        "category": [            "iam"        ],        "dataset": "beyondinsight_password_safe.managedaccount",        "ingested": "2025-09-12T15:02:45Z",        "kind": "event",        "type": [            "info"        ]    },    "host": {        "domain": "example.com",        "hostname": "KittenGrowth",        "id": "5"    },    "input": {        "type": "cel"    },    "related": {        "hosts": [            "5",            "KittenGrowth"        ],        "user": [            "5",            "MacdonaldP.Irene",            "irene@example.com"        ]    },    "tags": [        "forwarded",        "beyondinsight_password_safe.managedaccount"    ],    "user": {        "email": "irene@example.com",        "id": "5",        "name": "MacdonaldP.Irene"    }}

Provides managed system configurations collected from BeyondTrust usingtheManagedSystems API. This data stream retrievesinformation about all systems managed by Password Safe, including assets,databases, directories, and cloud platforms.

Data Collection Process:

  1. Authenticates using theSignAppin API
  2. Retrieves managed system configurations with pagination support
  3. Stores the managed system documents that have changed in any way since the last poll.

Filter managed system documents usingdata_stream.dataset:"beyondinsight_password_safe.managedsystem".

Exported fields
FieldDescriptionType
@timestampDate/time when the event originated. This is the date/time extracted from the event, typically representing when the event was generated by the source. If the event source has no original timestamp, this value is typically populated by the first time the event was received by the pipeline. Required field for all events.date
beyondinsight_password_safe.managedsystem.access_urlURL used for cloud access.keyword
beyondinsight_password_safe.managedsystem.account_name_formatFormat of the account name.integer
beyondinsight_password_safe.managedsystem.application_host_idManaged system ID of the target application host.integer
beyondinsight_password_safe.managedsystem.asset_idAsset ID; set if the managed system is an asset or a database.integer
beyondinsight_password_safe.managedsystem.auto_management_flagTrue if password auto-management is enabled, otherwise false.boolean
beyondinsight_password_safe.managedsystem.change_frequency_daysNumber of days for scheduled password changes when ChangeFrequencyType is xdays.integer
beyondinsight_password_safe.managedsystem.change_frequency_typeThe change frequency for scheduled password changes.keyword
beyondinsight_password_safe.managedsystem.change_password_after_any_release_flagTrue to change passwords on release of a request, otherwise false.boolean
beyondinsight_password_safe.managedsystem.change_timeUTC time of day for scheduled password changes in 24hr format.keyword
beyondinsight_password_safe.managedsystem.check_password_flagTrue to enable password testing, otherwise false.boolean
beyondinsight_password_safe.managedsystem.cloud_idCloud system ID; set if the managed system is a cloud system.integer
beyondinsight_password_safe.managedsystem.contact_emailContact email for the managed system.keyword
beyondinsight_password_safe.managedsystem.database_idDatabase ID; set if the managed system is a database.integer
beyondinsight_password_safe.managedsystem.descriptionDescription of the managed system.keyword
beyondinsight_password_safe.managedsystem.directory_idDirectory ID; set if the managed system is a directory.integer
beyondinsight_password_safe.managedsystem.dns_nameDNS name of the managed system.keyword
beyondinsight_password_safe.managedsystem.dss_key_rule_idID of the default DSS key rule assigned to managed accounts.integer
beyondinsight_password_safe.managedsystem.elevation_commandElevation command to use (sudo, pbrun, pmrun).keyword
beyondinsight_password_safe.managedsystem.entity_type_idID of the entity type.integer
beyondinsight_password_safe.managedsystem.forest_nameForest name of the managed system.keyword
beyondinsight_password_safe.managedsystem.functional_account_idID of the functional account used for local managed account password changes.integer
beyondinsight_password_safe.managedsystem.host_nameHost name of the managed system.keyword
beyondinsight_password_safe.managedsystem.instance_nameInstance name of the managed system.keyword
beyondinsight_password_safe.managedsystem.ip_addressIP address of the managed system.ip
beyondinsight_password_safe.managedsystem.is_application_hostTrue if the managed system can be used as an application host, otherwise false.boolean
beyondinsight_password_safe.managedsystem.is_default_instanceTrue if this is the default instance, otherwise false.boolean
beyondinsight_password_safe.managedsystem.isa_release_durationDefault Information Systems Administrator (ISA) release duration in minutes.integer
beyondinsight_password_safe.managedsystem.login_account_idID of the functional account used for SSH session logins.integer
beyondinsight_password_safe.managedsystem.managed_system_idID of the managed system.integer
beyondinsight_password_safe.managedsystem.max_release_durationDefault maximum release duration in minutes.integer
beyondinsight_password_safe.managedsystem.net_bios_nameDomain NetBIOS name for managed domains.keyword
beyondinsight_password_safe.managedsystem.oracle_internet_directory_idID of the Oracle Internet Directory.integer
beyondinsight_password_safe.managedsystem.oracle_internet_directory_service_nameService name of the Oracle Internet Directory.keyword
beyondinsight_password_safe.managedsystem.password_rule_idID of the default password rule assigned to managed accounts.integer
beyondinsight_password_safe.managedsystem.platform_idID of the managed system platform.integer
beyondinsight_password_safe.managedsystem.portPort used to connect to the host.integer
beyondinsight_password_safe.managedsystem.release_durationDefault release duration in minutes.integer
beyondinsight_password_safe.managedsystem.remote_client_typeType of remote client to use.keyword
beyondinsight_password_safe.managedsystem.reset_password_on_mismatch_flagTrue to queue a password change when scheduled password test fails, otherwise false.boolean
beyondinsight_password_safe.managedsystem.ssh_key_enforcement_modeEnforcement mode for SSH host keys.integer
beyondinsight_password_safe.managedsystem.system_nameName of the related entity (asset, directory, database, or cloud).keyword
beyondinsight_password_safe.managedsystem.templateTemplate used for the managed system.keyword
beyondinsight_password_safe.managedsystem.timeoutConnection timeout in seconds.integer
beyondinsight_password_safe.managedsystem.use_sslTrue if SSL is used, otherwise false.boolean
beyondinsight_password_safe.managedsystem.workgroup_idID of the workgroup.integer
data_stream.datasetThe field can contain anything that makes sense to signify the source of the data. Examples includenginx.access,prometheus,endpoint etc. For data streams that otherwise fit, but that do not have dataset set we use the value "generic" for the dataset value.event.dataset should have the same value asdata_stream.dataset. Beyond the Elasticsearch data stream naming criteria noted above, thedataset value has additional restrictions: * Must not contain- * No longer than 100 charactersconstant_keyword
data_stream.namespaceA user defined namespace. Namespaces are useful to allow grouping of data. Many users already organize their indices this way, and the data stream naming scheme now provides this best practice as a default. Many users will populate this field withdefault. If no value is used, it falls back todefault. Beyond the Elasticsearch index naming criteria noted above,namespace value has the additional restrictions: * Must not contain- * No longer than 100 charactersconstant_keyword
data_stream.typeAn overarching type for the data stream. Currently allowed values are "logs" and "metrics". We expect to also add "traces" and "synthetics" in the near future.constant_keyword
event.datasetName of the dataset. If an event source publishes more than one type of log or events (e.g. access log, error log), the dataset is used to specify which one the event comes from. It's recommended but not required to start the dataset name with the module name, followed by a dot, then the dataset name.constant_keyword
event.moduleName of the module this data is coming from. If your monitoring agent supports the concept of modules or plugins to process events of a given source (e.g. Apache logs),event.module should contain the name of this module.constant_keyword
input.typeInput type.keyword

Sample event

Example
{    "@timestamp": "2025-09-12T15:03:32.393Z",    "agent": {        "ephemeral_id": "97ef9370-d7bd-4721-be6c-b2ce77a254e9",        "id": "34f51b07-adf7-49e2-9abd-e0dbc4d6fcd0",        "name": "elastic-agent-19588",        "type": "filebeat",        "version": "8.18.0"    },    "beyondinsight_password_safe": {        "managedsystem": {            "access_url": "http://aardvarkagreement.com/manage",            "account_name_format": 0,            "application_host_id": "2",            "asset_id": "13",            "auto_management_flag": true,            "change_frequency_days": 30,            "change_frequency_type": "first",            "change_password_after_any_release_flag": false,            "change_time": "23:30",            "check_password_flag": false,            "cloud_id": "1",            "contact_email": "admin@aardvarkagreement.com",            "database_id": "5",            "description": "Primary Managed System for AardvarkAgreement",            "directory_id": "3",            "dns_name": "AardvarkAgreement.example.com",            "dss_key_rule_id": "0",            "elevation_command": "sudo",            "entity_type_id": "1",            "forest_name": "PrimaryForest",            "functional_account_id": "14",            "host_name": "AardvarkAgreement",            "instance_name": "InstanceOne",            "ip_address": "198.51.100.10",            "is_application_host": false,            "is_default_instance": true,            "isa_release_duration": 120,            "login_account_id": "20",            "managed_system_id": "13",            "max_release_duration": 525600,            "net_bios_name": "AardvarkNet",            "oracle_internet_directory_id": "550e8400-e29b-41d4-a716-446655440000",            "oracle_internet_directory_service_name": "OiDService",            "password_rule_id": "0",            "platform_id": "4",            "port": 8080,            "release_duration": 120,            "remote_client_type": "None",            "reset_password_on_mismatch_flag": false,            "ssh_key_enforcement_mode": "Auto",            "system_name": "AardvarkAgreement",            "template": "ServerTemplate",            "timeout": 30,            "use_ssl": true,            "workgroup_id": "1"        }    },    "data_stream": {        "dataset": "beyondinsight_password_safe.managedsystem",        "namespace": "51641",        "type": "logs"    },    "ecs": {        "version": "9.1.0"    },    "elastic_agent": {        "id": "34f51b07-adf7-49e2-9abd-e0dbc4d6fcd0",        "snapshot": false,        "version": "8.18.0"    },    "event": {        "agent_id_status": "verified",        "category": [            "iam"        ],        "dataset": "beyondinsight_password_safe.managedsystem",        "ingested": "2025-09-12T15:03:35Z",        "kind": "asset",        "type": [            "info"        ]    },    "host": {        "domain": "example.com",        "geo": {            "city_name": "Amsterdam",            "continent_name": "Europe",            "country_iso_code": "NL",            "country_name": "Netherlands",            "location": {                "lat": 52.37404,                "lon": 4.88969            },            "region_iso_code": "NL-NH",            "region_name": "North Holland"        },        "hostname": "AardvarkAgreement",        "ip": [            "198.51.100.10"        ],        "name": "AardvarkAgreement.example.com"    },    "input": {        "type": "cel"    },    "related": {        "hosts": [            "AardvarkAgreement",            "AardvarkAgreement.example.com"        ],        "ip": [            "198.51.100.10"        ],        "user": [            "admin@aardvarkagreement.com"        ]    },    "tags": [        "forwarded",        "beyondinsight_password_safe.managedsystem"    ],    "url": {        "full": "http://aardvarkagreement.com/manage"    },    "user": {        "email": "admin@aardvarkagreement.com"    }}

Provides session monitoring data collected from BeyondTrust usingtheSessions API. This data stream captures information aboutall privileged access sessions, including both active and completed sessions forsecurity monitoring and compliance auditing.

Data Collection Process:

  1. Authenticates using theSignAppin API
  2. Retrieves session data for monitored systems (API returns up to 100,000 sessions)
  3. Stores the session documents that have changed in any way since the last poll.

Filter session documents usingdata_stream.dataset:"beyondinsight_password_safe.session".

Exported fields
FieldDescriptionType
@timestampDate/time when the event originated. This is the date/time extracted from the event, typically representing when the event was generated by the source. If the event source has no original timestamp, this value is typically populated by the first time the event was received by the pipeline. Required field for all events.date
beyondinsight_password_safe.session.application_idThe related application ID (if applicable, can be null).keyword
beyondinsight_password_safe.session.archive_statusSession archive status: not_archived, archived, restoring, archiving, session_not_found, repository_offline, unknownkeyword
beyondinsight_password_safe.session.asset_nameName of the target managed system.keyword
beyondinsight_password_safe.session.durationSession duration (seconds.)long
beyondinsight_password_safe.session.end_timeEnd date/time of the session.date
beyondinsight_password_safe.session.managed_account_idID of the target managed account.keyword
beyondinsight_password_safe.session.managed_account_nameName of the target managed account.keyword
beyondinsight_password_safe.session.managed_system_idID of the target managed system (can be null).keyword
beyondinsight_password_safe.session.node_idID of the session node.keyword
beyondinsight_password_safe.session.protocolSession protocol: rdp, sshkeyword
beyondinsight_password_safe.session.record_keyThe record key used for session replay.keyword
beyondinsight_password_safe.session.request_idThe related request ID (if applicable, can be null).keyword
beyondinsight_password_safe.session.session_idID of the session.keyword
beyondinsight_password_safe.session.session_typeSession type: regular, isa, adminkeyword
beyondinsight_password_safe.session.start_timeStart date/time of the session.date
beyondinsight_password_safe.session.statusSession status: not_started, in_progress, completed, locked, terminated, logged_off, disconnectedkeyword
beyondinsight_password_safe.session.tokenThe token used for session replay.keyword
beyondinsight_password_safe.session.user_idID of the user.keyword
data_stream.datasetThe field can contain anything that makes sense to signify the source of the data. Examples includenginx.access,prometheus,endpoint etc. For data streams that otherwise fit, but that do not have dataset set we use the value "generic" for the dataset value.event.dataset should have the same value asdata_stream.dataset. Beyond the Elasticsearch data stream naming criteria noted above, thedataset value has additional restrictions: * Must not contain- * No longer than 100 charactersconstant_keyword
data_stream.namespaceA user defined namespace. Namespaces are useful to allow grouping of data. Many users already organize their indices this way, and the data stream naming scheme now provides this best practice as a default. Many users will populate this field withdefault. If no value is used, it falls back todefault. Beyond the Elasticsearch index naming criteria noted above,namespace value has the additional restrictions: * Must not contain- * No longer than 100 charactersconstant_keyword
data_stream.typeAn overarching type for the data stream. Currently allowed values are "logs" and "metrics". We expect to also add "traces" and "synthetics" in the near future.constant_keyword
event.datasetName of the dataset. If an event source publishes more than one type of log or events (e.g. access log, error log), the dataset is used to specify which one the event comes from. It's recommended but not required to start the dataset name with the module name, followed by a dot, then the dataset name.constant_keyword
event.moduleName of the module this data is coming from. If your monitoring agent supports the concept of modules or plugins to process events of a given source (e.g. Apache logs),event.module should contain the name of this module.constant_keyword
input.typeInput type.keyword

Sample event

Example
{    "@timestamp": "2025-01-15T10:45:00.000Z",    "agent": {        "ephemeral_id": "0ec4e96b-9b86-4f19-a2d2-b07d06efddaf",        "id": "217cf62f-7384-4be2-a2e1-056839a4d821",        "name": "elastic-agent-46617",        "type": "filebeat",        "version": "8.18.0"    },    "beyondinsight_password_safe": {        "session": {            "application_id": "101",            "archive_status": "archived",            "asset_name": "web-server-01",            "duration": 8100,            "end_time": "2025-01-15T10:45:00.000Z",            "managed_account_id": "789",            "managed_account_name": "admin_user",            "managed_system_id": "456",            "node_id": "node-001",            "protocol": "rdp",            "record_key": "rec_key_abc123",            "request_id": "201",            "session_id": "1001",            "session_type": "regular",            "start_time": "2025-01-15T08:30:00.000Z",            "status": "in_progress",            "token": "token_xyz789",            "user_id": "123"        }    },    "data_stream": {        "dataset": "beyondinsight_password_safe.session",        "namespace": "86539",        "type": "logs"    },    "ecs": {        "version": "9.1.0"    },    "elastic_agent": {        "id": "217cf62f-7384-4be2-a2e1-056839a4d821",        "snapshot": false,        "version": "8.18.0"    },    "event": {        "agent_id_status": "verified",        "category": [            "session"        ],        "dataset": "beyondinsight_password_safe.session",        "duration": 8100000000000,        "end": "2025-01-15T10:45:00.000Z",        "id": "1001",        "ingested": "2025-09-12T15:04:25Z",        "kind": "event",        "original": "{\"ApplicationID\":101,\"ArchiveStatus\":1,\"AssetName\":\"web-server-01\",\"Duration\":8100,\"EndTime\":\"2025-01-15T10:45:00Z\",\"ManagedAccountID\":789,\"ManagedAccountName\":\"admin_user\",\"ManagedSystemID\":456,\"NodeID\":\"node-001\",\"Protocol\":0,\"RecordKey\":\"rec_key_abc123\",\"RequestID\":201,\"SessionID\":1001,\"SessionType\":1,\"StartTime\":\"2025-01-15T08:30:00Z\",\"Status\":1,\"Token\":\"token_xyz789\",\"UserID\":123}",        "start": "2025-01-15T08:30:00.000Z",        "type": [            "info"        ]    },    "input": {        "type": "cel"    },    "network": {        "protocol": "rdp"    },    "related": {        "hosts": [            "web-server-01"        ],        "user": [            "admin_user",            "123"        ]    },    "tags": [        "preserve_original_event",        "forwarded",        "beyondinsight_password_safe.session"    ],    "user": {        "id": "123",        "name": "admin_user"    }}

Provides user audit activity tracking collected from BeyondTrust usingtheUserAudits API. This data stream captures informationabout user activities within the BeyondInsight and Password Safe environment,providing critical visibility for security monitoring, compliance auditing, andincident investigation.

Data Collection Process:

  1. Authenticates using theSignAppin API
  2. Uses time-window based queries to efficiently collect only new audit events since the last poll
  3. Maintains a high-water mark timestamp to prevent data duplication
  4. Handles pagination automatically to ensure complete audit trail collection

Filter user audit documents usingdata_stream.dataset:"beyondinsight_password_safe.useraudit".

Exported fields
FieldDescriptionType
@timestampDate/time when the event originated. This is the date/time extracted from the event, typically representing when the event was generated by the source. If the event source has no original timestamp, this value is typically populated by the first time the event was received by the pipeline. Required field for all events.date
beyondinsight_password_safe.useraudit.action_typeAction performed by the user.keyword
beyondinsight_password_safe.useraudit.audit_idUnique identifier for the audit event.keyword
beyondinsight_password_safe.useraudit.create_dateTimestamp of when the user action was created.date
beyondinsight_password_safe.useraudit.ip_addressIP address from which the user action originated.ip
beyondinsight_password_safe.useraudit.sectionSection or feature where the action took place.keyword
beyondinsight_password_safe.useraudit.user_idUnique identifier for the user.keyword
beyondinsight_password_safe.useraudit.user_nameUsername of the user performing the action.keyword
data_stream.datasetThe field can contain anything that makes sense to signify the source of the data. Examples includenginx.access,prometheus,endpoint etc. For data streams that otherwise fit, but that do not have dataset set we use the value "generic" for the dataset value.event.dataset should have the same value asdata_stream.dataset. Beyond the Elasticsearch data stream naming criteria noted above, thedataset value has additional restrictions: * Must not contain- * No longer than 100 charactersconstant_keyword
data_stream.namespaceA user defined namespace. Namespaces are useful to allow grouping of data. Many users already organize their indices this way, and the data stream naming scheme now provides this best practice as a default. Many users will populate this field withdefault. If no value is used, it falls back todefault. Beyond the Elasticsearch index naming criteria noted above,namespace value has the additional restrictions: * Must not contain- * No longer than 100 charactersconstant_keyword
data_stream.typeAn overarching type for the data stream. Currently allowed values are "logs" and "metrics". We expect to also add "traces" and "synthetics" in the near future.constant_keyword
event.datasetName of the dataset. If an event source publishes more than one type of log or events (e.g. access log, error log), the dataset is used to specify which one the event comes from. It's recommended but not required to start the dataset name with the module name, followed by a dot, then the dataset name.constant_keyword
event.moduleName of the module this data is coming from. If your monitoring agent supports the concept of modules or plugins to process events of a given source (e.g. Apache logs),event.module should contain the name of this module.constant_keyword
input.typeInput type.keyword

Sample event

Example
{    "@timestamp": "2025-08-22T10:10:00.000Z",    "agent": {        "ephemeral_id": "3758adeb-3280-49be-b12b-9f6a59e4bbc3",        "id": "ca8aec7c-bb1b-4a17-bcfb-a435ed4b3aec",        "name": "elastic-agent-58050",        "type": "filebeat",        "version": "8.18.0"    },    "beyondinsight_password_safe": {        "useraudit": {            "action_type": "AccessDenied",            "audit_id": "1",            "create_date": "2025-08-22T10:10:00.000Z",            "ip_address": "203.0.113.100",            "section": "Authorization",            "user_id": "105",            "user_name": "guest.user"        }    },    "data_stream": {        "dataset": "beyondinsight_password_safe.useraudit",        "namespace": "35398",        "type": "logs"    },    "ecs": {        "version": "9.1.0"    },    "elastic_agent": {        "id": "ca8aec7c-bb1b-4a17-bcfb-a435ed4b3aec",        "snapshot": false,        "version": "8.18.0"    },    "event": {        "agent_id_status": "verified",        "category": [            "iam"        ],        "dataset": "beyondinsight_password_safe.useraudit",        "ingested": "2025-09-12T15:05:26Z",        "kind": "event",        "type": [            "info"        ]    },    "host": {        "geo": {            "city_name": "Madrid",            "continent_name": "Europe",            "country_iso_code": "ES",            "country_name": "Spain",            "location": {                "lat": 40.41639,                "lon": -3.7025            },            "region_iso_code": "ES-M",            "region_name": "Madrid"        },        "ip": [            "203.0.113.100"        ]    },    "input": {        "type": "cel"    },    "related": {        "ip": [            "203.0.113.100"        ],        "user": [            "guest.user"        ]    },    "tags": [        "forwarded",        "beyondinsight_password_safe.useraudit"    ],    "user": {        "id": "105",        "name": "guest.user"    }}

This integration uses the following APIs:

This integration includes one or more Kibana dashboards that visualizes the data collected by the integration. The screenshots below illustrate how the ingested data is displayed.

Overview
Session and Asset
Changelog
VersionDetailsMinimum Kibana version
0.12.1Bug fix (View pull request)
Downgrade theformat_version to the minimum version that supports all the necessary features for the package.
9.0.0
8.18.0
0.12.0Enhancement (View pull request)
Enhanced documentation with API information, use cases, and improved data stream descriptions for better user understanding.

Breaking change (View pull request)
Move theenable_request_tracer variable to the individual data streams for more granular control over tracing in each data stream.
9.0.0
8.18.0
0.11.0Breaking change (View pull request)
Renameddsskey_rule_id field todss_key_rule_id inmanagedsystem data stream to follow snake-case naming convention.

Breaking change (View pull request)
Renamedos.full field tohost.os.full inasset data stream to comply with ECS.

Enhancement (View pull request)
Updated ECS version to 9.1.0 and standardized pipeline processing with improved ECS field mappings.

Enhancement (View pull request)
Disabled dynamic mappings to prevent unknown fields from receiving automatic mappings, improving data consistency and safety.
9.0.0
8.18.0
0.10.0Bug fix (View pull request)
For theasset data stream, fixed session management to automatically re-authenticate when sessions expire.

Breaking change (View pull request)
For theasset data stream, renamed fields to match proper snake_case naming -ipaddress toip_address. And apply RFC 7042 formatting to MAC addresses as per ECS.
9.0.0
8.18.0
0.9.0Enhancement (View pull request)
For thesession data stream, enhanced CEL program with proper session management, automatic re-authentication, and improved error handling.

Breaking change (View pull request)
For thesession data stream, convertedsession_type enum field value to human-readable string instead of numeric code. Changemanaged_system_id andmanaged_system_id to a keyword data type.
9.0.0
8.18.0
0.8.0Bug fix (View pull request)
For theuseraudit data stream, fixed pagination to avoid duplicate collection.

Breaking change (View pull request)
For theuseraudit data stream, renamed fields to match proper snake_case naming -ipaddress toip_address.
9.0.0
8.18.0
0.7.0Bug fix (View pull request)
For themanagedsystem data stream, fixed session management to automatically re-authenticate when sessions expire.

Breaking change (View pull request)
For themanagedsystem data stream, renamed fields to match proper snake_case naming -ipaddress toip_address andisarelease_duration toisa_release_duration.
9.0.0
8.18.0
0.6.0Bug fix (View pull request)
For themanagedaccount data stream, fixed session management to automatically re-authenticate when sessions expire.

Breaking change (View pull request)
For themanagedaccount data stream, renamedis_isaaccess tois_isa_access for proper snake_case naming. Modifiedchange_state from integer to keyword with human-readable values (idle, changing, queued).
9.0.0
8.18.0
0.5.1Bug fix (View pull request)
Fixed authentication retry logic to properly clear expired cookies and re-authenticate when receiving 401 responses.
9.0.0
8.15.3
0.5.0Enhancement (View pull request)
Standardize user fields processing across integrations.
9.0.0
8.15.3
0.4.0Enhancement (View pull request)
Improve agent error reporting for failed API requests.
9.0.0
8.15.3
0.3.1Bug fix (View pull request)
Fix default request trace enabled behavior.
9.0.0
8.15.3
0.3.0Enhancement (View pull request)
Enable request trace log removal.
9.0.0
8.15.3
0.2.1Bug fix (View pull request)
Added description to ssl nodes in package level manifest.yml file to including links to documentation.
9.0.0
8.15.3
0.2.0Enhancement (View pull request)
Update Kibana constraint to support 9.0.0.
9.0.0
8.15.3
0.1.0Enhancement (View pull request)
Initial release.
8.15.3

[8]ページ先頭

©2009-2026 Movatter.jp