Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Erste Schritte mit der Azure-Geheimbuch-Clientbibliothek für .NET. Das vertrauliche Azure-Hauptbuch ist ein neuer und hochgradig sicherer Dienst für die Verwaltung vertraulicher Datensätze. Basierend auf einem berechtigten Blockchain-Modell bietet Azure vertrauliche Buchführung einzigartige Vorteile bezüglich der Datenintegrität. Dazu zählen die Unveränderlichkeit, sodass der Ledger nur Anfügevorgänge unterstützt, und der Manipulationsschutz, sodass alle Datensätze garantiert intakt bleiben.
In dieser Schnellstartanleitung erfahren Sie, wie Sie Einträge in einem vertraulichen Azure-Hauptbuch mithilfe der .NET-Clientbibliothek erstellen.
Azure-Ressourcen für vertrauliche Ledger-Clientbibliotheken:
API-Referenzdokumentation | Quellcode der Bibliothek | Paket (NuGet)
Voraussetzungen
- Ein Azure-Abonnement – kostenlos erstellen
- .NET Core 3.1 SDK oder höher
- Azure CLI
Außerdem benötigen Sie ein laufendes vertrauliches Sachbuch und einen registrierten Benutzer mit den Administrator Berechtigungen. Sie können einen Confidential Ledger (und ein Administrator) im Azure-Portal, über die Azure CLI oder mit Azure PowerShell erstellen.
Konfiguration
Erstellen einer neuen .NET-Konsolen-App
Führen Sie in einer Befehlsshell den folgenden Befehl aus, um ein Projekt namens
acl-appzu erstellen:dotnet new console --name acl-appWechseln Sie zum neu erstellten acl-app-Verzeichnis , und führen Sie den folgenden Befehl aus, um das Projekt zu erstellen:
dotnet buildDie Buildausgabe sollte keine Warnungen oder Fehler enthalten.
Build succeeded. 0 Warning(s) 0 Error(s)
Installiere das Paket
Installieren Sie die Vertrauliche Ledger-Clientbibliothek für .NET mit [NuGet][client_nuget_package]:
dotnet add package Azure.Security.ConfidentialLedger --version 1.0.0
Für diesen Schnellstart müssen Sie auch die Azure SDK-Clientbibliothek für Azure Identity installieren:
dotnet add package Azure.Identity
Objektmodell
Mit der vertraulichen Ledger-Clientbibliothek von Azure für .NET können Sie einen unveränderlichen Eintrag im Dienst von Azure erstellen. Im Abschnitt Codebeispiele wird gezeigt, wie Sie einen Schreibvorgang im Ledger erstellen und die Transaktions-ID abrufen.
Code-Beispiele
Hinzufügen von Direktiven
Fügen Sie am Anfang von Program.cs die folgenden Anweisungen hinzu:
using System;
using Azure.Core;
using Azure.Identity;
using Azure.Security.ConfidentialLedger;
using Azure.Security.ConfidentialLedger.Certificate;
Authentifizieren und Erstellen eines Clients
In diesem Schnellstart wird der eingeloggte Benutzer genutzt, um sich beim Azure Confidential Ledger zu authentifizieren, was die bevorzugte Methode für die lokale Entwicklung ist. Der Name Ihres Confidential Ledgers wird auf den Schlüsseltresor-URI im Format „https://<Ihr-Confidential-Ledger-Name>.confidential-ledger.azure.com“ erweitert. In diesem Beispiel wird die Klasse "DefaultAzureCredential()" aus der Azure Identity Library verwendet, die es ermöglicht, denselben Code in verschiedenen Umgebungen mit unterschiedlichen Optionen zur Bereitstellung von Identitäten zu verwenden.
credential = DefaultAzureCredential()
Schreiben in den Confidential Ledger
Sie können jetzt mit der PostLedgerEntry-Methode in das vertrauliche Hauptbuch schreiben.
Operation postOperation = ledgerClient.PostLedgerEntry(
waitUntil: WaitUntil.Completed,
RequestContent.Create(
new { contents = "Hello world!" }));
Transaktions-ID abrufen
Die Methode PostLedgerEntry gibt ein Objekt zurück, das die Transaktion des Eintrags enthält, den Sie gerade in den Confidential Ledger geschrieben haben. Um die Transaktions-ID abzurufen, greifen Sie auf den Wert "ID" zu:
string transactionId = postOperation.Id;
Console.WriteLine($"Appended transaction with Id: {transactionId}");
Lesen aus dem Confidential Ledger
Mit einer Transaktions-ID können Sie mit der Methode GetLedgerEntry aus dem Confidential Ledger lesen:
Response ledgerResponse = ledgerClient.GetLedgerEntry(transactionId, collectionId);
string entryContents = JsonDocument.Parse(ledgerResponse.Content)
.RootElement
.GetProperty("entry")
.GetProperty("contents")
.GetString();
Console.WriteLine(entryContents);
Testen und Überprüfen
Führen Sie in der Konsole direkt den folgenden Befehl aus, um die App auszuführen.
dotnet run
Beispielcode
using System;
using Azure.Core;
using Azure.Identity;
using Azure.Security.ConfidentialLedger;
using Azure.Security.ConfidentialLedger.Certificate;
namespace acl_app
{
class Program
{
static Task Main(string[] args)
{
// Replace with the name of your confidential ledger
const string ledgerName = "myLedger";
var ledgerUri = $"https://{ledgerName}.confidential-ledger.azure.com";
// Create a confidential ledger client using the ledger URI and DefaultAzureCredential
var ledgerClient = new ConfidentialLedgerClient(new Uri(ledgerUri), new DefaultAzureCredential());
// Write to the ledger
Operation postOperation = ledgerClient.PostLedgerEntry(
waitUntil: WaitUntil.Completed,
RequestContent.Create(
new { contents = "Hello world!" }));
// Access the transaction ID of the ledger write
string transactionId = postOperation.Id;
Console.WriteLine($"Appended transaction with Id: {transactionId}");
// Use the transaction ID to read from the ledger
Response ledgerResponse = ledgerClient.GetLedgerEntry(transactionId, collectionId);
string entryContents = JsonDocument.Parse(ledgerResponse.Content)
.RootElement
.GetProperty("entry")
.GetProperty("contents")
.GetString();
Console.WriteLine(entryContents);
}
}
}
Nächste Schritte
Weitere Informationen zum vertraulichen Hauptbuch von Azure und zur Integration in Ihre Apps finden Sie in den folgenden Artikeln: