Erkunden von Azure SQL-Datenbank-Ledger

Abgeschlossen

Das Ledgerfeature von Azure SQL-Datenbank bietet Manipulationsbeweisfunktionen in Ihrer Datenbank. Sie können kryptografisch gegenüber Dritten, (z. B. Prüfern oder anderen Geschäftspartnern) nachweisen, dass Ihre Daten nicht manipuliert wurden.

Funktionsweise

Kryptografie und Blockchain haben mit unterschiedlichem Erfolg in ausgedehnten Technologiebereichen Einzug gehalten. Ein Bereich, in dem sich dies als nützlich und vorteilhaft erwiesen hat, ist die Technologie, die hinter dem Ledgerfeature von Azure SQL-Datenbank steht. Das Ledgerfeature bietet Funktionen zum Nachweis von Manipulationen in Ihrer Datenbank. Mithilfe der Ledgerfunktion von Azure SQL-Datenbank können Sie Wirtschaftsprüfern, Geschäftspartnern oder anderen interessierten Parteien konkrete Beweise dafür liefern, welche Daten geändert oder manipuliert wurden.

Ein traditioneller Ledger ist definiert als eine Sammlung von Konten eines bestimmten Typs, und genau das bietet das Ledgerfeature von Azure SQL-Datenbank in Ihrer Umgebung. Es schützt Ihre Daten auf transparente Weise vor Angreifern und sogar vor Datenbank- oder Cloudadministratoren. Ledger bietet Garantien kryptografischer Datenintegrität, während Leistungsfähigkeit, Flexibilität und Funktion von Azure SQL-Datenbank erhalten bleiben.

 Diagram of the ledger table architecture.

Jede von der Datenbank empfangene Transaktion wird kryptografisch mit SHA-256 gehasht. Die Funktion verknüpft alle Transaktionen kryptografisch wie eine Blockchain.

Komponenten

Die Ledgerfunktion von Azure SQL-Datenbank wird für Tabellen derzeit in zwei Formen angeboten: als aktualisierbare Ledgertabellen und als Ledgertabellen, an die nur Daten angefügt werden können.

Aktualisierbare Ledgertabellen

Aktualisierbare Ledgertabellen können für Anwendungen verwendet werden, die Aktualisierungs-, Lösch- und Einfügevorgänge ausgeben. Das funktioniert hervorragend für Aufzeichnungssystemanwendungen und Transaktionssysteme, die eine faktenbasierte Dokumentation und Überwachung erfordern und verwenden. In den aktualisierbaren Ledgertabellen wird der Verlauf von Änderungen für sämtliche Zeilen nachverfolgt und die Systemversionsverwaltung verwendet, um eine Verlaufstabelle zu erstellen, in der die vorherige Version gespeichert wird, um einen vollständigen Aktualisierungs- und Löschverlauf zu erhalten.

Ledgertabellen, die nur Anfügevorgänge unterstützen

Ledgertabellen mit reiner Datenanfügung eignen sich hervorragend für Anwendungen, die nur Einfügungen vornehmen – beispielsweise ein Buchhaltungssystem, das weiterhin Überwachungs- oder Sicherheitsinformationen und SIEM-Anwendungen (Security Information & Event Management) benötigt. Die Ledgertabelle mit reiner Datenanfügung blockiert alle Aktualisierungs- und Löschvorgänge auf API-Ebene und bietet damit nicht nur Sicherheit, sondern ist auch bei der Verwaltung hilfreich.

Vorteile

Das Ledgerfeature von Azure SQL-Datenbank bietet verschiedene Vorteile:

Vereinfachte Überprüfungen: Durch regelmäßige Überprüfungen wird sichergestellt, dass angemessene Sicherheitskontrollen vorhanden sind, um potenzielle Angriffe zu reduzieren, dass die Methoden zur Sicherung und Wiederherstellung den Anforderungen entsprechen und dass zuverlässige Verfahren zur Notfallwiederherstellung vorhanden sind. Der Ledger bietet in einem Überprüfungsprozess einen dokumentierten Nachweis dafür, dass Ihre Daten nicht geändert wurden.

Mehr Vertrauen: Der Ledger kann auch dazu beitragen, eine Vertrauensstellung zwischen Geschäftsprozessen mit Beteiligung mehrerer Parteien aufzubauen – ohne die Komplexität und die Leistungseinbußen, die ein Netzwerkkonsens mit sich bringen kann.

Datenintegrität: Das Abfragen der Daten in einem Blockchainnetzwerk ohne Leistungseinbußen kann eine große Herausforderung sein. Ledger bietet Datenintegrität für die Off-Chain-Speicherung von Blockchain-Netzwerken und stellt so eine vollständige Datenvertrauensstellung für das gesamte System sicher.

Erstellen einer SQL-Datenbank mit aktiviertem Ledger

Sie können das Ledgerfeature ganz einfach aktivieren, indem Sie die folgenden Schritte ausführen:

  1. Navigieren Sie im Azure-Portal zur Seite SQL-Bereitstellung auswählen.

  2. Behalten Sie unter SQL-Datenbanken für Einzeldatenbank den festgelegten Wert Ressourcentyp bei, und wählen Sie Erstellen aus.

    Screenshot that shows how to select SQL deployment option.

  3. Wählen Sie auf der Registerkarte Grundlagen des Formulars SQL-Datenbank erstellen unter „Projektdetails“ das Azure-Abonnement aus, das Sie verwenden möchten.

  4. Wählen Sie bei Ressourcengruppe die Option Neu erstellen aus, geben Sie myResourceGroup ein, und wählen Sie OK aus.

  5. Geben Sie für Datenbanknamedemo ein.

  6. Wählen Sie unter Server die Option Neu erstellen aus. Füllen Sie das Formular „Neuer Server“ mit den folgenden Werten aus, und klicken Sie auf OK:

    • Servername:<Geben Sie einen eindeutigen Servernamen ein.>
    • Anmeldename des Serveradministrators: azureuser
    • Kennwort:<Geben Sie ein sicheres Kennwort ein.>
    • Standort: Wählen Sie denselben Bereich aus, in dem Ihre Ressourcengruppe erstellt wurde.
    • Azure-Diensten den Zugriff auf diesen Server gestatten: Wählen Sie diese Option aus, um den Zugriff auf den Digestspeicher zuzulassen.
  7. Behalten Sie für Möchten Sie einen Pool für elastische SQL-Datenbanken verwenden? den Wert Nein bei.

  8. Wählen Sie unter Compute + Speicher die Option Datenbank konfigurieren aus.

  9. Wählen Sie Serverlos und dann Anwenden aus.

    Screenshot that shows configuring a serverless database.

  10. Wählen Sie auf der Registerkarte Netzwerk als Konnektivitätsmethode die Option Öffentlicher Endpunkt aus.

  11. Legen Sie bei Firewallregeln die Option Aktuelle Client-IP-Adresse hinzufügen auf Ja fest. Behalten Sie für Azure-Diensten und -Ressourcen den Zugriff auf diese Servergruppe gestatten den Wert Nein bei.

  12. Wählen Sie Weiter: Sicherheit unten auf der Seite aus.

     Screenshot that shows the Networking tab of the Create SQL Database screen in the Azure portal.

  13. Wählen Sie auf der Registerkarte Sicherheit im Abschnitt „Ledger“ die Option Ledger konfigurieren aus.

     Screenshot that shows configuring a ledger on the Security tab of the Azure portal.

  14. Aktivieren Sie im Bereich Configure ledger (Ledger konfigurieren) im Abschnitt Ledger das Kontrollkästchen Enable for all future tables in this database (Für alle zukünftigen Tabellen in dieser Datenbank konfigurieren).

    Hinweis

    Mit dieser Einstellung wird sichergestellt, dass alle zukünftigen Tabellen in der Datenbank Ledgertabellen sind. Aus diesem Grund werden bei allen Daten in der Datenbank sämtliche Anzeichen für Manipulationen angezeigt. Neue Tabellen werden standardmäßig als aktualisierbare Ledgertabellen erstellt, auch wenn Sie LEDGER = ON in der CREATE TABLE-Anweisung nicht angeben.

    Sie können diese Option auch deaktiviert lassen. Sie müssen die Ledgerfunktionalität dann später tabellenweise aktivieren, wenn Sie neue Tabellen mithilfe von Transact-SQL erstellen.

  15. Im Abschnitt Digest Storage (Digestspeicher) wird Aktivieren des automatischen Digest-Speichers automatisch aktiviert. Anschließend werden ein neues Azure Storage-Konto und ein Container erstellt, in dem Ihre Digests gespeichert werden.

  16. Wählen Sie Übernehmen.

    Screenshot that shows the Configure ledger (preview) pane in the Azure portal.

  17. Wählen Sie am unteren Rand der Seite die Option Bewerten + erstellen aus.

     Screenshot that shows reviewing and creating a ledger database on the Security tab of the Azure portal.

  18. Wählen Sie nach der Überprüfung auf der Seite Überprüfen + erstellen die Option Erstellen aus.