Udostępnij przez


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

Możesz użyć skrótu usługi Azure Blob Storage wspieranego przez aplikację zarządzaną przez poufne rejestry platformy Azure, aby upewnić się, że obiekty blob w kontenerze obiektów blob są zaufane i nie są modyfikowane. Po połączeniu aplikacji z kontem magazynowym śledzi ona wszystkie bloby dodawane do każdego kontenera w koncie magazynowym w czasie rzeczywistym. Oblicza również i przechowuje skróty w poufnym rejestrze. Audyty można przeprowadzać w dowolnym momencie, aby sprawdzić poprawność obiektów blob i upewnić się, że kontener obiektów blob nie został naruszony.

Wymagania wstępne

Wdrażanie aplikacji zarządzanej

Aby znaleźć aplikację zarządzaną w witrynie Azure Marketplace, zapoznaj się ze Skrótami usługi Blob Storage obsługiwanymi przez poufny rejestr (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:

Łączenie konta magazynu z aplikacją zarządzaną

Po pomyślnym wdrożeniu aplikacji zarządzanej można połączyć ją z kontem usługi Azure Storage, aby umożliwić przetwarzanie i rejestrowanie skrótów kontenera obiektów blob w poufnym rejestrze.

Aplikacja zarządzana obsługuje obecnie następujące typy kont magazynu:

  • Konta magazynowe Standardowa General-Purpose v2, w tym konta skonfigurowane dla warstw gorąca, chłodna lub archiwum.
  • Konta usługi Azure Data Lake Storage Gen2 z włączoną hierarchiczną przestrzenią nazw .
  • Konta magazynu z konfiguracjami publicznego lub prywatnego punktu końcowego, jeśli zostaną przyznane odpowiednie uprawnienia sieci i tożsamości.
  • Warstwy wydajności w warstwie Standardowa lub Premium, jeśli usługa Blob Service jest włączona.

Obsługiwana jest tylko usługa Blob Storage. Inne usługi (na przykład Azure Files, Table Storage lub Queue Storage) nie mają zastosowania do użytku z aplikacją zarządzaną.

Tworzenie tematu i subskrypcji zdarzeń dla konta magazynu

Aplikacja zarządzana używa kolejki Service Bus do śledzenia i rejestrowania wszystkich zdarzeń tworzenia obiektów blob i usuwania obiektów blob. Korzystasz z kolejki utworzonej przez aplikację zarządzaną w zarządzanej grupie zasobów i dodajesz ją jako subskrybenta zdarzeń dla dowolnego konta magazynu, dla którego tworzysz bloby. Upewnij się również, że wartość Nazwa tematu systemowego skojarzona z kontem magazynu, które śledzisz, jest przypisana jako Nadawca Danych Usługi Azure Service Bus do kolejki usługi Service Bus utworzonej przez zarządzaną aplikację.

Zrzut ekranu przedstawiający sposób konfigurowania roli usługi Service Bus.

Zrzut ekranu przedstawiający sposób konfigurowania subskrypcji zdarzeń przechowywania.

W portalu Azure możesz przejść do konta magazynu, dla którego chcesz rozpocząć tworzenie skrótów obiektów blob i przejść do panelu Zdarzenia. W tym miejscu możesz utworzyć subskrypcję zdarzeń i połączyć ją z punktem końcowym kolejki usługi Service Bus. W polu Typ tożsamości zarządzanej wybierz pozycję Przypisane przez system.

Zrzut ekranu pokazujący, jak skonfigurować identyfikator sesji subskrypcji zdarzeń magazynu.

Kolejka używa sesji do utrzymania kolejności w wielu kontach magazynowania, dlatego musisz również przejść do karty Właściwości dostarczania, aby wprowadzić unikatowy identyfikator sesji dla tej subskrypcji zdarzeń.

Dodaj wymaganą rolę do konta magazynowego

Aplikacja zarządzana wymaga roli właściciela danych w obiektach blob usługi Storage do odczytywania i tworzenia skrótów dla każdego obiektu blob. Należy dodać tę rolę, aby skrót był obliczany poprawnie.

Zrzut ekranu przedstawiający sposób konfigurowania tożsamości zarządzanej dla aplikacji zarządzanej.

Uwaga

Możesz podłączyć wiele kont magazynowych do jednego wystąpienia 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 skonfigurowaniu konta magazynowego z aplikacją zarządzaną, można rozpocząć dodawanie obiektów BLOB do kontenerów na koncie magazynowym. Obiekty blob są śledzone w czasie rzeczywistym. Skróty są obliczane i przechowywane w rejestrze poufnym.

Tabele transakcji i bloków

Wszystkie zdarzenia tworzenia obiektów blob są śledzone w tabelach wewnętrznych przechowywanych w aplikacji zarządzanej.

Zrzut ekranu przedstawiający tabelę transakcji, w której są przechowywane skróty obiektów blob.

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

Zrzut ekranu przedstawiający tabelę bloków, w której są przechowywane informacje skrótu.

Tabela bloków zawiera informacje dotyczące każdego skrótu utworzonego dla kontenera blobów. Skojarzony identyfikator transakcji dla skrótu jest przechowywany w poufnym rejestrze.

Ustawienia skrótu

Zrzut ekranu przedstawiający wdrażanie aplikacji zarządzanej, która wyświetla ustawienia podsumowania.

Podczas tworzenia aplikacji zarządzanej można wybrać kilka ustawień podsumowania.

  • Algorytm wyznaczania skrótu: wybierz MD5 lub SHA256 dla algorytmu używanego do tworzenia skrótów.
  • Zawartość skrótu: wybierz Zawartość pliku i metadane lub Zawartość pliku, aby zidentyfikować wartość każdego blobu i co jest skracane, gdy tworzony jest każdy skrót.
  • Rozmiar skrótu: Wybierz liczbę elementów blob, które znajdują się w ramach każdego skrótu. Rozmiar skrótu waha się od 1 do 16 i jest liczbą obiektów blob, które są szyfrowane razem w każdym bloku.

Wyświetlanie skrótu w poufnym rejestrze

Skróty przechowywane bezpośrednio w poufnym rejestrze można wyświetlić, przechodząc do okienka Eksplorator rejestru .

Zrzut ekranu przedstawiający okienko Eksploratora księgi z transakcjami podsumowującymi.

Przeprowadzanie inspekcji

Aby sprawdzić poprawność obiektów blob dodanych do kontenera, aby upewnić się, że nie zostały naruszone, możesz uruchomić inspekcję 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 w poufnym rejestrze. Inspekcja zawiera raport, który wyświetla wszystkie porównania skrótów i 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>"
}

Zrzut ekranu przedstawiający sposób wyzwalania inspekcji przez dodanie komunikatu do kolejki.

Pamiętaj, aby uwzględnić identyfikator sesji, ponieważ kolejka włącza sesje.

Wyświetlanie wyników inspekcji

Zrzut ekranu przedstawiający przykładowy rekord inspekcji z pasującymi skrótami.

Po pomyślnym przeprowadzeniu inspekcji można znaleźć wyniki inspekcji w kontenerze o nazwie <managed-application-name>-audit-records, znajdującym się na odpowiednim koncie magazynowym. Wyniki zawierają przeliczony skrót, skrót pobrany z rejestru poufnego i informację, czy bloby zostały naruszone.

Zrzut ekranu z wyświetlonymi ustawieniami aprowizacji aplikacji zarządzanej oraz ustawieniami alertu poczty e-mail audytu.

Jeśli zdecydujesz się na alerty e-mail podczas tworzenia aplikacji zarządzanej, otrzymasz alert wysłany na adres e-mail. Możesz wybrać pozycję Niepowodzenie inspekcji lub Powodzenie inspekcji i niepowodzenie.

Włączanie inspekcji śledzenia użytkowników

Możesz śledzić, którzy użytkownicy przesłali lub usunęli obiekty blob przy użyciu dzienników diagnostycznych przesyłanych do wewnętrznego konta magazynu utworzonego przez zarządzaną aplikację.

1. Włączanie ustawień diagnostycznych

  1. Przejdź do konta magazynu i wybierz Monitorowanie>Ustawienia diagnostyczne.
  2. Dodaj nowe ustawienie dla usługi blob .
  3. Włącz następujące opcje:
    • Zapis w pamięci
    • Usuwanie pamięci
  4. Ustaw lokalizację docelową na wewnętrzne konto magazynu archiwum utworzone przez aplikację zarządzaną.

2. Wyślij następujący komunikat do kolejki usługi Service Bus (z identyfikatorem sesji)

Po wyświetleniu dzienników diagnostycznych przepływających do konta magazynu można dodać getUsers pole po wyzwoleniu zdarzenia inspekcji:

{
"eventType": "PerformAudit",
"storageAccount": "<storage_account_name>",
"blobContainer": "<blob_container_name>",
"getUsers": true
}

3. Sprawdź wyniki inspekcji

Po pomyślnym przetworzeniu audytu, każdy wpis zawiera informacje o użytkowniku, który wykonał operację, wraz z jego identyfikatorem OID, jeśli został znaleziony.

"user": {
  "upn": "user@example.com",
  "oid": "<object-id>"
}

Rejestrowanie i błędy

Dzienniki błędów można wyświetlić w kontenerze o nazwie <managed-application-name>-error-logs, który można znaleźć w odpowiednim koncie magazynowym. 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 pytania dotyczące dzienników błędów lub funkcji aplikacji, skontaktuj się z zespołem pomocy technicznej poufnego rejestru platformy Azure. Informacje kontaktowe są udostępniane w szczegółach aplikacji zarządzanej.

Czyszczenie aplikacji zarządzanej

Aplikację zarządzaną można usunąć, aby wyczyścić i usunąć wszystkie skojarzone zasoby. Usunięcie aplikacji zarządzanej uniemożliwia śledzenie wszystkich transakcji obiektów blob. Spowoduje to również 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 artykuły: