AWS Lake Formation
AWS Lake Formation
Zbuduj bezpieczny data lake w kilka dni zamiast miesiecy. Centralna kontrola dostepu na poziomie kolumn, wierszy i komorek.
AWS Lake Formation to serwis upraszczajacy budowanie, zabezpieczanie i zarzadzanie data lake na Amazon S3. Zamiast recznego konfigurowania polityk IAM, szyfrowania i katalogu danych, Lake Formation zapewnia centralny punkt kontroli dla calego data lake.
Najwieksza zaleta Lake Formation to fine-grained access control - mozesz kontrolowac dostep na poziomie kolumn, wierszy, a nawet pojedynczych komorek. Tag-based access control (LF-Tags) pozwala zarzadzac uprawnieniami tysiecy tabel za pomoca kilku tagow zamiast setek polityk IAM.
Przed Lake Formation konfigurowanie uprawnien do data lake wymagalo zarzadzania politykami IAM, bucket policies S3 i uprawnieniami Glue osobno. Lake Formation zastepuje to jednym centralnym systemem uprawnien - znacznie prostszym i bezpieczniejszym.
Uzywaj LF-Tags zamiast bezposrednich uprawnien do tabel. Gdy masz 500 tabel i 20 rol, konfiguracja 10 000 uprawnien jest nierealna. Z LF-Tags tworzysz kilka tagow (np. sensitivity, department) i nadajesz uprawnienia raz - nowe tabele dziedzicza uprawnienia automatycznie.
Lake Formation upraszcza proces budowania data lake, automatyzujac ingestion, katalogowanie i zabezpieczanie danych. Zamiast tygodni konfiguracji polityk IAM, masz centralny punkt kontroli dostepu do calego jeziora danych.
Rejestracja lokalizacji S3
Rejestrujesz buckety S3 jako lokalizacje data lake. Lake Formation przejmuje kontrole dostepu do tych bucketow - zamiast polityk S3 Bucket Policy, uzytkownicy uzyskuja dostep przez uprawnienia Lake Formation. Mozesz zarejestrowac wiele bucketow z roznych kont AWS, budujac rozproszone data lake.
Import danych przez Blueprinty
Blueprinty to gotowe szablony ETL, ktore automatycznie importuja dane z RDS, DynamoDB, CloudTrail czy logow S3 do data lake. Blueprint tworzy workflow oparty na AWS Glue, ktory mozesz uruchamiac wedlug harmonogramu. Dane ladowane sa w formacie Parquet lub CSV do zarejestrowanych lokalizacji S3.
Katalogowanie w Glue Data Catalog
Lake Formation wykorzystuje AWS Glue Data Catalog jako centralny metastore. Crawlery automatycznie wykrywaja schemat danych i tworza tabele w katalogu. Kazda tabela ma informacje o lokalizacji, formacie, partycjonowaniu i schemacie kolumn - wszystko dostepne dla Athena, Redshift Spectrum i EMR.
Konfiguracja LF-Tags
LF-Tags (Lake Formation Tags) to mechanizm tag-based access control. Tworzysz tagi np. sensitivity=high/medium/low i przypisujesz je do baz, tabel lub kolumn. Nastepnie nadajesz uprawnienia na podstawie tagow zamiast wskazywac konkretne zasoby. Jedna regula z LF-Tag moze zastapic setki polityk IAM.
Nadawanie uprawnien (Grants)
Definiujesz kto (IAM principal) ma jaki dostep (SELECT, INSERT, ALTER, DROP) do ktorych zasobow. Lake Formation obsluguje uprawnienia na poziomie bazy, tabeli, kolumny, a nawet wiersza (row-level security przez cell-level filtering). Permissions sa addytywne - nie ma deny, jest tylko brak grantu.
Zapytania przez serwisy analityczne
Uzytkownicy odpytuja dane przez Athena, Redshift Spectrum, EMR lub Glue ETL. Lake Formation transparentnie filtruje wyniki na podstawie uprawnien - uzytkownik widzi tylko kolumny i wiersze, do ktorych ma dostep. Serwisy analityczne nie wymagaja dodatkowej konfiguracji - Lake Formation dziala jako warstwa kontroli dostepu.
Wdrazanie Lake Formation wymaga przemyslanej strategii tagow i uprawnien. Ponizsze wskazowki pomoga uniknac typowych pulapek przy budowaniu bezpiecznego data lake.
Zacznij od LF-Tags zamiast named resources
Named resource permissions (wskazywanie konkretnych tabel) nie skaluja sie przy setkach tabel. LF-Tags pozwalaja nadac uprawnienia jednym grantem dla calej kategorii danych. Projektuj taksonomie tagow z wyprzedzeniem: sensitivity, domain, data-owner. Zmiana tagu na tabeli automatycznie zmienia uprawnienia wszystkich uzytkownikow.
ZaawansowanyMigracja z IAM do Lake Formation permissions
Lake Formation domyslnie dziala w trybie kompatybilnosci z IAM (IAMAllowedPrincipals). Aby wlaczyc pelna kontrole, musisz usunac ten domyslny grant i recznie nadac uprawnienia. Migruj tabela po tabeli, nie wszystko naraz. Testuj uprawnienia przez athena:GetQueryResults przed przelaczeniem produkcji.
ZaawansowanyGoverned Tables dla ACID na S3
Governed Tables umozliwiaja transakcje ACID na data lake - mozesz robic UPDATE i DELETE na danych w S3. Uzywaj ich gdy wiele procesow ETL pisze do tej samej tabeli jednoczesnie lub gdy musisz zagwarantowac spojnosc odczytow. Transakcje ACID na data lake realizuje sie dzis przez tabele Apache Iceberg (Governed Tables zostaly wycofane 31.12.2024).
ZaawansowanyCross-account sharing bez kopiowania danych
Lake Formation pozwala udostepniac tabele miedzy kontami AWS bez kopiowania danych. W koncie producenta nadajesz grant dla konta konsumenta, ktory tworzy resource link w swoim katalogu. Dziala z AWS Organizations i RAM (Resource Access Manager). To klucz do architektury data mesh w AWS.
ZaawansowanyMonitoruj dostep przez CloudTrail
Lake Formation loguje wszystkie operacje do CloudTrail: kto odpytywal jakie dane, kto zmienial uprawnienia, jakie granty zostaly nadane. Skonfiguruj alerty na zdarzenia typu GrantPermissions i RevokePermissions. Dla audytu regulacyjnego wlacz S3 server access logging na bucketach data lake.
PoczatkujacyPartycjonowanie danych w data lake
Projektuj partycjonowanie pod wzorce zapytan - najczesciej year/month/day. Unikaj zbyt drobnego partycjonowania (np. per-hour przy danych dziennych), bo Glue Data Catalog ma limit 10 milionow partycji na tabele. Uzywaj projection partitioning w Athena zamiast MSCK REPAIR TABLE dla duzych tabel.
PoczatkujacyScreenshoty z AWS Console
Wkrotce pojawia sie tu zrzuty ekranu pokazujace jak korzystac z AWS Lake Formation bezposrednio w konsoli AWS.
Do czego sluzy AWS Lake Formation?
Budowanie centralnego data lake
Blueprinty Lake Formation automatycznie importuja dane z baz danych, logow i innych zrodel do S3 w formacie gotowym do analizy.
Fine-grained access control
Kontroluj kto widzi ktore kolumny i wiersze. Zespol HR widzi dane osobowe, zespol analityczny widzi tylko zanonimizowane metryki.
Cross-account data sharing
Udostepniaj tabele i kolumny miedzy kontami AWS bez kopiowania danych. Idealny dla organizacji z wieloma kontami.
Governed tables i ACID
Governed tables zapewniaja transakcje ACID na data lake. Mozesz aktualizowac dane bez ryzyka niespojnosci.
Co musisz wiedziec?
Data Lake
Centralne repozytorium danych w S3 przechowujace surowe dane w roznych formatach (Parquet, JSON, CSV). Lake Formation zarzadza dostepem i metadanymi.
LF-Tags (Tag-Based Access Control)
System tagow do zarzadzania uprawnieniami. Przypisz tag "sensitive=true" do kolumny, a potem nadaj dostep do tagu zamiast do kazdej tabeli osobno.
Blueprint
Gotowy szablon workflow do importu danych z roznych zrodel (RDS, CloudTrail, S3) do data lake. Automatyzuje ETL i rejestracje w Data Catalog.
Governed Table
Tabela z obsluga transakcji ACID w data lake. Zapewnia izolacje odczytow i atomowe zapisy - jak baza danych, ale na S3.
Data Sharing
Mechanizm udostepniania tabel i kolumn miedzy kontami AWS. Odbiorca widzi dane w swoim Glue Data Catalog bez kopiowania.
Data Filter
Regula filtrowania danych na poziomie wierszy i kolumn. Rozni uzytkownicy widza rozne podzbiory tej samej tabeli.
Architektura: Bezpieczny data lake z Lake Formation
Centralny data lake z fine-grained access control, gdzie rozne zespoly maja dostep tylko do danych odpowiadajacych ich roli. Dane ingestionowane z wielu zrodel, katalogowane automatycznie i odpytywane przez serwisy analityczne.
Ile kosztuje AWS Lake Formation?
Lake Formation (podstawa)
Sam serwis Lake Formation nie pobiera dodatkowych oplat. Platisz za uzywane serwisy (S3, Glue, Athena).
Lake Formation: $0 (brak dodatkowej oplaty)
S3 Storage
Przechowywanie danych w data lake. Koszty zaleza od klasy storage S3 i ilosci danych.
S3 Standard: ~$0.023/GB/mies.
Glue Data Catalog
Lake Formation uzywa Glue Data Catalog do metadanych. Pierwszy milion obiektow za darmo.
Ponad Free Tier: $1.00/100k obiektow/mies.
Przyklady AWS CLI
Zarejestruj lokalizacje S3 w Lake Formation
Rejestruje bucket S3 jako lokalizacje data lake
aws lakeformation register-resource \
--resource-arn arn:aws:s3:::moj-data-lake \
--use-service-linked-role
Nadaj uprawnienia do tabeli
Nadaje uprawnienia SELECT na wybrane kolumny tabeli
aws lakeformation grant-permissions \
--principal DataLakePrincipalIdentifier=arn:aws:iam::123456789012:role/AnalystRole \
--resource '{"Table":{"DatabaseName":"moja-baza","Name":"sprzedaz"}}' \
--permissions SELECT \
--permissions-with-grant-option []
Wyswietl uprawnienia do bazy
Lista wszystkich uprawnien nadanych do danej bazy danych
aws lakeformation list-permissions \
--resource-type DATABASE \
--resource '{"Database":{"Name":"moja-baza"}}' \
--query 'PrincipalResourcePermissions[].{Principal:Principal.DataLakePrincipalIdentifier,Permissions:Permissions}' \
--output table
Utworz LF-Tag
Tworzy tag do kontroli dostepu opartej na tagach
aws lakeformation create-lf-tag \
--tag-key "sensitivity" \
--tag-values "public" "internal" "confidential"
Quiz: AWS Lake Formation
Sprawdz czy dobrze rozumiesz podstawy. Kliknij odpowiedz — feedback pojawi sie od razu.
1. Co to sa LF-Tags w Lake Formation?
2. Na jakim poziomie Lake Formation kontroluje dostep do danych?
3. Czy Lake Formation pobiera dodatkowe oplaty?
Czesto uzywane razem z AWS Lake Formation
Chcesz poznac AWS Lake Formation w praktyce?
Darmowy kurs "AWS od podstaw" pokazuje jak uzywac AWS Lake Formation krok po kroku. Teoria + praktyka od zera.