Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Introducción a la biblioteca cliente de Azure Confidential Ledger para .NET. Azure Confidential Ledger es un servicio nuevo y muy seguro para administrar registros de datos confidenciales. En función de un modelo de cadena de bloques con permisos, Azure Confidential Ledger ofrece ventajas únicas de integridad de datos. Esto incluye inmutabilidad, hacer que el libro de contabilidad solo se pueda anexar, y la protección frente a manipulaciones, para asegurar que todos los registros se mantengan intactos.
En este inicio rápido, aprenderá a crear entradas en un libro de contabilidad confidencial de Azure mediante la biblioteca cliente de .NET.
Recursos de la biblioteca cliente de Azure Confidential Ledger:
Documentación de referencia de la API | Código fuente de la biblioteca | Paquete (NuGet)
Prerrequisitos
- Una suscripción a Azure: cree una cuenta gratuita.
- SDK de .NET Core 3.1 o posterior
- Azure CLI
También necesita un libro de contabilidad confidencial en ejecución y un usuario registrado con los privilegios de Administrator. Puede crear un libro de contabilidad confidencial (y un administrador) mediante Azure Portal, la CLI de Azure o Azure PowerShell.
Configuración
Creación de una aplicación de consola de .NET
En un shell de comandos, ejecute el siguiente comando para crear un proyecto llamado
acl-app:dotnet new console --name acl-appCambie al directorio acl-app recién creado y ejecute el siguiente comando para compilar el proyecto:
dotnet buildLa salida de la compilación no debe contener advertencias ni errores.
Build succeeded. 0 Warning(s) 0 Error(s)
Instalar el paquete
Instale la biblioteca cliente de Confidential Ledger para .NET con [NuGet][client_nuget_package]:
dotnet add package Azure.Security.ConfidentialLedger --version 1.0.0
Para este inicio rápido, también debe instalar la biblioteca cliente del SDK de Azure para Azure Identity:
dotnet add package Azure.Identity
Modelo de objetos
La biblioteca cliente del libro de contabilidad confidencial de Azure para .NET permite crear una entrada de libro de contabilidad inmutable en el servicio. En la sección Ejemplos de código se muestra cómo crear una escritura en el libro de contabilidad y recuperar el identificador de transacción.
Ejemplos de código
Agregar directivas
Agregue las directivas siguientes al principio de Program.cs:
using System;
using Azure.Core;
using Azure.Identity;
using Azure.Security.ConfidentialLedger;
using Azure.Security.ConfidentialLedger.Certificate;
Autenticación y creación de un cliente
En este inicio rápido se emplea el usuario que ha iniciado sesión para autenticarlo en Azure Confidential Ledger, que es el método preferido para el desarrollo local. El nombre del libro de contabilidad confidencial se expande al URI del almacén de claves, con el formato "https://<your-confidential-ledger-name>.confidential-ledger.azure.com". En este ejemplo se usa la clase "DefaultAzureCredential()" de la biblioteca de identidades de Azure, que permite usar el mismo código en distintos entornos con diferentes opciones para proporcionar identidad.
credential = DefaultAzureCredential()
Escribir en el registro confidencial
Ahora puede escribir en el libro de contabilidad confidencial con el método PostLedgerEntry .
Operation postOperation = ledgerClient.PostLedgerEntry(
waitUntil: WaitUntil.Completed,
RequestContent.Create(
new { contents = "Hello world!" }));
Obtención del identificador de transacción
El método PostLedgerEntry devuelve un objeto que contiene la transacción de la entrada que acaba de escribir en el libro de contabilidad confidencial. Para obtener el identificador de transacción, acceda al valor "Id":
string transactionId = postOperation.Id;
Console.WriteLine($"Appended transaction with Id: {transactionId}");
Lectura del libro de contabilidad confidencial
Con un identificador de transacción, también puede leer desde el libro de contabilidad confidencial mediante el método GetLedgerEntry:
Response ledgerResponse = ledgerClient.GetLedgerEntry(transactionId, collectionId);
string entryContents = JsonDocument.Parse(ledgerResponse.Content)
.RootElement
.GetProperty("entry")
.GetProperty("contents")
.GetString();
Console.WriteLine(entryContents);
Prueba y comprobación
En la consola directamente, ejecute el siguiente comando para ejecutar la aplicación.
dotnet run
Código de ejemplo
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);
}
}
}
Pasos siguientes
Para más información sobre Azure Confidential Ledger y cómo integrarlo con las aplicaciones, consulte los siguientes artículos: