Schnellstart: Azure Confidential Ledger-Clientbibliothek für .NET
Führen Sie erste Schritte mit der Azure Confidential Ledger-Clientbibliothek für .NET aus. Azure Confidential Ledger ist ein neuer und äußerst sicherer Dienst für die Verwaltung vertraulicher Datensätze. Azure Confidential Ledger basiert auf einem genehmigten Blockchainmodell und bietet Vorteile für die Datenintegrität, die Sie nirgendwo anders finden. 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 Azure Confidential Ledger mithilfe der .NET-Clientbibliothek erstellen.
Ressourcen der Azure Confidential Ledger-Clientbibliothek:
API-Referenzdokumentation | Quellcode der Bibliothek | Paket (NuGet)
Voraussetzungen
- Azure-Abonnement: Kostenloses Azure-Konto
- .NET Core 3.1 SDK oder höher
- Azure-Befehlszeilenschnittstelle
Sie benötigen außerdem eine aktive Confidential Ledger-Instanz 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.
Einrichten
Erstellen einer neuen .NET-Konsolen-App
Führen Sie in einer Befehlsshell den folgenden Befehl aus, um ein Projekt namens
acl-app
zu erstellen:dotnet new console --name acl-app
Wechseln Sie zum neu erstellten Verzeichnis acl-app, und führen Sie den folgenden Befehl aus, um das Projekt zu erstellen:
dotnet build
Die Buildausgabe sollte keine Warnungen oder Fehler enthalten.
Build succeeded. 0 Warning(s) 0 Error(s)
Installieren des Pakets
Installieren Sie die Confidential 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 Azure Confidential Ledger-Clientbibliothek für .NET können Sie einen unveränderlichen Ledger-Eintrag im Dienst erstellen. Im Abschnitt Codebeispiele wird gezeigt, wie Sie einen Schreibvorgang im Ledger erstellen und die Transaktions-ID abrufen.
Codebeispiele
Hinzufügen von Anweisungen
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 dieser Schnellstartanleitung wird der angemeldete Benutzer zum Authentifizieren bei Azure Confidential Ledger verwendet. Dies ist die bevorzugte Methode für die lokale Entwicklung. 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-Bibliothek verwendet, wodurch der gleiche Code in verschiedenen Umgebungen mit verschiedenen Optionen für die Identitätsbereitstellung verwendet werden kann.
credential = DefaultAzureCredential()
Schreiben in den Confidential Ledger
Sie können jetzt mit der Methode PostLedgerEntry in den Confidential Ledger schreiben.
Operation postOperation = ledgerClient.PostLedgerEntry(
waitUntil: WaitUntil.Completed,
RequestContent.Create(
new { contents = "Hello world!" }));
Abrufen der Transaktions-ID
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 direkt in der Konsole 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 zu Azure Confidential Ledger und zur Integration in Ihre Apps finden Sie in den folgenden Artikeln: