forked from lacework/python-sdk
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathexample_cloudtrail.py
More file actions
55 lines (44 loc) · 1.45 KB
/
example_cloudtrail.py
File metadata and controls
55 lines (44 loc) · 1.45 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# -*- coding: utf-8 -*-
"""
Example script showing how to use the LaceworkClient class.
"""
import logging
import os
from datetime import datetime, timedelta, timezone
from dotenv import load_dotenv
from laceworksdk import LaceworkClient
logging.basicConfig(level=logging.DEBUG)
load_dotenv()
if __name__ == "__main__":
# Use enviroment variables to instantiate a LaceworkClient instance
lacework_client = LaceworkClient(api_key=os.getenv("LW_API_KEY"),
api_secret=os.getenv("LW_API_SECRET"),
account=os.getenv("LW_ACCOUNT"))
# Build start/end times
current_time = datetime.now(timezone.utc)
start_time = current_time - timedelta(days=7)
start_time = start_time.strftime("%Y-%m-%dT%H:%M:%SZ")
end_time = current_time.strftime("%Y-%m-%dT%H:%M:%SZ")
# CloudTrail API
# Get CloudTrail
lacework_client.cloudtrail.get()
# Get CloudTrail by date range
lacework_client.cloudtrail.get(start_time=start_time, end_time=end_time)
# Search CloudTrail
lacework_client.cloudtrail.search(json={
"timeFilter": {
"startTime": start_time,
"endTime": end_time
},
"filters": [
{
"expression": "eq",
"field": "eventModel",
"value": "CloudTrailCep"
}
],
"returns": [
"eventType",
"eventActor"
]
})