Tworzenie aplikacji zarządzanej do przechowywania skrótów obiektów blob
Wymagania wstępne
- Konto usługi Azure Storage
- Interfejs wiersza polecenia platformy Azure (opcjonalnie)
- Wersja języka Python obsługiwana przez zestaw Azure SDK dla języka Python (opcjonalnie)
Omówienie
Szyfrowany magazyn obiektów blob wspierany przez aplikację zarządzaną rejestru poufnego może służyć do zagwarantowania, że obiekty blob w kontenerze obiektów blob są zaufane i nie są modyfikowane. Aplikacja, po nawiązaniu połączenia z kontem magazynu, śledzi wszystkie obiekty blob dodawane do każdego kontenera na koncie magazynu w czasie rzeczywistym, oprócz obliczania i przechowywania skrótów w poufnym rejestrze platformy Azure. Inspekcje można przeprowadzać w dowolnym momencie, aby sprawdzić poprawność obiektów blob i upewnić się, że kontener obiektów blob nie został naruszony.
Wdrażanie aplikacji zarządzanej
Aplikację zarządzaną można znaleźć w witrynie Azure Marketplace tutaj: Skróty usługi Blob Storage wspierane przez poufne rejestry (wersja zapoznawcza).
Zasoby do utworzenia
Po wypełnieniu wymaganych pól i wdrożeniu aplikacji następujące zasoby są tworzone w ramach zarządzanej grupy zasobów:
- Rejestr poufny
- Kolejka usługi Service Bus z włączonymi sesjami
- Konto magazynu (konto magazynu należące do wydawcy używane do przechowywania logiki szyfrowania i historii inspekcji)
- Aplikacja funkcji
- Application Insights
Łączenie konta magazynu z aplikacją zarządzaną
Po utworzeniu aplikacji zarządzanej możesz połączyć aplikację zarządzaną z kontem magazynu, aby rozpocząć przetwarzanie i rejestrowanie skrótów kontenera obiektów blob w poufnym rejestrze platformy Azure.
Tworzenie tematu i subskrypcji zdarzeń dla konta magazynu
Aplikacja zarządzana używa kolejki usługi Azure Service Bus do śledzenia i rejestrowania wszystkich zdarzeń tworzenia obiektów blob . Użyjesz kolejki utworzonej w zarządzanej grupie zasobów przez aplikację zarządzaną i dodasz ją jako subskrybenta zdarzeń dla dowolnego konta magazynu, dla którego tworzysz obiekty blob.
W witrynie Azure Portal możesz przejść do konta magazynu, dla którego chcesz rozpocząć tworzenie skrótów obiektów blob i przejść do Events
bloku. W tym miejscu możesz utworzyć subskrypcję zdarzeń i połączyć ją z punktem końcowym kolejki usługi Azure Service Bus.
Kolejka używa sesji do utrzymania kolejności na wielu kontach magazynu, więc należy również przejść do Delivery Properties
karty i wprowadzić unikatowy identyfikator sesji dla tej subskrypcji zdarzeń.
Dodawanie wymaganej roli do konta magazynu
Aplikacja zarządzana wymaga Storage Blob Data Owner
roli do odczytywania i tworzenia skrótów dla każdego obiektu blob, a ta rola jest wymagana do dodania w celu poprawnego obliczenia skrótu.
Uwaga
Wiele kont magazynu można połączyć z jednym wystąpieniem aplikacji zarządzanej. Obecnie zalecamy maksymalnie 10 kont magazynu zawierających kontenery obiektów blob o wysokim użyciu.
Dodawanie obiektów blob i tworzenie skrótów
Po prawidłowym połączeniu konta magazynu z aplikacją zarządzaną obiekty blob mogą rozpocząć dodawanie do kontenerów na koncie magazynu. Obiekty blob są śledzone w czasie rzeczywistym, a skróty są obliczane i przechowywane w rejestrze poufnym platformy Azure.
Tabele transakcji i bloków
Wszystkie zdarzenia tworzenia obiektów blob są śledzone w tabelach wewnętrznych przechowywanych w aplikacji zarządzanej.
Tabela transakcji zawiera informacje o każdym obiekcie blob i unikatowym skrótie generowanym przy użyciu kombinacji metadanych i/ lub zawartości obiektu blob.
Tabela bloków zawiera informacje związane z każdym skrótem tworzonym dla kontenera obiektów blob, a skojarzony identyfikator transakcji dla skrótu jest przechowywany w rejestrze poufnym platformy Azure.
Ustawienia skrótu
Istnieje kilka ustawień skrótów, które można wybrać podczas tworzenia aplikacji zarządzanej. Możesz wybrać Hashing Algorithm
używany element do utworzenia skrótów niezależnie od tego, czy jest MD5
to , czy SHA256
. Możesz również wybrać liczbę obiektów blob zawartych w ramach każdego skrótu Digest Size
lub . Rozmiar skrótu waha się od 1-16
i jest liczbą obiektów blob, które zostaną skrócone razem w każdym bloku. Na koniec możesz wybrać skróty Hash Contents
i, które zostaną skróty podczas tworzenia każdego skrótu. Może to być File Contents + Metadata
każdy obiekt blob lub tylko File Contents
.
Wyświetlanie skrótu w rejestrze poufnym platformy Azure
Skróty przechowywane bezpośrednio w rejestrze Ledger Explorer
poufnym platformy Azure można wyświetlić, przechodząc do bloku.
Przeprowadzanie inspekcji
Jeśli kiedykolwiek chcesz sprawdzić poprawność obiektów blob dodanych do kontenera, aby upewnić się, że nie zostaną naruszone, inspekcja może zostać uruchomiona w dowolnym momencie. Inspekcja odtwarza każde zdarzenie tworzenia obiektu blob i ponownie oblicza skróty z obiektami blob przechowywanymi w kontenerze podczas inspekcji. Następnie porównuje ponownie obliczone skróty z skrótami przechowywanymi na platformie Azure Poufne i udostępnia raport zawierający wszystkie porównania skrótów oraz informację, czy kontener obiektów blob został naruszony.
Wyzwalanie inspekcji
Inspekcję można wyzwolić, dołączając następujący komunikat do kolejki usługi Service Bus skojarzonej z aplikacją zarządzaną:
{
"eventType": "PerformAudit",
"storageAccount": "<storage_account_name>",
"blobContainer": "<blob_container_name>"
}
Pamiętaj, aby uwzględnić Session ID
element , ponieważ kolejka ma włączone sesje.
Wyświetlanie wyników inspekcji
Po pomyślnym zakończeniu inspekcji wyniki inspekcji można znaleźć w kontenerze o nazwie <managed-application-name>-audit-records
found na odpowiednim koncie magazynu. Wyniki zawierają ponownie obliczony skrót, skrót pobrany z rejestru poufnego platformy Azure i informację, czy obiekty blob są modyfikowane.
Podczas tworzenia aplikacji zarządzanej, jeśli zdecydujesz się na alerty e-mail, otrzymasz wiadomość e-mail wysłaną do wiadomości e-mail podczas Audit Failure
lub w Audit Success and Failure
zależności od wybranej opcji.
Rejestrowanie i błędy
Dzienniki błędów można znaleźć w kontenerze o nazwie <managed-application-name>-error-logs
znaleziono na odpowiednim koncie magazynu. Jeśli zdarzenie tworzenia obiektu blob lub proces inspekcji zakończy się niepowodzeniem, przyczyna błędu zostanie zarejestrowana i zapisana w tym kontenerze. Jeśli masz jakiekolwiek pytania dotyczące dzienników błędów lub funkcji aplikacji, skontaktuj się z zespołem pomocy technicznej ds. rejestru poufnego platformy Azure podanym w szczegółach aplikacji zarządzanej.
Czyszczenie aplikacji zarządzanej
Możesz usunąć aplikację zarządzaną, aby wyczyścić i usunąć wszystkie skojarzone zasoby. Usunięcie aplikacji zarządzanej uniemożliwia śledzenie wszystkich transakcji obiektów blob i zatrzymanie tworzenia wszystkich skrótów. Raporty inspekcji pozostają prawidłowe dla obiektów blob, które zostały dodane przed usunięciem.
Więcej zasobów
Aby uzyskać więcej informacji na temat aplikacji zarządzanych i wdrożonych zasobów, zobacz następujące linki: