0Pricing
Cloud & IT Cert Prep · Lekcja

Tworzenie tabel na podstawie danych CloudTrail

Zdefiniują Państwo schemat umożliwiający bezpośrednie odpytywanie zdarzeń audytowych.

Tworzenie tabel na podstawie danych CloudTrail to bezpłatna lekcja Cloud & IT Cert Prep na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Cloud & IT Cert Prep, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Cloud & IT Cert Prep zawiera 4 lekcji w sumie.

Dlaczego potrzebna jest tabela

Athena nie może wykonywać zapytań na surowych plikach S3, dopóki nie określi się, jak ma je odczytywać. Tabela mapuje pliki JSON CloudTrail w zasobniku S3 na nazwane kolumny wraz z ich typami. Po utworzeniu tabeli bogata struktura zdarzeń CloudTrail staje się dostępna za pomocą zwykłego SQL.

Struktura dzienników CloudTrail

CloudTrail dostarcza zdarzenia w formacie JSON, przy czym każdy rekord opisuje jedno wywołanie API i zawiera zagnieżdżone pola, takie jak userIdentity, eventName, sourceIPAddress i requestParameters. Schemat tabeli musi odzwierciedlać to zagnieżdżenie, w tym używać typów struct dla obiektów, aby zapytania mogły odwoływać się do pól takich jak userIdentity.arn.

Korzystanie z dostarczanego przez AWS DDL

Nie trzeba samodzielnie pisać schematu. AWS publikuje standardową instrukcję CREATE TABLE dla CloudTrail, a konsola CloudTrail i Athena mogą wygenerować ją za Państwa. Korzystanie z dostarczonego DDL gwarantuje prawidłowe zmapowanie każdego pola, w tym pól głęboko zagnieżdżonych, dzięki czemu zapytania nie pomijają danych.

SerDe

SerDe (Serializer/Deserializer) informuje Athenę, jak analizować poszczególne pliki. Tabele CloudTrail używają SerDe zaprojektowanego dla układu JSON CloudTrail, który rozpoznaje tablicę records i zagnieżdżone struktury. Wybór właściwego SerDe ma kluczowe znaczenie — niewłaściwy powoduje błędy analizy lub kolumny zawierające wartości null.

ROW FORMAT SERDE
  'com.amazon.emr.hive.serde.CloudTrailSerde'
STORED AS INPUTFORMAT
  'com.amazon.emr.cloudtrail.CloudTrailInputFormat'

Wskazywanie lokalizacji S3

Klauzula LOCATION tabeli wskazuje prefiks S3, w którym CloudTrail przechowuje logi — zazwyczaj jest to ścieżka zawierająca identyfikator konta i region. Poprawne określenie tego prefiksu ma znaczenie: zbyt szeroki spowoduje skanowanie nieistotnych danych, a zbyt wąski — pominięcie zdarzeń, które chcą Państwo odpytać.

Odpytywanie zagnieżdżonych pól

Po utworzeniu tabeli można odpytywać zagnieżdżone pola za pomocą notacji kropkowej, na przykład userIdentity.arn lub requestParameters.bucketName. Funkcje SQL pomagają rozpakowywać tablice i ciągi JSON. Właśnie tutaj Athena pokazuje swoje mocne strony podczas dochodzeń: można precyzyjnie filtrować według nazwy zdarzenia, principal i parametrów dowolnego wywołania API.

Crawler Glue jako alternatywa

Zamiast pisać DDL ręcznie, można użyć AWS Glue crawler, który przeskanuje dane w S3 i automatycznie wywnioskuje schemat do Data Catalog. W przypadku dobrze znanych formatów, takich jak CloudTrail, dostarczony DDL jest zwykle bardziej przejrzysty, ale crawlery są pomocne przy niestandardowych lub zmieniających się formatach logów, gdy wolą Państwo nie definiować schematu ręcznie.

Obsługa specyfiki JSON

JSON CloudTrail zawiera pola, które same są ciągami JSON, na przykład requestParameters, gdy wartości różnią się w zależności od usługi. Często analizuje się je podczas wykonywania zapytania za pomocą funkcji JSON. Świadomość, że niektóre kolumny są ciągami wymagającymi analizy, a nie wcześniej ustrukturyzowanymi kolumnami, pozwala uniknąć nieporozumień, gdy pole nie zachowuje się jak zwykła kolumna.

Tabele dzienników organizacji

W przypadku organization trail logi ze wszystkich kont trafiają do jednego bucketu, pod prefiksami właściwymi dla poszczególnych kont. Można utworzyć jedną tabelę obejmującą cały prefiks i odpytywać wszystkie konta jednocześnie albo osobne tabele dla każdego konta, aby zapewnić izolację. Ujednolicona tabela jest bardzo przydatna podczas wyszukiwania zagrożeń w całej organizacji za pomocą jednego zapytania.

Weryfikowanie tabeli

Po utworzeniu tabeli należy wykonać szybkie zapytanie SELECT z niewielką wartością LIMIT, aby potwierdzić, że zwracane są wiersze, a kolumny są wypełniane zgodnie z oczekiwaniami. Jeśli kolumny zawierają wartości null, prawdopodobnie niepoprawny jest SerDe, lokalizacja albo schemat. Taki test poprawności pozwala uniknąć budowania dochodzeń na tabeli, która po cichu nie działa prawidłowo.

Od tabeli do dochodzenia

Gdy tabela CloudTrail jest już poprawnie skonfigurowana, mają Państwo dostępny do odpytywania ślad audytowy obejmujący całą zarejestrowaną historię. Każde logowanie w konsoli, wywołanie API i błąd jest teraz wierszem, który można filtrować i agregować. Tabela ta stanowi podstawę zapytań dotyczących incydentów, które zostaną napisane w dalszej części.

Szybkie sprawdzenie

Sprawdź swoją wiedzę na temat tworzenia tabel.

Podsumowanie

Aby odpytywać CloudTrail w Athena, należy utworzyć table, która mapuje pliki JSON na kolumny, korzystając z dostarczonego przez AWS polecenia CREATE TABLE DDL, właściwego SerDe oraz odpowiedniej lokalizacji S3 LOCATION. Należy odpytywać nested fields za pomocą notacji kropkowej, analizować kolumny zawierające ciągi JSON podczas wykonywania zapytania i weryfikować wynik za pomocą niewielkiego zapytania SELECT. W przypadku organization trail można użyć jednej tabeli do wyszukiwania zagrożeń w całej organizacji.

Często zadawane pytania

Czy lekcja „Tworzenie tabel na podstawie danych CloudTrail” jest bezpłatna?

Tak — pełny tekst „Tworzenie tabel na podstawie danych CloudTrail” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Cloud & IT Cert Prep, przejdź na CoddyKit PRO. Kurs Cloud & IT Cert Prep zawiera 4 lekcji w sumie.

Co nauczysz się w „Tworzenie tabel na podstawie danych CloudTrail”?

Zdefiniują Państwo schemat umożliwiający bezpośrednie odpytywanie zdarzeń audytowych. Ćwiczysz Cloud & IT Cert Prep z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Cloud & IT Cert Prep?

Nie wymagamy żadnego doświadczenia. Cloud & IT Cert Prep w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.

Ile czasu zajmuje lekcja „Tworzenie tabel na podstawie danych CloudTrail”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Cloud & IT Cert Prep?

Tak. Każda lekcja Cloud & IT Cert Prep zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Odpytywanie logów S3 za pomocą Athena
  2. Tworzenie tabel na podstawie danych CloudTrail
  3. Badanie incydentów za pomocą zapytań SQL
  4. Partycjonowanie logów na rzecz szybkości i kosztów
← Powrót do Cloud & IT Cert Prep