Bibliothèque de client Azure Confidential Ledger pour Java - version 1.0.14

Azure Confidential Ledger fournit un service de journalisation dans un registre immuable et inviolable. Dans le cadre du portefeuille d’informatique confidentielle Azure , Azure Confidential Ledger s’exécute dans des enclaves SGX. Il s’appuie sur l’infrastructure de consortium confidentiel de Microsoft Research.

| Code sourcePackage (Maven) | Documentation | produitÉchantillons

Prise en main

Prérequis

  • Un Kit de développement Java (JDK), version 8 ou ultérieure.
  • Abonnement Azure
  • Une instance en cours d’exécution du Registre confidentiel Azure.
  • Un utilisateur inscrit dans le registre confidentiel, généralement affecté lors de la création des ressources ARM , avec Administrator des privilèges.

Inclure le package

<dependency>
  <groupId>com.azure</groupId>
  <artifactId>azure-security-confidentialledger</artifactId>
  <version>1.0.14</version>
</dependency>

Authentifier le client

Utilisation d’Azure Active Directory

Pour interagir avec le service Registre confidentiel Azure, votre client doit présenter un jeton de porteur Azure Active Directory au service.

Le moyen le plus simple de fournir un jeton de porteur consiste à utiliser la DefaultAzureCredential méthode d’authentification en fournissant des informations d’identification de secret client est utilisé dans cette section de prise en main, mais vous trouverez d’autres façons de vous authentifier auprès d’azure-identity.

Utilisation d’un certificat client

En guise d’alternative à Azure Active Directory, les clients peuvent choisir d’utiliser un certificat client pour s’authentifier via TLS mutuel. CertificateCredential peut être utilisé à cette fin. Il ne s’agit pas de l’approche recommandée pour les nouveaux utilisateurs du service.

Créer LedgerBaseClient avec les informations d’identification Azure Active Directory

Vous pouvez vous authentifier auprès d’Azure Active Directory à l’aide de la bibliothèque Azure Identity.

Pour utiliser le fournisseur DefaultAzureCredential indiqué ci-dessous ou d’autres fournisseurs d’informations d’identification fournis avec le Kit de développement logiciel (SDK) Azure, incluez le azure-identity package :

<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-identity</artifactId>
    <version>1.5.4</version>
</dependency>

Définissez les valeurs de l’ID client, de l’ID de locataire et de la clé secrète client de l’application AAD en tant que variables d’environnement : AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET.

Concepts clés

Entrées et transactions de registre

Chaque écriture dans Azure Confidential Ledger génère une entrée de registre immuable dans le service. Les écritures, également appelées transactions, sont identifiées de manière unique par des ID de transaction qui s’incrémentent à chaque écriture. Une fois écrites, les entrées de registre peuvent être récupérées à tout moment.

Reçus

Les modifications d’état apportées au registre confidentiel sont enregistrées dans une structure de données appelée arborescence Merkle. Pour vérifier par chiffrement que les écritures ont été correctement enregistrées, une preuve Merkle, ou un reçu, peut être récupéré pour n’importe quel ID de transaction.

Sous-registres

Bien que la plupart des cas d’usage impliquent un seul registre, nous fournissons la fonctionnalité de sous-registre au cas où des groupes de données sémantiquement ou logiquement différents doivent être stockés dans le même registre confidentiel.

Les entrées de registre sont récupérées par leur identificateur de sous-registre. Le registre confidentiel suppose toujours un ID de sous-registre constant et déterminé par le service pour les entrées envoyées sans qu’un sous-registre soit spécifié.

Utilisateurs

Les utilisateurs sont gérés directement avec le registre confidentiel au lieu d’Azure. Les utilisateurs peuvent être basés sur AAD, identifiés par leur ID d’objet AAD, ou basés sur un certificat, identifiés par leur empreinte de certificat PEM.

Informatique confidentielle

L’informatique confidentielle Azure vous permet d’isoler et de protéger vos données pendant leur traitement dans le cloud. Azure Confidential Ledger s’exécute sur des machines virtuelles Azure Confidential Computing, offrant ainsi une protection renforcée des données avec le chiffrement des données en cours d’utilisation.

Infrastructure de consortium confidentiel

Azure Confidential Ledger est basé sur l’infrastructure CCF (Confidential Consortium Framework) open source de Microsoft Research. Sous CCF, les demandes sont gérées par un consortium de membres qui ont la possibilité de soumettre des propositions pour modifier et régir le fonctionnement de la demande. Dans Azure Confidential Ledger, Microsoft Azure possède une identité de membre, ce qui lui permet d’effectuer des actions de gouvernance telles que le remplacement de nœuds défectueux dans le registre confidentiel ou la mise à niveau du code de l’enclave.

Exemples

Vous trouverez des exemples dans les exemples et les exemples README.

Dépannage

Activation de la journalisation

Les sdk Azure pour Java offrent une histoire de journalisation cohérente pour vous aider à résoudre les erreurs d’application et à accélérer leur résolution. Les journaux produits capturent le flux d’une application avant d’atteindre l’état terminal pour faciliter la localisation du problème racine. Consultez le wiki de journalisation pour obtenir des conseils sur l’activation de la journalisation.

Étapes suivantes

Contribution

Ce projet accepte les contributions et les suggestions. La plupart des contributions vous demandent d’accepter un contrat de licence de contribution (CLA) spécifiant que vous avez le droit de nous accorder les droits d’utiliser votre contribution, et que vous nous les accordez.

Quand vous envoyez une demande de tirage (pull request), un bot CLA détermine automatiquement si vous devez fournir un contrat CLA et agrémenter la demande de tirage de façon appropriée (par exemple, avec une étiquette ou un commentaire). Suivez simplement les instructions fournies par le bot. Vous ne devez effectuer cette opération qu’une seule fois sur tous les dépôts utilisant notre contrat CLA.

Ce projet a adopté le Code de conduite Open Source de Microsoft. Pour plus d’informations, consultez les Questions fréquentes (FAQ) sur le code de conduite ou envoyez vos questions ou vos commentaires à opencode@microsoft.com.

Impressions