Amazon Security Lake przechowuje Twoje dane w S3 jako pliki Parquet w schemacie OCSF, więc nie pobierasz ich bezpośrednio. Przeszukujesz je. Użyj Amazon Athena z poleceniem UNLOAD i formatem = 'JSON’: Athena zapisuje wyniki jako linie JSON w prefiksie S3, który wybierzesz, i to pobierasz. Tabele Security Lake istnieją w bazie danych Glue o nazwie amazon_security_lake_glue_db_<region>, jedna tabela na źródło.
Security Lake centralizuje CloudTrail, VPC Flow Logs, Route 53, wyniki Security Hub, dzienniki audytowe EKS oraz źródła zewnętrzne w jednym znormalizowanym formacie. Prime Core posiada ponad 24,000 unikalnych reguł wykrywania, zmapowanych do 676 technik MITRE ATT&CK. Poniżej przedstawiono, jak wydostać dane, oczyścić je oraz zbadać za darmo w LogTotal.
Zanim zaczniesz
Dostęp do zapytań. Użyj konta wyznaczonego administratora Security Lake lub subskrybenta z dostępem do zapytań. Dostęp jest regulowany przez Lake Formation, więc potrzebujesz SELECT na tabelach, plus uprawnienia Athena i dostęp do zapisu do koszyka S3 na potrzeby eksportu.
Znajdź tabele. W Athena, otwórz bazę danych dla swojego regionu. Nazwy tabel mają wzór amazon_security_lake_table_<region>_<source>_<version>, na przykład amazon_security_lake_table_eu_west_1_cloud_trail_mgmt_2_0. Region używa podkreślników.
Partycje zmniejszają koszty. Tabele są partycjonowane według regionu, id konta i dnia zdarzenia (YYYYMMDD). Athena nalicza opłaty za dane przeskanowane, więc zawsze filtruj według dnia zdarzenia.
Eksport z użyciem Athena UNLOAD
W konsoli Athena, lub z aws athena start-query-execution:
UNLOAD (
SELECT *
FROM amazon_security_lake_glue_db_eu_west_1.amazon_security_lake_table_eu_west_1_cloud_trail_mgmt_2_0
WHERE eventday = '20261019'
AND accountid = '123456789012'
)
TO 's3://my-athena-exports/security-lake/ct-20261019/'
WITH (format = 'JSON', compression = 'NONE')
Docelowy prefiks musi być pusty. Gdy zapytanie się powiedzie, pobierz i połącz pliki:
aws s3 cp s3://my-athena-exports/security-lake/ct-20261019/ ./ct-20261019/ --recursive
cat ./ct-20261019/* > securitylake_ct_20261019.jsonl
Każda linia to jedno zdarzenie OCSF. Aby zawęzić to dalej, filtruj według pól OCSF, takich jak api.operation, actor.user.uid lub src_endpoint.ip.
Prześlij, oczyść i sprawdź w LogTotal
- Prześlij. Otwórz logtotal.com i umieść plik .jsonl.
- Oczyść.
- Sprawdź.
Kiedy coś idzie nie tak
| Objaw | Prawdopodobna przyczyna | Fix |
|---|---|---|
| Niewystarczające uprawnienia Lake Formation | Brak przywileju SELECT na tabeli | Poproś administratora Security Lake o przydzielenie Lake Formation |
| Tabela nie znaleziona | Zły region w bazie danych lub nazwie tabeli | Użyj podkreślników: eu_west_1 |
| HIVE_PATH_ALREADY_EXISTS lub podobne | Prefiks docelowy nie jest pusty | Użyj nowego, pustego prefiksu |
| Ogromne koszty skanowania | Brak filtra na dzień zdarzenia | Zawsze filtruj według partycji |
| Pliki są skompresowane gzip | Kompresja pozostawiona na ustawieniu domyślnym | Ustaw kompresję = 'NONE’, lub użyj zcat |
FAQ
Czy mogę bezpośrednio czytać pliki Parquet?
Możesz, używając narzędzi do odczytu Parquet, ale Athena zajmuje się schematem i partycjami za Ciebie. Dla LogTotal, linie JSON z UNLOAD to najprostsza droga.
Czy OCSF to to samo co surowy CloudTrail?
Nie. Security Lake normalizuje zdarzenia do OCSF, więc nazwy pól różnią się od źródła oryginalnego.