Skip to content

entityanalytics_ad: Add mail and userPrincipalName fields#17758

Merged
maxcold merged 4 commits intoelastic:mainfrom
maxcold:entityanalytics-ad-mail-upn
Mar 16, 2026
Merged

entityanalytics_ad: Add mail and userPrincipalName fields#17758
maxcold merged 4 commits intoelastic:mainfrom
maxcold:entityanalytics-ad-mail-upn

Conversation

@maxcold
Copy link
Contributor

@maxcold maxcold commented Mar 11, 2026

Proposed commit message

entityanalytics_ad: Add mail and userPrincipalName fields

Add two LDAP attributes to the Active Directory Entity Analytics integration to support entity resolution matching across identity providers (AD, Okta, Entra ID):

  • mail → mapped to user.email (ECS) — enables email-based entity matching
  • userPrincipalName → stored as entityanalytics_ad.user.user_principal_name — enables UPN-based name matching via source event queries

Both fields are added to related.user for cross-source correlation. No Beats/Agent changes needed — the AD input already fetches all LDAP attributes by default.

Checklist

  • I have reviewed tips for building integrations and this pull request is aligned with them.
  • I have verified that all data streams collect metrics or logs.
  • I have added an entry to my package's changelog.yml file.
  • I have verified that Kibana version conditions are aligned across all changed packages.

Author's Checklist

  • Changes are limited to a single package
  • Pipeline tests pass (elastic-package test pipeline)
  • elastic-package build succeeds

How to test this PR locally

  1. cd packages/entityanalytics_ad
  2. elastic-package build
  3. elastic-package test pipeline
  4. Verify user.email is populated from mail attribute
  5. Verify user_principal_name appears in output
  6. Verify related.user includes both values

Related issues

maxcold added 2 commits March 11, 2026 17:31
Add two LDAP attributes to support entity resolution matching:
- `mail` → mapped to `user.email` (ECS) for email-based matching
- `userPrincipalName` → stored as `entityanalytics_ad.user.user_principal_name`
  for UPN-based name matching

Both fields are added to `related.user` for cross-source correlation.
No Beats/Agent changes needed — attributes already fetched by default.
@github-actions
Copy link
Contributor

github-actions bot commented Mar 11, 2026

✅ Vale Linting Results

No issues found on modified lines!


The Vale linter checks documentation changes against the Elastic Docs style guide.

To use Vale locally or report issues, refer to Elastic style guide for Vale.

@maxcold maxcold marked this pull request as ready for review March 12, 2026 10:57
@maxcold maxcold requested a review from a team as a code owner March 12, 2026 10:57
@maxcold maxcold requested a review from hop-dev March 12, 2026 10:57
@elasticmachine
Copy link

💚 Build Succeeded

@andrewkroh andrewkroh added documentation Improvements or additions to documentation. Applied to PRs that modify *.md files. Integration:entityanalytics_ad Active Directory Entity Analytics Team:Security-Service Integrations Security Service Integrations team [elastic/security-service-integrations] labels Mar 15, 2026
@elasticmachine
Copy link

Pinging @elastic/security-service-integrations (Team:Security-Service Integrations)

Copy link
Contributor

@efd6 efd6 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks

@maxcold maxcold merged commit 3aa4dae into elastic:main Mar 16, 2026
13 checks passed
@elastic-vault-github-plugin-prod

Package entityanalytics_ad - 0.18.0 containing this change is available at https://epr.elastic.co/package/entityanalytics_ad/0.18.0/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation. Applied to PRs that modify *.md files. Integration:entityanalytics_ad Active Directory Entity Analytics Team:Security-Service Integrations Security Service Integrations team [elastic/security-service-integrations]

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants