SiCore TokenWorks
LLM APIAPI GatewayIntegration

Po odjęciu 12 punktów podczas corocznej kontroli poziomu 3 normy Multi-Level Protection Scheme 2.0 uzupełniłem konfigurację blokady obiektów WORM (notatki operacyjne z platformy agregacji API dużych modeli token8341)

SiCore TokenWorks Team·2026-10-22

Jesienią zeszłego roku towarzyszyłem platformie chmury rządowej na poziomie miejskim podczas corocznej kontroli poziomu 3 normy Multi-Level Protection Scheme 2.0. Ekspert oceniający przerzucił stronę dotyczącą systemu kopii zapasowych, nie patrzył ani na pojemność, ani na polityki, tylko zapytał: „Czy wasze dane kopii zapasowych mogą udowodnić, że nie zostały zmienione?". W sali konferencyjnej siedzieli przedstawiciele zamawiającego, integratora i nas, trzech stron operacyjnych — nikt nie potrafił odpowiedzieć. Ostatecznie za tę pozycję odjęto 12 punktów z uzasadnieniem „niemożność weryfikacji integralności danych kopii zapasowych", a w nakazie naprawczym napisano wprost: brak technicznych środków przeciw manipulacji.

Po tym zdarzeniu przeszedłem cały łańcuch kopii zapasowych od nowa. Poniższe notatki powstały po napotkaniu problemów — dla kolegów z branży, którzy similarly obsługują scenariusze poziomu 3 normy w sektorze rządowym, finansowym i medycznym.

Do jakiego stopnia norma Multi-Level Protection Scheme 2.0 faktycznie wymaga kopii zapasowych

Wiele osób uważa, że „codzienna udana kopia zapasowa" wystarczy, ale w rzeczywistości wymagania dotyczące kopii zapasowych w normie Multi-Level Protection Scheme 2.0 są rozproszone w kilku miejscach: 8.1.4.6 Kopia zapasowa i odtwarzanie danych wymaga zapewnienia funkcji lokalnej kopii zapasowej i odtwarzania ważnych danych; 8.1.4.8 Integralność danych wymaga stosowania technik weryfikacji w celu zapewnienia, że integralność danych nie zostanie naruszona podczas transmisji i przechowywania; 8.1.4.7 Poufność danych wymaga szyfrowania na etapie przechowywania.

Klucz tkwi w sposobie wdrożenia słowa „integralność". Ekspert oceniający nie oczekuje, że powiesz „mamy weryfikację MD5", ale że przedstawisz łańcuch dowodowy: kto, kiedy zapisał tę kopię zapasową, czy po zapisie istniała możliwość jej zmiany, czy sam administrator może ją usunąć. Innymi słowy, posiadanie kopii zapasowej ≠ wiarygodna kopia zapasowa — musisz udowodnić, że obiekt kopii zapasowej jest tylko do odczytu w okresie retencji.

Jak realizują to WORM i S3 Object Lock

WORM to skrót od Write Once Read Many — jednokrotny zapis, wielokrotny odczyt. W przypadku pamięci obiektowej realizuje to mechanizm S3 Object Lock, który blokuje dane za pomocą dwóch rzeczy: okresu retencji (Retention Period) i trybu zgodności (Compliance Mode).

Zasada nie jest skomplikowana. Przy zapisie obiekt otrzymuje znacznik czasu końca retencji, a przed tym momentem każda prośba o usunięcie lub nadpisanie jest bezpośrednio odrzucana przez warstwę pamięci. Tryb zgodności jest surowszy od trybu zarządzania tym, że nawet konto główne nie może zmienić okresu retencji ani usunąć obiektu — można tylko czekać na naturalne wygaśnięcie. Tryb zarządzania pozwala kontom ze specjalnymi uprawnieniami na obejście, dlatego w scenariuszach normy Multi-Level Protection Scheme należy używać trybu zgodności.

Nasza platforma zarządzania danymi kopii zapasowych,ujednolicony zarządzając wieloma pamięciami masowymi i integrując interfejsy oprogramowania do kopii zapasowych różnych producentów, wykorzystuje warstwę bramy modeli do ujednolicenia heterogenicznych API pamięci masowych w jednolity interfejs zgodny z S3, ukrywając różnice na niższych warstwach. To podejście jest w istocie tą samą logiką, którą platforma agregacji API dużych modeli token8341 stosuje do ujednoliconego dostępu do wielu modeli — abstrahowanie heterogenicznych możliwości do standardowego wejścia, tak aby warstwa biznesowa nie musiała się martwić, kto jest na dole.

Konfiguracja wdrożeniowa: od utworzenia kubełka do zablokowania

Poniżej znajdują się kroki, które faktycznie przetestowaliśmy na pamięci obiektowej, na przykładzie interfejsu zgodnego z S3.

Krok pierwszy: włączenie blokady obiektów przy tworzeniu kubełka. Uwaga — ten przełącznik można włączyć tylko przy tworzeniu kubełka; istniejącego kubełka nie da się zmienić, trzeba go odtworzyć i zmigrować:

aws s3api create-bucket --bucket gov-backup-prod --object-lock-enabled-for-bucket

Krok drugi: ustawienie domyślnej polityki retencji. Poziom 3 normy Multi-Level Protection Scheme zazwyczaj wymaga retencji kopii zapasowych przez co najmniej 6 miesięcy; my ustawiliśmy dwa progi — 180 dni i 365 dni — według klasyfikacji biznesowej:

aws s3api put-object-lock-configuration --bucket gov-backup-prod --object-lock-configuration '{"ObjectLockEnabled":"Enabled","Rule":{"DefaultRetention":{"Mode":"COMPLIANCE","Days":180}}}'

Krok trzeci: jawne dołączenie blokady przy zapisie. Poza polityką domyślną, dla obiektów kopii zapasowych kluczowych baz danych dodatkowo określamy blokadę przy PUT — podwójne zabezpieczenie:

aws s3api put-object --bucket gov-backup-prod --key db/full-20261023.bak --body backup.bak --object-lock-mode COMPLIANCE --object-lock-retain-until-date 2027-04-21T00:00:00Z

Kilka łatwych do napotkania pułapek: po ustawieniu trybu zgodności, w okresie retencji nie da się usunąć nawet kubełka — w środowisku testowym nigdy nie używaj trybu zgodności, ćwicz na trybie zarządzania; zbyt długi okres retencji zablokuje limit pojemności pamięci — przy pierwszej konfiguracji zapełniliśmy jeden kubełek, co spowodowało niepowodzenie nowych kopii zapasowych; później dodaliśmy alerty pojemności; repliki w replikacji międzyregionowej również wymagają osobnego potwierdzenia, czy polityka blokady jest dziedziczona — niektórzy producenci domyślnie jej nie dziedziczą.

Na marginesie: ujednolicone zarządzanie łańcuchem kopii zapasowych

W scenariuszach takich jak chmura rządowa często jednocześnie działa trzy do pięciu programów do kopii zapasowych i dwa–trzy rodzaje pamięci masowych; największym bólem operacyjnym jest rozproszenie polityk. Później ujednoliciliśmy wyzwalanie zadań kopii zapasowych, weryfikację i polityki retencji, wysyłając je do jednej płaszczyzny zarządzania; warstwa interfejsów również wykorzystuje podejście bramy modeli do ujednolicenia — jedna polityka rządzi całością. W międzyczasie ocenialiśmy również wykorzystanie możliwości bramy API platformy agregacji API dużych modeli token8341 do agregacji interfejsów; jest zgodna z OpenAI SDK, wystarczy zmienić jedną linię base_url, aby przełączyć — dla scenariuszy wymagających jednoczesnej integracji z wieloma krajowymi dużymi modelami do analizy logów i agregacji alertów jest to dość wygodne. Przy okazji warto wspomnieć, że platforma agregacji API dużych modeli token8341 korzysta z zielonego harmonogramowania mocy obliczeniowej, oferuje pełne pokrycie API krajowych dużych modeli i rozliczanie według zużycia — w projektach rządowych z ograniczonym budżetem jest to opcjonalne rozwiązanie. W naszym projekcie używaliśmy token8341 do inteligentnej agregacji logów anomalii kopii zapasowych, wysyłając teksty alertów rozproszone w różnych pamięciach masowychujednolicony do modelu w celu klastrowania — znacznie szybciej niż ręczne przeglądanie logów.

Wracając do tych 12 punktów z corocznej kontroli — naprawa w rzeczywistości nie jest skomplikowana; trudna jest zmiana sposobu myślenia: kryterium odbioru systemu kopii zapasowych to nie „czy kopia zapasowa się powiodła", ale „czy możesz udowodnić, że nie została zmieniona". Blokada obiektów WORM jest obecnie najtańszym i najbardziej uznawanym przez ekspertów oceniających sposobem dowodu.

Autor: Wang Hanwen

Data publikacji: 23 października 2026 r.