Amazon MLA-C01: Bezpieczeństwo, zarządzanie i zgodność — Przewodnik do nauki

Część AWS Machine Learning Engineer Associate MLA-C01 — Przewodnik do nauki. Ćwicz ze zweryfikowanymi odpowiedziami w centrum egzaminów Amazon, albo rozwiąż testy na czas na ExamRoll.io.

Role IAM, zasada najmniejszych uprawnień i konteksty wykonawcze SageMaker

Zarządzanie tożsamością i dostępem dla obciążeń ML wymaga jawnego, podlegającego audytowi rozdzielenia uprawnień między użytkownikami (ludźmi), systemami CI/CD a zasobami obliczeniowymi w czasie wykonania. Dla SageMaker oznacza to zdefiniowanie dedykowanej roli wykonawczej (roli IAM z AssumeRolePolicyDocument, która zezwala na dostęp usłudze SageMaker, czyli sagemaker.amazonaws.com) i ograniczenie uprawnień tej roli do minimalnego wymaganego zestawu działań: GetObject/PutObject w S3 dla określonych prefiksów, kms:Decrypt/kms:Encrypt dla jednego lub więcej kluczy CMK zarządzanych przez klienta, logs:CreateLogStream i logs:PutLogEvents dla określonych ARN-ów LogGroup oraz sts:AssumeRole tylko wtedy, gdy wymagany jest dostęp międzykontowy. Dołącz warunki polityki na poziomie zasobów (aws:SourceAccount i aws:SourceArn), aby artefakty utworzone przez konkretne zadanie lub potok SageMaker nie mogły być wykradzione przez inne podmioty (principals). Używaj oddzielnych ról do trenowania, budowania modelu i hostingu (pola RoleArn przekazywane do CreateTrainingJob, CreateModel, CreateEndpointConfig), aby uprawnienia w czasie wykonania były odseparowane; przechowuj ARN-y tych ról w kodzie lub potokach jako parametry, zamiast osadzać poświadczenia.

Dla tymczasowego dostępu deweloperskiego i zatwierdzeń przez ludzi, preferuj role IAM przyjmowane za pomocą AWS STS z krótkoterminowymi poświadczeniami, zamiast długoterminowych kluczy użytkownika IAM. Wymuszanie wieloosobowych przeglądów i separacji obowiązków (separation of duties) osiąga się poprzez połączenie granic uprawnień IAM (permission boundaries), AWS Single Sign-On lub dostawcy tożsamości OIDC (IdP) oraz kontroli na poziomie zasobów w pakietach SageMaker Model Registry. Gdy przepływy pracy wymagają tymczasowego podniesienia uprawnień (na przykład w celu zatwierdzenia pakietu modelu), użyj przepływu zatwierdzania w SageMaker Model Registry, który ustawia ModelApprovalStatus na „PendingManualApproval” i wymagaj, aby podmiot IAM (principal) z wąsko zdefiniowanym uprawnieniem sagemaker:ApproveModelPackage zmienił go na „Approved”.

Izolacja VPC, kontrola sieci i szyfrowanie

Izolacja sieciowa zaczyna się od umieszczenia instancji treningowych i inferencyjnych SageMaker w podsieciach VPC z jawną konfiguracją VpcConfig (ID podsieci i ID grup bezpieczeństwa) dostarczoną do API CreateTrainingJob, CreateModel, CreateEndpointConfig i CreateProcessingJob. Połącz to z punktami końcowymi VPC (Interface endpoints dla com.amazonaws.region.sagemaker i com.amazonaws.region.s3 przez AWS PrivateLink lub Gateway endpoints dla S3), aby artefakty modeli i ruch API nigdy nie przechodziły przez publiczny internet. Włącz VPC Flow Logs dla podsieci i użyj reguł Security Group, aby ograniczyć ruch wychodzący (egress) tylko do wymaganych adresów i portów, na przykład tylko do punktu końcowego S3 VPC lub do bramy NAT, jeśli dozwolone jest pobieranie zewnętrznych pakietów.

Szyfrowanie musi być stosowane zarówno dla danych w spoczynku (at rest), jak i w tranzycie (in transit). Dla danych w spoczynku użyj szyfrowania po stronie serwera S3 z AWS KMS (SSE-KMS) i zabezpiecz klucze za pomocą klucza CMK zarządzanego przez klienta, który ma polityki klucza ograniczające dostęp administratorom i roli wykonawczej SageMaker (umieść ARN klucza CMK w OutputDataConfig.KmsKeyId lub w nagłówkach SSE-KMS dla operacji PutObject w S3 dla artefaktów). Dla woluminów EBS dołączonych do instancji treningowych, określ szyfrowanie woluminu za pomocą ResourceConfig i upewnij się, że klucz KMS dla EBS jest ustawiony. Dla ruchu między kontenerami i transferów sieciowych, włącz EnableInterContainerTrafficEncryption i EnableNetworkIsolation w CreateTrainingJob/CreateModel, aby wymusić TLS dla ruchu międzykontenerowego i zablokować wychodzący dostęp do internetu; dodatkowo, wszystkie wywołania REST i SDK do SageMaker i S3 powinny domyślnie korzystać z HTTPS/TLS. Rotuj klucze CMK za pomocą opcji EnableKeyRotation na kluczu CMK i audytuj użycie kluczy za pomocą zdarzeń KMS w CloudTrail.

Logowanie audytowe, zdarzenia danych i śledzenie pochodzenia (lineage)

Kompleksowa ścieżka audytu łączy logi z płaszczyzny zarządzania (management plane) i zdarzenia z płaszczyzny danych (data plane). Użyj AWS CloudTrail do rejestrowania wszystkich wywołań API SageMaker i IAM; włącz logowanie zdarzeń danych w CloudTrail dla bucketów S3 (PutEventSelectors z DataResources wskazującymi na ARN S3), aby przechwytywać odczyty/zapisy na poziomie obiektów dla zbiorów danych treningowych i artefaktów modeli. Wysyłaj logi kontenerów i logi systemowe zadań treningowych do CloudWatch Logs, upewniając się, że rola wykonawcza ma uprawnienia logs:CreateLogStream i logs:PutLogEvents; polityki retencji i filtry subskrypcji mogą przesyłać strumieniowo te logi do centralnego systemu SIEM. Do audytu na poziomie sieci włącz VPC Flow Logs, a do wykrywania podejrzanej aktywności subskrybuj wyniki z GuardDuty oraz Amazon Macie do wykrywania danych wrażliwych w S3.

Śledzenie pochodzenia (lineage) wymaga przechwytywania proweniencji artefaktów na etapach przetwarzania wstępnego, trenowania, oceny i wdrażania. Użyj SageMaker Pipelines i SageMaker Experiments do automatycznego tworzenia rekordów Experiment, Trial i TrialComponent; te API rejestrują parametry, dane wejściowe, metryki i metadane ModelPackage. Utrwalaj metadane w centralnym magazynie metadanych: AWS Glue Data Catalog może służyć jako katalog zbiorów danych i przechowywać metadane na poziomie tabel oraz informacje o partycjonowaniu, podczas gdy usługa metadanych SageMaker łączy wykonania potoków z artefaktami modeli. W przypadku pozyskiwania danych z wielu kont lub źródeł, scentralizuj połączenia za pomocą AWS Glue connections (JDBC dla lokalnej bazy danych MySQL) lub użyj AWS Database Migration Service (DMS) do replikacji danych transakcyjnych do S3/Redshift, gdzie crawlery Glue mogą je zindeksować, a następnie odwołuj się do wynikowych tabel Glue z potoków, aby utrzymać audytowalną ścieżkę pochodzenia danych.

Zarządzanie modelami: rejestr, karty modeli i monitorowanie

SageMaker Model Registry (grupy pakietów modeli i obiekty ModelPackage) zapewnia kanoniczny, centralny magazyn modeli z wbudowanymi stanami cyklu życia oraz hakami (hooks) dla CI/CD. Zarejestruj wytrenowany model w ModelPackageGroup i ustaw ModelApprovalStatus na „PendingManualApproval”; automatyzacja (CodePipeline, Step Functions) może wstrzymać działanie, aby upoważniony podmiot (principal) mógł wywołać UpdateModelPackage z ModelApprovalStatus ustawionym na „Approved”. Połącz rejestr z SageMaker Model Cards, aby dokumentować zamierzone zastosowanie, zbiory danych, hiperparametry treningowe, odniesienia do pochodzenia danych (lineage), metryki wydajności, metryki sprawiedliwości (fairness) z SageMaker Clarify oraz oświadczenia o zgodności. Karty modeli (Model Cards) powinny być tworzone jako ustrukturyzowane metadane i przechowywane razem z ModelPackage, aby recenzje, ścieżki audytowe i karty modeli pozostawały w tej samej lokalizacji co artefakty binarne.

Monitorowanie operacyjne jest realizowane za pomocą SageMaker Model Monitor do wykrywania dryftu jakości danych i modelu (data and model quality drift) oraz SageMaker Clarify do analizy obciążenia (bias) i wyjaśnialności (explainability). Włącz DataCaptureConfig podczas wywołania CreateEndpoint, aby przechwytywać zawartość żądań i odpowiedzi do bezpiecznego prefiksu S3 (z SSE-KMS), następnie skonfiguruj zadania generowania linii bazowej (baseline) w Model Monitor (używając statystyk i ograniczeń bazowych) i zaplanuj zadania monitorujące lub uruchamiaj analizę na żądanie. W przypadku dryftu obciążenia (bias drift) na wdrożonych endpointach czasu rzeczywistego, przechwytuj dane inferencyjne oraz dane referencyjne (ground-truth), gdy są dostępne, uruchamiaj zadania analizy obciążenia (bias jobs) Clarify na przechwyconym zbiorze danych i przechowuj raporty Clarify w S3 oraz w kartach modeli (Model Cards). Alerty i działania naprawcze można powiązać z alarmami CloudWatch Alarms i maszynami stanu Step Functions, które implementują wzorce wycofywania zmian (rollback) lub kwarantanny.

Wzorce projektowe, kompromisy i częste pułapki

Przy centralizacji wielu źródeł danych, wzorcem o najniższym narzucie operacyjnym jest użycie AWS Glue z jego konektorami JDBC oraz AWS Lake Formation do precyzyjnej kontroli dostępu; użycie DMS do replikacji źródeł transakcyjnych do S3 daje lepszą izolację dla potoków ML, ale zwiększa złożoność operacyjną. W celu zmniejszenia opóźnienia w dostępie do zbioru danych podczas powtarzalnych zadań treningowych, strumieniowanie danych wejściowych z S3 w trybie Pipe lub montowanie współdzielonego systemu plików, takiego jak Amazon FSx for Lustre (eksportującego przestrzeń nazw POSIX do instancji treningowych), skraca czas uruchomienia w porównaniu z wielokrotnym kopiowaniem dużych zbiorów danych na lokalne woluminy EBS. Kompromis polega na tym, że FSx generuje dodatkowe koszty i wymaga zarządzania; tryb Pipe jest prostszy, ale wymaga, aby kontener treningowy obsługiwał strumieniowe dane wejściowe (RecordIO, protobuf).

Aby obsłużyć nierównowagę klas i zmienne kategoryczne przy minimalnym nakładzie pracy operacyjnej, wykorzystaj Data Wrangler lub SageMaker Processing do tworzenia spójnych transformacji i przechowuj dane o cechach w SageMaker Feature Store, dzięki czemu zarówno trening offline, jak i wnioskowanie online współdzielą tę samą transformację. W przypadku samej nierównowagi klas, preferuj najpierw rozwiązania na poziomie algorytmu (dla XGBoost ustaw scale_pos_weight na num_negative/num_positive) przed resamplingiem na poziomie danych; podejścia algorytmiczne pozwalają uniknąć tworzenia syntetycznych rekordów i są operacyjnie prostsze dla potoków. Do wykrywania anomalii i kontroli jakości zbioru danych, wybierz pomiędzy usługami dedykowanymi a modelami niestandardowymi: Amazon Lookout for Metrics oferuje zautomatyzowane wykrywanie anomalii i wizualizację z konektorami do wielu źródeł, podczas gdy wbudowany w SageMaker algorytm Random Cut Forest integruje się bezpośrednio z potokami i daje pełną kontrolę nad niestandardowymi progami i wyjaśnialnością.

Częste pułapki to między innymi zbyt szerokie role IAM (nadmierne uprawnienia s3:* lub kms:*), brak włączenia zdarzeń danych CloudTrail dla S3, co prowadzi do martwych punktów podczas eksfiltracji artefaktów modelu, niewłączanie punktów końcowych VPC i tym samym niezamierzone kierowanie danych przez publiczny internet, oraz pomijanie przepływu pracy zatwierdzania modelu (Model Approval), co skutkuje promowaniem niezweryfikowanych modeli. Innym częstym błędem jest przechowywanie wrażliwych danych w postaci zwykłego tekstu w S3 bez szyfrowania SSE-KMS lub nieograniczanie polityk kluczy KMS w celu uniemożliwienia użycia klucza przez nieautoryzowane podmioty.

Praktyczny problem: Scenariusz użycia

AcmeFin: model wykrywania oszustw dla finansowej aplikacji internetowej. Źródła danych obejmują logi transakcji i profile klientów w S3 oraz lokalne (on-premises) tabele MySQL zawierające oceny ryzyka klienta. Cele to: bezpieczne i audytowalne potoki, niskie opóźnienie uruchomienia treningu przy częstym ponownym trenowaniu, ręczna bramka zatwierdzania przed wdrożeniem produkcyjnym, ocena biasu/dryfu na żądanie dla wdrożonych punktów końcowych oraz zautomatyzowane wykrywanie anomalii i wizualizacja danych przychodzących.

  1. Pozyskiwanie i centralizacja danych: użyj AWS DMS do replikacji lokalnej bazy MySQL do prefiksu docelowego w S3 z rygorystycznym szyfrowaniem SSE-KMS (polityka bucketa ograniczona do kont AcmeFin). Zarejestruj zbiory danych i partycje S3 w AWS Glue Data Catalog za pomocą crawlerów Glue i egzekwuj dostęp poprzez uprawnienia Lake Formation. Uzasadnienie: DMS zapewnia ciągłą replikację dla tabel transakcyjnych, a Glue Catalog centralizuje metadane i umożliwia śledzenie pochodzenia danych (lineage) w procesach ETL i treningu.

  2. Zabezpieczenie zasobów obliczeniowych i pamięci masowej: utwórz


Monitorowanie modeli i obserwowalność · Wszystkie domeny · Generatywna AI i modele fundamentalne

Przećwicz te pytania → · Testy na czas na ExamRoll.io →

Pass the whole exam — not just this question

You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.

Zdaj egzamin →

Przeglądaj Amazon →

Related guides

Dostęp all-in-one

Jedna subskrypcja. Każdy egzamin.

Każdy plan odblokowuje nieograniczone wyszukiwanie odpowiedzi, testy praktyczne, wyjaśnienia AI i pełną bibliotekę zasobów — w ponad 20 językach.

Miesięczny
24.87
Just €0.83/day
Wszystko w cenie:
  • Nieograniczone wyszukiwanie odpowiedzi
  • Nieograniczone testy praktyczne
  • Wyjaśnienia wspomagane AI
  • Pełna biblioteka zasobów
  • Ponad 20 języków
  • Cotygodniowe aktualizacje treści
  • Nagrody i polecenia
  • Priorytetowe wsparcie
Rozpocznij bezpłatny okres próbny

Karta kredytowa nie jest wymagana*

Najlepsza wartość
12 miesięcy
179.87
Just €0.49/daySave 40%
Wszystko w cenie:
  • Nieograniczone wyszukiwanie odpowiedzi
  • Nieograniczone testy praktyczne
  • Wyjaśnienia wspomagane AI
  • Pełna biblioteka zasobów
  • Ponad 20 języków
  • Cotygodniowe aktualizacje treści
  • Nagrody i polecenia
  • Priorytetowe wsparcie
Rozpocznij bezpłatny okres próbny

Karta kredytowa nie jest wymagana*

✓ Plan darmowy w zestawie · ✓ Anuluj w dowolnym momencie · ✓ Wszystkie plany odblokowują pełny produkt