Azure Confidential Ledger-Clientbibliothek für Java – Version 1.0.14
Azure Confidential Ledger bietet einen Dienst für die Protokollierung bei einem unveränderlichen, manipulationssicheren Ledger. Als Teil des Azure Confidential Computing-Portfolios wird Azure Confidential Ledger in SGX-Enklaven ausgeführt. Es basiert auf dem Confidential Consortium Framework von Microsoft Research.
Quellcode | Paket (Maven) | Produktdokumentation | Proben
Erste Schritte
Voraussetzungen
- Java Development Kit (JDK), Version 8 oder höher.
- Azure-Abonnement
- Eine ausgeführte Instanz von Azure Confidential Ledger
- Ein registrierter Benutzer im Confidential Ledger, der normalerweise während der ARM-Ressourcenerstellung zugewiesen wird, mit
Administrator
Berechtigungen.
Schließen Sie das Paket ein
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-security-confidentialledger</artifactId>
<version>1.0.14</version>
</dependency>
Authentifizieren des Clients
Verwenden von Azure Active Directory
Um mit dem Azure Confidential Ledger-Dienst zu interagieren, muss Ihr Client dem Dienst ein Azure Active Directory-Bearertoken vorlegen.
Die einfachste Möglichkeit zum Bereitstellen eines Bearertokens besteht darin, die DefaultAzureCredential
Authentifizierungsmethode zu verwenden, indem Sie anmeldeinformationen für geheime Clientschlüssel angeben, die in diesem Abschnitt mit den ersten Schritten verwendet werden, aber Sie finden weitere Möglichkeiten, sich mit azure-identity zu authentifizieren.
Verwenden eines Clientzertifikats
Alternativ zu Azure Active Directory können Clients ein Clientzertifikat verwenden, um sich über gegenseitiges TLS zu authentifizieren. CertificateCredential
kann zu diesem Zweck verwendet werden. Dies ist nicht der empfohlene Ansatz für Personen, die neu mit dem Dienst sind.
Erstellen von LedgerBaseClient mit Azure Active Directory-Anmeldeinformationen
Sie können sich mit Azure Active Directory mithilfe der Azure Identity-Bibliothek authentifizieren.
Um den unten gezeigten Anbieter DefaultAzureCredential oder andere Anbieter von Anmeldeinformationen zu verwenden, die mit dem Azure SDK bereitgestellt werden, fügen Sie das azure-identity
Paket ein:
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-identity</artifactId>
<version>1.5.4</version>
</dependency>
Legen Sie die Werte der Client-ID, Mandanten-ID und geheimen Clientschlüssel der AAD-Anwendung als Umgebungsvariablen fest: AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET.
Wichtige Begriffe
Ledgereinträge und Transaktionen
Jeder Schreibvorgang in Azure Confidential Ledger generiert einen unveränderlichen Ledgereintrag im Dienst. Schreibvorgänge, die auch als Transaktionen bezeichnet werden, werden durch Transaktions-IDs eindeutig identifiziert, die mit jedem Schreibvorgang inkrementieren. Nach dem Schreiben können Ledgereinträge jederzeit abgerufen werden.
Receipts
Zustandsänderungen am Confidential Ledger werden in einer Datenstruktur gespeichert, die als Merkle-Struktur bezeichnet wird. Um kryptografisch zu überprüfen, ob Schreibvorgänge ordnungsgemäß gespeichert wurden, kann ein Merkle-Nachweis oder -Beleg für jede Transaktions-ID abgerufen werden.
Unterbücher
Während die meisten Anwendungsfälle ein Ledger umfassen, stellen wir das Unterbuchfeature für den Fall bereit, dass semantisch oder logisch unterschiedliche Datengruppen im gleichen Vertraulichen Ledger gespeichert werden müssen.
Ledgereinträge werden von ihrem Unterbuchbezeichner abgerufen. Das Confidential Ledger geht immer von einer konstanten, vom Dienst bestimmten Unterbuch-ID für Einträge aus, die ohne angabe eines Unterbuchs übermittelt werden.
Benutzer
Benutzer werden direkt mit dem Confidential Ledger anstatt über Azure verwaltet. Benutzer können AAD-basiert sein, durch ihre AAD-Objekt-ID oder zertifikatbasiert durch ihren PEM-Zertifikatfingerabdruck identifiziert sein.
Confidential Computing
Mit Azure Confidential Computing können Sie Ihre Daten isolieren und schützen, während sie in der Cloud verarbeitet werden. Azure Confidential Ledger wird auf virtuellen Azure Confidential Computing-Computern ausgeführt und bietet somit einen besseren Schutz der Daten durch Verschlüsselung der verwendeten Daten.
Vertrauliches Konsortiumsframework
Azure Confidential Ledger basiert auf dem Open-Source Confidential Consortium Framework (CCF) von Microsoft Research. Unter CCF werden Anwendungen von einem Konsortium von Mitgliedern verwaltet, die Vorschläge zum Ändern und Steuern des Anwendungsvorgangs einreichen können. In Azure Confidential Ledger besitzt Microsoft Azure eine Mitgliedsidentität, sodass Governanceaktionen wie das Ersetzen fehlerhafter Knoten im Vertraulichen Ledger oder das Upgrade des Enclave-Codes ausgeführt werden können.
Beispiele
Beispiele finden Sie in den Beispielen und der README-Datei für Beispiele.
Problembehandlung
Aktivieren der Protokollierung
Azure SDKs für Java bieten eine konsistente Protokollierung, die bei der Problembehandlung von Anwendungsfehlern und deren Lösung hilft. Die erstellten Protokolle erfassen den Flow einer Anwendung, bevor sie den Endzustand erreichen. Dies trägt zur Ermittlung der Grundursache bei. Informationen zum Aktivieren der Protokollierung finden Sie im Protokollierungswiki.
Nächste Schritte
Mitwirken
Beiträge und Vorschläge für dieses Projekt sind willkommen. Für die meisten Beiträge ist die Zustimmung zu einer Lizenzvereinbarung für Mitwirkende (Contributor License Agreement, CLA) erforderlich, in der Sie erklären, dass Sie dazu berechtigt sind, uns die Rechte für die Nutzung Ihres Beitrags zu erteilen, und dies auch tun.
Wenn Sie einen Pull Request (PR) übermitteln, überprüft ein CLA-Bot automatisch, ob Sie eine Lizenzvereinbarung bereitstellen und den PR entsprechend ergänzen müssen (z.B. mit einer Bezeichnung oder einem Kommentar). Führen Sie einfach die Anweisungen des Bots aus. Sie müssen dies nur einmal für alle Repositorys ausführen, die unsere CLA verwenden.
Für dieses Projekt gelten die Microsoft-Verhaltensregeln für Open Source (Microsoft Open Source Code of Conduct). Weitere Informationen finden Sie in den häufig gestellten Fragen zum Verhaltenskodex. Sie können sich auch an opencode@microsoft.com wenden, wenn Sie weitere Fragen oder Anmerkungen haben.