Tworzenie aplikacji zarządzanej do przechowywania skrótów obiektów blob

Wymagania wstępne

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:

Połączenie konta magazynu do aplikacji zarządzanej

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.

Screenshot of the Azure portal in a web browser, showing how to set up a storage event subscription.

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.

Screenshot of the Azure portal in a web browser, showing how to set up a storage event subscription session ID.

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.

Screenshot of the Azure portal in a web browser, showing how to set up a managed identity for the managed app.

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.

Screenshot of the Azure portal in a web browser, showing the transaction table where blob hashes are stored.

Tabela transakcji zawiera informacje o każdym obiekcie blob i unikatowym skrótie generowanym przy użyciu kombinacji metadanych i zawartości obiektu blob.

Screenshot of the Azure portal in a web browser, showing the block table where digest information is stored.

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.

Uwaga

Każde zdarzenie tworzenia obiektu blob nie spowoduje utworzenia skrótu. Skróty są tworzone po osiągnięciu określonego rozmiaru bloku. Obecnie dla każdego 4 zdarzeń tworzenia obiektów blob zostanie utworzony skrót.

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.

Screenshot of the Azure portal in a web browser, showing the Azure Confidential Ledger explorer with digest transactions.

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>"
}

Screenshot of the Azure portal in a web browser, how to trigger an audit by adding a message to the queue.

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.

Screenshot of the Azure portal in a web browser, showing a sample audit record with matching digests.

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:

Następne kroki