Biblioteca de clientes do Razão Confidencial do Azure para Java – versão 1.0.14

O Razão Confidencial do Azure fornece um serviço para fazer logon em um razão imutável e à prova de adulteração. Como parte do portfólio de Computação Confidencial do Azure , o Razão Confidencial do Azure é executado em enclaves SGX. Ele é criado na Estrutura de Consórcio Confidencial da Microsoft Research.

Código-fonte | Pacote (Maven) | Documentação | do produtoAmostras

Introdução

Pré-requisitos

  • Um Java Development Kit (JDK) versão 8 ou posterior.
  • Assinatura do Azure
  • Uma instância em execução do Razão Confidencial do Azure.
  • Um usuário registrado no Razão Confidencial, normalmente atribuído durante a criação de recursos do ARM , com Administrator privilégios.

Incluir o Pacote

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

Autenticar o cliente

Como usar o Azure Active Directory

Para interagir com o serviço razão confidencial do Azure, seu cliente deve apresentar um token de portador do Azure Active Directory ao serviço.

A maneira mais simples de fornecer um token de portador é usar o DefaultAzureCredential método de autenticação fornecendo credenciais de segredo do cliente está sendo usada nesta seção de introdução, mas você pode encontrar mais maneiras de autenticar com azure-identity.

Usando um certificado de cliente

Como alternativa ao Azure Active Directory, os clientes podem optar por usar um certificado de cliente para autenticar por meio do TLS mútuo. CertificateCredential pode ser usado para essa finalidade. Essa não é a abordagem recomendada para qualquer pessoa nova no serviço.

Criar LedgerBaseClient com a Credencial do Azure Active Directory

Você pode autenticar com o Azure Active Directory usando a biblioteca de Identidade do Azure.

Para usar o provedor DefaultAzureCredential mostrado abaixo ou outros provedores de credenciais fornecidos com o SDK do Azure, inclua o azure-identity pacote:

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

Defina os valores da ID do cliente, da ID do locatário e do segredo do cliente do aplicativo AAD como variáveis de ambiente: AZURE_CLIENT_ID, AZURE_TENANT_ID AZURE_CLIENT_SECRET.

Principais conceitos

Entradas e transações do razão

Cada gravação no Razão Confidencial do Azure gera uma entrada de razão imutável no serviço. As gravações, também conhecidas como transações, são identificadas exclusivamente por IDs de transação que incrementam com cada gravação. Depois de gravadas, as entradas do razão podem ser recuperadas a qualquer momento.

Recebimentos

As alterações de estado no Razão Confidencial são salvas em uma estrutura de dados chamada árvore Merkle. Para verificar criptograficamente se as gravações foram salvas corretamente, uma prova merkle ou recibo pode ser recuperada para qualquer ID de transação.

Sub-razão

Embora a maioria dos casos de uso envolva um razão, fornecemos o recurso do sub-razão caso grupos de dados semanticamente ou logicamente diferentes precisem ser armazenados no mesmo Razão Confidencial.

As entradas do razão são recuperadas pelo identificador do sub-razão. O Razão Confidencial sempre assumirá uma ID de sub-razão constante determinada pelo serviço para entradas enviadas sem um sub-razão especificado.

Usuários

Os usuários são gerenciados diretamente com o Razão Confidencial em vez de por meio do Azure. Os usuários podem ser baseados em AAD, identificados por sua ID de objeto do AAD ou com base em certificado, identificados pela impressão digital do certificado PEM.

Computação Confidencial

A Computação Confidencial do Azure permite isolar e proteger seus dados enquanto eles estão sendo processados na nuvem. O Razão Confidencial do Azure é executado em máquinas virtuais de Computação Confidencial do Azure, fornecendo proteção de dados mais forte com criptografia de dados em uso.

Estrutura do Consórcio Confidencial

O Razão Confidencial do Azure é criado no CCF (Confidential Consortium Framework) de software livre da Microsoft Research. No CCF, os aplicativos são gerenciados por um consórcio de membros com a capacidade de enviar propostas para modificar e controlar a operação de aplicativos. No Razão Confidencial do Azure, o Microsoft Azure possui uma identidade de membro, permitindo que ele execute ações de governança, como substituir nós não íntegros no Razão Confidencial ou atualizar o código de enclave.

Exemplos

Exemplos podem ser encontrados em exemplos e no README de exemplos.

Solução de problemas

Habilitando o registro em log

Os SDKs do Azure para Java oferecem uma história de registro em log consistente para ajudar a solucionar problemas de erros do aplicativo e agilizar a resolução. Os logs produzidos capturam o fluxo de um aplicativo antes que acessem o estado do terminal para ajudar a localizar o problema raiz. Exiba o wiki de log para obter diretrizes sobre como habilitar o registro em log.

Próximas etapas

Contribuição

Este projeto aceita contribuições e sugestões. A maioria das contribuições exige que você concorde com um CLA (Contrato de Licença do Colaborador) declarando que você tem o direito de nos conceder e de fato concede, os direitos de usar sua contribuição.

Quando você envia uma solicitação de pull, um bot do CLA determina automaticamente se você precisa fornecer um CLA e preencher a PR corretamente (por exemplo, rótulo, comentário). Basta seguir as instruções fornecidas pelo bot. Você só precisará fazer isso uma vez em todos os repositórios que usam nosso CLA.

Este projeto adotou o Código de Conduta de Software Livre da Microsoft. Para obter mais informações, confira as Perguntas frequentes sobre o Código de Conduta ou contate opencode@microsoft.com para enviar outras perguntas ou comentários.

Impressões