Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New 1Password XSIAM Integration #37730

Open
wants to merge 62 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
62 commits
Select commit Hold shift + click to select a range
af74b48
1Password shell pack and integration (dummy code)
kamalq97 Dec 17, 2024
769f84d
Fix default values in YML
kamalq97 Dec 18, 2024
2352d4b
Rename from 1Password to OnePassword to avoid import issues
kamalq97 Dec 18, 2024
d1d1f05
Rename integration
kamalq97 Dec 18, 2024
30ad60b
Rename pack
kamalq97 Dec 18, 2024
28c4167
Implement Client.get_events and improve docs
kamalq97 Dec 18, 2024
7fa5ae5
Implement get_events_command
kamalq97 Dec 19, 2024
60e476a
Write majority of event collector logic
kamalq97 Dec 22, 2024
6b6fc33
Add param in YML and write unit tests
kamalq97 Dec 22, 2024
572cabf
Add a unit test for fetch_events
kamalq97 Dec 22, 2024
fa9c8d0
Add more unit tests and test data
kamalq97 Dec 23, 2024
2d8941b
Merge branch 'master' into CIAC-12024-1password-xsiam-collector-v1
kamalq97 Dec 23, 2024
77c46f5
Improve docs and fix next run logic
kamalq97 Dec 23, 2024
367b2bb
Merge branch 'master' into CIAC-12024-1password-xsiam-collector-v1
kamalq97 Dec 23, 2024
8091605
Define DEFAULT_MAX_EVENTS_PER_FETCH constant
kamalq97 Dec 23, 2024
c473a04
Merge branch 'master' into CIAC-12024-1password-xsiam-collector-v1
kamalq97 Dec 23, 2024
19d8c3e
Fix get_events_command doc string
kamalq97 Dec 23, 2024
4fb20a3
Use CaseInsensitiveDict
kamalq97 Dec 23, 2024
11970da
Improve docs
kamalq97 Dec 24, 2024
02b7c71
Remove single quotes from YML
kamalq97 Dec 24, 2024
4e158c7
Update OnePasswordEventCollector.py
kamalq97 Dec 24, 2024
fb05452
Cleanup exception raising in test module
kamalq97 Dec 24, 2024
1bb527d
Improve markdown table title
kamalq97 Dec 24, 2024
780893a
Remove assert_not_raises contextmanager
kamalq97 Dec 24, 2024
d43651e
Improve param name in unit tests
kamalq97 Dec 24, 2024
bcef245
Improve variable naming
kamalq97 Dec 24, 2024
9a850d3
Simplify events post request body
kamalq97 Dec 24, 2024
6bc0f70
Improve client.get_events method
kamalq97 Dec 24, 2024
82718d6
Add native image config for integration
kamalq97 Dec 24, 2024
dae5650
Improve get_events_from_client documentation
kamalq97 Dec 24, 2024
8f394b2
Update README.md
kamalq97 Dec 25, 2024
817dd35
Improve timezone handling and documentation
kamalq97 Dec 25, 2024
5e62ac7
Fix fetch events
kamalq97 Dec 25, 2024
a1e02dd
Fix datetime formatting
kamalq97 Dec 25, 2024
df3a79c
Update OnePasswordEventCollector.py
kamalq97 Dec 25, 2024
4b47eec
Update OnePasswordEventCollector.py
kamalq97 Dec 25, 2024
858fb5f
Improved logs
kamalq97 Dec 26, 2024
5885e9f
Merge branch 'master' into CIAC-12024-1password-xsiam-collector-v1
kamalq97 Dec 29, 2024
bbfcff3
Update based on Jasmine's review (round 1)
kamalq97 Dec 30, 2024
06f4bf1
Add get_events_request_body unit tests
kamalq97 Dec 30, 2024
1deeeea
Update OnePasswordEventCollector.py
kamalq97 Dec 30, 2024
7bd00c0
Improve documenation
kamalq97 Dec 31, 2024
eb128c0
Change client base URL
kamalq97 Dec 31, 2024
59d82b6
Improve config params and refactor
kamalq97 Dec 31, 2024
c52903d
Improve test data, unit tests, config params, and variable names
kamalq97 Dec 31, 2024
bf773b6
Delete introspection_response.json
kamalq97 Dec 31, 2024
7d41ee5
Merge branch 'master' into CIAC-12024-1password-xsiam-collector-v1
kamalq97 Jan 1, 2025
fd5fde0
Fix minor bugs
kamalq97 Jan 1, 2025
bd83a79
Update OnePasswordEventCollector_test.py
kamalq97 Jan 1, 2025
e8fba16
Separate two helper functions
kamalq97 Jan 2, 2025
3af0e8f
Merge branch 'master' into CIAC-12024-1password-xsiam-collector-v1
kamalq97 Jan 5, 2025
dd55ed3
Remove section about deleted config param
kamalq97 Jan 5, 2025
3068c2b
Merge branch 'master' into CIAC-12024-1password-xsiam-collector-v1
kamalq97 Jan 6, 2025
3546cb2
Rename integration
kamalq97 Jan 7, 2025
04f3c16
Post demo update
kamalq97 Jan 7, 2025
acfa172
Update docker_native_image_config.json
kamalq97 Jan 7, 2025
ecea73c
Rename (Again)
kamalq97 Jan 7, 2025
e099ef2
Rename pack
kamalq97 Jan 7, 2025
46af80c
Update docker_native_image_config.json
kamalq97 Jan 7, 2025
b333c44
Merge branch 'master' into CIAC-12024-1password-xsiam-collector-v1
kamalq97 Jan 8, 2025
5f0058c
Update README.md
kamalq97 Jan 8, 2025
2ddaed7
Improve handling of fetch run edge case
kamalq97 Jan 9, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Empty file added Packs/OnePassword/.pack-ignore
Empty file.
Empty file.
Binary file added Packs/OnePassword/Author_image.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
407 changes: 407 additions & 0 deletions Packs/OnePassword/Integrations/OnePassword/OnePassword.py

