Freigeben über


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

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.

Aufrufe