Skip to content

[lastpass] Initial Release for the LastPass#4254

Merged
P1llus merged 4 commits into
elastic:mainfrom
vinit-chauhan:package_lastpass
Oct 4, 2022
Merged

[lastpass] Initial Release for the LastPass#4254
P1llus merged 4 commits into
elastic:mainfrom
vinit-chauhan:package_lastpass

Conversation

@vinit-chauhan

@vinit-chauhan vinit-chauhan commented Sep 21, 2022

Copy link
Copy Markdown
Contributor

What does this PR do?

  • Generated the skeleton of the LastPass integration package.
  • Added data streams.
  • Added data collection logic for all the data streams.
  • Added the ingest pipeline for all the data streams.
  • Mapped fields according to the ECS schema and added Fields metadata in the appropriate yml files.
  • Added dashboards and visualizations.
  • Added test for pipeline for all the data streams.
  • Added system test cases for all the data streams.

NOTE: Following are the events which we have covered in the Event Report data stream.

Events
Login Verification Email Sent
Log in
Login to Admin Console
SAML Login
Open Secure Note
Make Admin
Enterprise API Secret regenerated
Update Folder Permissions
Master Password Changed
Master Password Reset by Super Admin
Require Password Change
Employee Account Created
Created LastPass Account
Created Shared Folder
Add Secure Note
Site Added
Add to Shared Folder
Add Policy
Deleted Sites
Delete Policy
Deleted Shared Folder
Employee Account Deleted
Remove Admin
Create Group
Adding User to Group
Get Shared Folder Data
Get User Data
Employee Invited
Reporting
Failed Login Attempt
Edit Secure Note
Renamed Shared Folder
Move to Shared Folder
Move from Shared Folder
Limit Shared Folder
Removed From Shared Folder
Delete Shared Sites
Multifactor Enabled

Integration release checklist

This checklist is intended for integrations maintainers to ensure consistency
when creating or updating a Package, Module or Dataset for an Integration.

All changes

  • Change follows the contributing guidelines
  • Supported versions of the monitoring target are documented
  • Supported operating systems are documented (if applicable)
  • Integration or System tests exist
  • Documentation exists
  • Fields follow ECS and naming conventions
  • At least a manual test with ES / Kibana / Agent has been performed.
  • Required Kibana version set to: ^7.17.0 || ^8.0.0

New Package

  • Screenshot of the "Add Integration" page on Fleet added

Dashboards changes

  • Dashboards exists
  • Screenshots added or updated
  • Datastream filters added to visualizations

Log dataset changes

  • Pipeline tests exist (if applicable)
  • Generated output for at least 1 log file exists
  • Sample event (sample_event.json) exists

How to test this PR locally

  • Clone integrations repo.
  • Install elastic package locally.
  • Start elastic stack using elastic-package.
  • Move to integrations/packages/lastpass directory.
  • Run the following command to run tests.

elastic-package test

Related issues

Screenshots

image
image
image
image
image
image

@vinit-chauhan vinit-chauhan added enhancement New feature or request Team:Security-External Integrations New Integration Issue or pull request for creating a new integration package. labels Sep 21, 2022
@elasticmachine

Copy link
Copy Markdown

Pinging @elastic/security-external-integrations (Team:Security-External Integrations)

@elasticmachine

elasticmachine commented Sep 21, 2022

Copy link
Copy Markdown

💚 Build Succeeded

the below badges are clickable and redirect to their specific view in the CI or DOCS
Pipeline View Test View Changes Artifacts preview preview

Expand to view the summary

Build stats

  • Start Time: 2022-09-30T17:00:48.401+0000

  • Duration: 16 min 43 sec

Test stats 🧪

Test Results
Failed 0
Passed 20
Skipped 0
Total 20

🤖 GitHub comments

Expand to view the GitHub comments

To re-run your PR in the CI, just comment with:

  • /test : Re-trigger the build.

@vinit-chauhan

Copy link
Copy Markdown
Contributor Author

/test

@elasticmachine

Copy link
Copy Markdown

🚀 Benchmarks report

To see the full report comment with /test benchmark fullreport

@elasticmachine

elasticmachine commented Sep 22, 2022

Copy link
Copy Markdown

🌐 Coverage report

Name Metrics % (covered/total) Diff
Packages 100.0% (3/3) 💚
Files 100.0% (3/3) 💚 2.564
Classes 100.0% (3/3) 💚 2.564
Methods 100.0% (37/37) 💚 9.946
Lines 93.816% (622/663) 👍 2.287
Conditionals 100.0% (0/0) 💚

@P1llus P1llus self-assigned this Sep 28, 2022
@P1llus P1llus self-requested a review September 28, 2022 08:07

@P1llus P1llus left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Adding a few small comments

{{/if}}
{{#if ssl}}
request.ssl: {{ssl}}
{{/if}}

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Could we add a configurable request.timeout as well?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

We are following the default request.timeout the 30s value.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

The other httpjson based integration allows this to be customized by users by adding a UI entry and a config entry for it, similar to this:

{{#if http_client_timeout}}
request.timeout: {{http_client_timeout}}
{{/if}}

Its usually because there are niche usecases that they need to be configured, and if its not possible at all for the end user to override it, then we usually have to update the package to support it. If its missing from any httpjson based integrations then its usually because its older, or it has not been added by mistake.

show_user: false
default:
- forwarded
- lastpass_detailed_shared_folder

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This should be lastpass-detailed_shared_folder

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

We were following the format (connector_name-data_stream). However, we got the following #3210 (comment) in one of our connectors, since then we have updated the format.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Correct, the package name and datastream name should be split with a - which is used on all the other older integrations, unfortunately there might be a bit of a confusion around this. Feel free to reference any of the older integrations there, I do not think any of them only use _

interval: {{interval}}
{{#if proxy_url}}
request.proxy_url: {{proxy_url}}
{{/if}}

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Could we add a configurable request.timeout ?

show_user: false
default:
- forwarded
- lastpass_event_report

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

lastpass-event_report

interval: {{interval}}
{{#if proxy_url }}
request.proxy_url: {{proxy_url}}
{{/if}}

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Same request.timeout

show_user: false
default:
- forwarded
- lastpass_user

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

lastpass-user

@P1llus P1llus merged commit e95753d into elastic:main Oct 4, 2022
@vinit-chauhan vinit-chauhan deleted the package_lastpass branch April 1, 2026 23:57
orestisfl pushed a commit to orestisfl/integrations that referenced this pull request May 15, 2026
* Initial Release for the LastPass

* Update changelog file

* Add related.user field and switched kql query to filter in visualizations

* Add request.timeout parameter & update tag and user guide
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request New Integration Issue or pull request for creating a new integration package.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

LastPass

3 participants