Large diffs are not rendered by default.

109 changes: 109 additions & 0 deletions Packs/OnePassword/Integrations/OnePassword/OnePassword.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
category: Analytics & SIEM
commonfields:
id: OnePassword
version: -1
configuration:
- defaultvalue: https://events.1password.com
display: Server URL
additionalinfo: The API server URL depends on the domain where the account is hosted. Refer to the integration Help section for more details.
name: url
required: true
type: 0
section: Connect
- displaypassword: API Token
additionalinfo: The bearer token used to authenticate with the 1Password Events API. This must include the required features (scopes) that correspond to the event types to be fetched.
name: credentials
required: true
hiddenusername: true
type: 9
section: Connect
- display: Trust any certificate (not secure)
additionalinfo: Allow connections without verifying the SSL certificate of the server.
name: insecure
type: 8
required: false
section: Connect
advanced: true
- display: Use system proxy settings
name: proxy
type: 8
required: false
section: Connect
advanced: true
- defaultvalue: Audit events,Item usage actions,Sign in attempts
display: Types of events to fetch
name: event_types
type: 16
options:
- Audit events
- Item usage actions
- Sign in attempts
required: true
section: Collect
- defaultvalue: 5000
additionalinfo: If not specified, API default (100) will be used.
display: Maximum number of audit events per fetch
name: audit_events_limit
type: 0
required: false
section: Collect
advanced: true
- defaultvalue: 5000
additionalinfo: If not specified, API default (100) will be used.
display: Maximum number of item usage actions per fetch
name: item_usage_actions_limit
type: 0
required: false
section: Collect
advanced: true
- defaultvalue: 5000
additionalinfo: If not specified, API default (100) will be used.
display: Maximum number of sign-in attempts per fetch
name: sign_in_attempts_limit
required: false
type: 0
section: Collect
advanced: true
description: 'Fetch events about actions performed by 1Password users within a specific account, access and modifications to items in shared vaults, and user sign-in attempts.'
display: 1Password
name: OnePassword
script:
commands:
- arguments:
- description: 'The maximum number of events to fetch for the given event type.'
name: limit
required: false
defaultValue: 1000
- auto: PREDEFINED
defaultValue: 'false'
description: Set this argument to True in order to push events to Cortex XSIAM, otherwise the command will only display them.
name: should_push_events
predefined:
- 'True'
- 'False'
required: true
- auto: PREDEFINED
description: 1Password event type.
name: event_type
predefined:
- Audit events
- Item usage actions
- Sign in attempts
required: true
- default: false
description: The date from which to get events. If not specified, events from the last minute will be fetched.
name: from_date
required: false
description: Fetch events from 1Password. This command is intended for development and debugging purposes and should be used with caution as it may create duplicate events.
name: one-password-get-events
isfetchevents: true
runonce: false
script: '-'
type: python
subtype: python3
dockerimage: demisto/python3:3.11.10.115186
marketplaces:
- marketplacev2
fromversion: 8.4.0
tests:
- No tests (auto formatted)
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
## 1Password

### How to get the configuration parameters

#### Server URL

The API server URL depends on the region (domain) where the account is hosted and the pricing plan.

| **Domain** | **Plan** | **API Server URL** |
| --- | --- | --- |
| 1Password.com | Business | https://events.1password.com |
| 1Password.com | Enterprise | https://events.ent.1password.com |
| 1Password.ca | Any | https://events.1password.ca |
| 1Password.eu | Any | https://events.1password.eu |
| {sub}.{domain}.com | Any | https://events.{domain}.com |

#### API Token

Every call to the 1Password Events API must be authorized with a bearer token. To issue a new bearer token:

1. Sign in to your 1Password account and click **Integrations** in the sidebar.
2. Under the **Directory** tab, choose **(•••) Other** and enter a descriptive name for the integration, such as 'Cortex XSIAM'.
3. Enter a name for the bearer token and choose when it will expire.
4. Ensure the token has access to the event types:
* Audit events (`auditevents` feature)
* Item usage actions (`itemusages` feature)
* Sign-in attempts (`signinattempts` feature)
5. Click **Issue Token** to generate a new bearer token.
6. Save the token in a secure location and use it in configuring this integration instance.

#### Maximum Number of Events per Fetch

It is recommended to configure the integration instance so that the maximum number of fetched events does not exceed **100,000 per minute per event type**. Otherwise, the 1Password Events API may raise rate limit errors (HTTP 429).
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading