Der Blob Storage Digest, gesichert durch Confidential Ledger kann verwendet werden, um sicherzustellen, dass die Blobs in einem Blobcontainer vertrauenswürdig und nicht manipuliert werden. Die Anwendung, die einmal mit einem Speicherkonto verbunden ist, verfolgt alle Blobs, die jedem Container im Speicherkonto in Echtzeit hinzugefügt werden, zusätzlich zur Berechnung und Speicherung der Digests in Azure Confidential Ledger. Überprüfungen können jederzeit durchgeführt werden, um die Gültigkeit der Blobs zu überprüfen und sicherzustellen, dass der Blob-Container nicht manipuliert ist.
Sobald die erforderlichen Felder ausgefüllt und die Anwendung bereitgestellt wird, werden die folgenden Ressourcen unter einer verwalteten Ressourcengruppe erstellt:
Verbinden eines Speicherkontos mit der verwalteten Anwendung
Nachdem eine verwaltete Anwendung erstellt wurde, können Sie die verwaltete Anwendung mit Ihrem Speicherkonto verbinden, um mit der Verarbeitung und Aufzeichnung von Blob-Containerdigests in Azure Confidential Ledger zu beginnen.
Erstellen eines Themas und eines Ereignisabonnements für das Speicherkonto
Die verwaltete Anwendung verwendet eine Azure Service Bus-Warteschlange, um alle Blob erstellen- und Blob löschen-Ereignisse nachzuverfolgen und aufzuzeichnen. Sie verwenden die von der verwalteten Anwendung in der verwalteten Ressourcengruppe erstellte Warteschlange und fügen sie als Ereignisabonnent für jedes Speicherkonto hinzu, für das Sie Blobs erstellen. Stellen Sie außerdem sicher, dass der dem Speicherkonto zugeordnete System Topic Name, den Sie nachverfolgen, dem Azure Service Bus Data Sender für die Azure Service Bus-Warteschlange zugewiesen ist, die von der verwalteten App erstellt wurde.
Im Azure-Portal können Sie zu dem Speicherkonto navigieren, für das Sie mit dem Erstellen von Blob-Digests beginnen und zum Blatt Events wechseln möchten. Dort können Sie ein Ereignisabonnement erstellen und mit dem Azure Service Bus Warteschlange-Endpunkt verbinden. Achten Sie darauf, den Managed identity type als System Assigned zu markieren.
Die Warteschlange verwendet Sitzungen, um die Sortierung über mehrere Speicherkonten hinweg aufrechtzuerhalten, sodass Sie auch zur Registerkarte Delivery Properties navigieren und eine eindeutige Sitzungs-ID für dieses Ereignisabonnement eingeben müssen.
system-topic-name – Name des Themas, für welches das Abonnement erstellt wird (Sollte dem neu erstellten Thema gleichen)
resource-group – Ressourcengruppe, von der das Abonnement erstellt werden soll
delivery-attribute-mapping – Zuordnung für das erforderliche sessionId-Feld. Geben Sie eine eindeutige sessionId ein
endpoint – Ressourcen-ID der Servicebuswarteschlange, die das Thema des Speicherkontos abonniert
Fügen Sie die erforderlichen Rolle zum Speicherkonto hinzu
Die verwaltete Anwendung erfordert, dass die Rolle Storage Blob Data Owner Hashes für jedes Blob lesen und erstellen kann und diese Rolle muss hinzugefügt werden, damit der Digest ordnungsgemäß berechnet wird.
az role assignment create \
--role"Storage Blob Data Owner" \
--assignee-object-id {function_oid} \
--assignee-principal-type ServicePrincipal\
--scope /subscriptions/{subscription}/resourceGroups/{resource_group}/providers/Microsoft.Storage/storageAccounts/{storage_account_name}
assignee-object-id – OID der Azure-Funktion, die mit der verwalteten Anwendung erstellt wurde. Kann im Blatt „Identität“ gefunden werden
scope – Ressourcen-ID des Speicherkontos für welches die Rolle erstellt werden soll
Hinweis
Mehrere Speicherkonten können mit einer einzigen verwalteten Anwendungsinstanz verbunden werden. Wir empfehlen derzeit ein Maximum von 10 Speicherkonten, die häufig benutzte Blob-Container enthalten.
Hinzufügen von Blobs und Digest-Erstellung
Sobald das Speicherkonto ordnungsgemäß mit der verwalteten Anwendung verbunden ist, können Blobs zu Containern innerhalb des Speicherkontos hinzugefügt werden. Die Blobs werden in Echtzeit nachverfolgt und Digests werden in Azure Confidential Ledger berechnet und gespeichert.
Transaktions- und Blocktabellen
Alle Blob-Erstellungsereignisse werden in internen Tabellen nachverfolgt, welche in der verwalteten Anwendung gespeichert sind.
Die Transaktionstabelle enthält Informationen zu jedem Blob und einen eindeutigen Hash, der mithilfe einer Kombination der Metadaten und/oder Inhalte des Blobs generiert wird.
Die Blocktabelle enthält Informationen zu jedem Digest, der für den BLOB-Container erstellt wird, und die zugehörige Transaktions-ID für den Digest wird in Azure Confidential Ledger gespeichert.
Digesteinstellungen
Es gibt einige Digesteinstellungen, die beim Erstellen der verwalteten Anwendung ausgewählt werden können. Sie können den verwendeten Hashing Algorithm auswählen, um die Digests zu erstellen, ganz gleich, ob es sich um MD5 oder SHA256 handelt. Sie können auch die Anzahl der Blobs auswählen, die in den einzelnen Digesten oder im Digest Size enthalten sind. Die Digestgröße liegt im Bereich von 1-16 und gibt die Anzahl der Blobs an, die in jedem Block zusammengehasht werden. Schließlich können Sie Hash Contents auswählen und festlegen, was bei der Erstellung jedes Digests gehasht werden soll. Dies kann File Contents + Metadata eines jeden Blob sein oder nur File Contents.
Anzeigen des Digests in Azure Confidential Ledger
Sie können die Digests anzeigen, die direkt in Azure Confidential Ledger gespeichert werden, indem Sie zum Blatt Ledger Explorer navigieren.
Durchführen einer Überprüfung
Wenn Sie jemals die Gültigkeit der Blobs überprüfen möchten, die einem Container hinzugefügt werden, um sicherzustellen, dass sie nicht manipuliert werden, kann eine Überprüfung zu einem beliebigen Zeitpunkt ausgeführt werden. Die Überprüfung gibt jedes Blob-Erstellungsereignis wieder und berechnet die Digests mit den Blobs, die während der Überprüfung im Container gespeichert sind. Anschließend werden die neu berechneten Digests mit den in Azure Confidential gespeicherten Digests verglichen und es wird ein Bericht mit allen Digestvergleichen angezeigt und ob der BLOB-Container manipuliert wird.
Auslösen einer Überprüfung
Eine Überprüfung kann ausgelöst werden, indem die folgende Meldung zur Service Bus-Warteschlange hinzugefügt wird, die Ihrer verwalteten Anwendung zugeordnet ist:
Sobald eine Überprüfung erfolgreich durchgeführt wurde, können die Ergebnisse der Überprüfung in einem Container mit dem Namen <managed-application-name>-audit-records gefunden werden, der im jeweiligen Speicherkonto enthalten ist. Die Ergebnisse enthalten den neu berechneten Digest, den aus Azure Confidential Ledger abgerufenen Digest und ob die Blobs manipuliert werden.
Wenn Sie sich bei der Erstellung der verwalteten Anwendung für E-Mail-Benachrichtigungen entscheiden, erhalten Sie je nach gewählter Option während Audit Failure oder Audit Success and Failure eine E-Mail an Ihre E-Mail-Adresse.
Protokollierung und Fehler
Fehlerprotokolle finden Sie unter einem Container mit dem Namen <managed-application-name>-error-logs innerhalb des jeweiligen Speicherkontos. Wenn ein Blob-Erstellungsereignis oder ein Überprüfungsvorgang fehlschlägt, wird die Ursache des Fehlers aufgezeichnet und in diesem Container gespeichert. Wenn es Fragen zu den Fehlerprotokollen oder Anwendungsfunktionen gibt, wenden Sie sich an das Azure Confidential Ledger Supportteam, das in den Details zur verwalteten Anwendung bereitgestellt wurde.
Bereinigen verwalteter Anwendungen
Sie können die verwaltete Anwendung löschen, um alle zugehörigen Ressourcen zu bereinigen und zu entfernen. Durch das Löschen der verwalteten Anwendung werden alle Blob-Transaktionen nicht mehr nachverfolgt, und alle Digests werden nicht mehr erstellt. Überprüfungsberichte bleiben gültig für die Blobs, die vor dem Löschen hinzugefügt wurden.
Weitere Ressourcen
Weitere Informationen zu verwalteten Anwendungen und den bereitgestellten Ressourcen finden Sie unter den folgenden Links:
Hier erfahren Sie, wie Sie eine App erstellen, die Benutzerdateien mit Azure Blob Storage speichert, Blobspeicher in einer Webanwendung verwenden und das Azure Storage SDK nutzen.
Veranschaulichen der Grundlagen von Datensicherheit, Lebenszyklusverwaltung, Informationssicherheit und Compliance zum Schutz einer Microsoft 365-Bereitstellung