Community-developed Python SDK for the Lacework APIs
Project description
Lacework Python SDK
laceworksdk is a community developed Python library for interacting with the Lacework APIs.
The purpose of this library is to simplify the common tasks required for interacting with the Lacework API, and allow users write simple code to automate tasks related to their Lacework instance. From data retrieval to configuration, this library aims to expose all publicly available APIs. For example, the following code would authenticate, fetch events, fetch host vulnerabilities, and fetch container vulnerabilities - in 5 lines of code.
from laceworksdk import LaceworkClient
lw = LaceworkClient(account="ACCOUNT",
api_key="API KEY",
api_secret="API SECRET")
events = lw.events.get_for_date_range(start_time=start_time, end_time=end_time)
host_vulns = lw.vulnerabilities.get_host_vulnerabilities()
container_vulns = lw.vulnerabilities.get_container_vulnerabilities(image_digest="sha256:123")
Requirements
- Python 3.6 or higher
- Lacework API Credentials
- Account Name
- API Key
- API Secret
How-To
The following data points are required to instantiate a LaceworkClient instance:
account
: The Lacework account/organization domain. (xxxxx
.lacework.net)subaccount
: (Optional) The Lacework sub-account domain. (xxxxx
.lacework.net)- This is only used if leveraging the Manage@Scale organization feature of Lacework
api_key
: The API Key that was generated from the Lacework UI/API.api_secret
: The API Secret that was generated from the Lacework UI/API.
To generate an API Key and Secret, do the following:
- In the Lacework web interface, go to Settings -> API Keys
- Create a new API Key, or download information for an existing one.
Environment Variables
The account
, subaccount
, api_key
, and api_secret
can also be set using environment variables.
Environment Variable | Description | Required |
---|---|---|
LW_ACCOUNT |
Lacework account/organization domain (i.e. xxxxx .lacework.net) |
Y |
LW_SUBACCOUNT |
Lacework sub-account domain (i.e. xxxxx .lacework.net) |
N |
LW_API_KEY |
Lacework API Access Key | Y |
LW_API_SECRET |
Lacework API Access Secret | Y |
Installation
Installing and upgrading laceworksdk
is easy:
Install via PIP
$ pip install laceworksdk
Upgrading to the latest Version
$ pip install laceworksdk --upgrade
Examples
Are you looking for some sample scripts? Check out the examples folder!
Implemented APIs
API v1
- Account API
- Compliance API
- Custom Compliance Config API
- Download File API
- Events API
- Integrations API
- Recommendations API
- Run Reports API
- Suppressions API
- Token API
- Vulnerability API
API v2
- Access Tokens
- Agent Access Tokens
- Alert Channels
- Alert Rules
- Audit Logs
- Cloud Accounts
- Cloud Activities
- Container Registries
- Contract Info
- Policies
- Queries
- Report Rules
- Resource Groups
- Schemas
- Team Members
- User Profile
Contributing
To install/configure the necessary requirements for contributing to this project, simply create a virtual environment, install requirements.txt
and requirements-dev.txt
, and set up a version file using the commands below:
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
pip install -r requirements-dev.txt
python setup.py --version
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for laceworksdk-0.9.23-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cfbe4fcff8e8fa12463b414d3bbe6ea53e4feec702e4c65d1a323988436e8942 |
|
MD5 | f26a472c494a33b2798728135a5e20c9 |
|
BLAKE2b-256 | 3158f7c3014eef03d7f0e88b3ae2a3cced9f4767bd607b436d25cf7459b2daa6 |