Compartilhar via


Início rápido: biblioteca de clientes do razão confidencial do Azure para .NET

Comece a usar a biblioteca de clientes do razão confidencial do Azure para .NET. O razão confidencial do Azure é um serviço novo e altamente seguro para gerenciar registros de dados confidenciais. Com base em um modelo de blockchain permissionado, o ledger confidencial do Azure oferece vantagens exclusivas de integridade de dados. Isso inclui a imutabilidade, tornando o razão somente para acréscimo, e a proteção contra adulteração, para garantir que todos os registros permaneçam intactos.

Neste guia de início rápido, você aprenderá a criar entradas em um ledger confidencial do Azure usando a biblioteca cliente do .NET

Recursos da biblioteca de clientes do razão confidencial do Azure:

Documentação de referência da API | Código-fonte da biblioteca | Pacote (NuGet)

Pré-requisitos

Você também precisará de uma razão confidencial em execução e um usuário registrado com os privilégios Administrator. Você pode criar um razão confidencial (e um administrador) usando o portal do Azure, a CLI do Azure ou o Azure PowerShell.

Configuração

Criar um novo aplicativo de console do .NET

  1. Em um shell de comando, execute o seguinte comando para criar um projeto chamado acl-app:

    dotnet new console --name acl-app
    
  2. Altere para o diretório do acl-app recém-criado e execute o seguinte comando para criar o projeto:

    dotnet build
    

    A saída de compilação não deve conter nenhum aviso ou erro.

    Build succeeded.
     0 Warning(s)
     0 Error(s)
    

Instalar o pacote

Instale a biblioteca de clientes do Confidential Ledger para .NET com [NuGet][client_nuget_package]:

dotnet add package Azure.Security.ConfidentialLedger --version 1.0.0

Para este início rápido, você também precisará instalar a biblioteca de clientes do SDK do Azure para a Identidade do Azure:

dotnet add package Azure.Identity

Modelo de objeto

A biblioteca de clientes do razão confidencial do Azure para .NET permite que você crie uma entrada de razão imutável no serviço. A seção Exemplos de código mostra como escrever no livro-razão e recuperar o ID da transação.

Exemplos de código

Adicionar diretivas

Adicione as seguintes diretivas à parte superior de Program.cs:

using System;
using Azure.Core;
using Azure.Identity;
using Azure.Security.ConfidentialLedger;
using Azure.Security.ConfidentialLedger.Certificate;

Autenticar e criar um cliente

Neste guia de início rápido, o usuário conectado é usado para se autenticar no razão confidencial do Azure, que é o método preferencial para o desenvolvimento local. O nome do razão confidencial é expandido para o URI do cofre de chaves, no formato "https://<your-confidential-ledger-name>.confidential-ledger.azure.com". Este exemplo está usando a classe 'DefaultAzureCredential()' da Biblioteca de Identidade do Azure, que permite usar o mesmo código em ambientes diferentes com diferentes opções para fornecer identidade.

credential = DefaultAzureCredential()

Gravar no razão confidencial

Agora você pode escrever no livro contábil confidencial com o método PostLedgerEntry.

Operation postOperation = ledgerClient.PostLedgerEntry(
    waitUntil: WaitUntil.Completed,
    RequestContent.Create(
        new { contents = "Hello world!" }));

Obter a ID da transação

O método PostLedgerEntry retorna um objeto que contém a transação da entrada que você acabou de escrever no registro confidencial. Para obter a ID da transação, acesse o valor de "Id":

string transactionId = postOperation.Id;
Console.WriteLine($"Appended transaction with Id: {transactionId}");

Ler no razão confidencial

Com uma ID da transação, você também pode ler no razão confidencial usando o método GetLedgerEntry:

Response ledgerResponse = ledgerClient.GetLedgerEntry(transactionId, collectionId);

string entryContents = JsonDocument.Parse(ledgerResponse.Content)
    .RootElement
    .GetProperty("entry")
    .GetProperty("contents")
    .GetString();

Console.WriteLine(entryContents);

Testar e verificar

No console diretamente, execute o comando a seguir para executar o aplicativo.

dotnet run

Código de exemplo

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);

        }
    }
}

Próximas etapas

Para saber mais sobre o Azure Confidential Ledger e como integrá-lo aos seus aplicativos, confira os seguintes artigos: