Criar um aplicativo gerenciado para armazenar resumos de Blob
Pré-requisitos
- Uma Conta de Armazenamento do Azure
- CLI do Azure (opcional)
- Versão do Python suportada pelo SDK do Azure para Python (opcional)
Descrição geral
O Blob Storage Digest Backed by Confidential Ledger Managed Application pode ser usado para garantir que os blobs dentro de um contêiner de blob sejam confiáveis e não adulterados. O aplicativo, uma vez conectado a uma conta de armazenamento, rastreia todos os blobs que estão sendo adicionados a cada contêiner na conta de armazenamento em tempo real, além de calcular e armazenar os resumos no Razão Confidencial do Azure. As auditorias podem ser realizadas a qualquer momento para verificar a validade dos blobs e garantir que o contêiner de blob não seja adulterado.
Implantando o aplicativo gerenciado
O Aplicativo Gerenciado pode ser encontrado no Azure Marketplace aqui: Blob Storage Digests Backed by Confidential Ledger (visualização).
Recursos a criar
Depois que os campos obrigatórios são preenchidos e o aplicativo é implantado, os seguintes recursos são criados em um Grupo de Recursos Gerenciados:
- Contabilidade confidencial
- Fila do Barramento de Serviço com Sessões ativadas
- Conta de armazenamento (conta de armazenamento de propriedade do editor usada para armazenar lógica digest e histórico de auditoria)
- Aplicação de Funções
- Application Insights
Conectando uma conta de armazenamento ao aplicativo gerenciado
Depois que um Aplicativo Gerenciado for criado, você poderá conectar o Aplicativo Gerenciado à sua Conta de Armazenamento para começar a processar e gravar resumos do Contêiner de Blob no Razão Confidencial do Azure.
Criar uma assinatura de tópico e evento para a conta de armazenamento
O Aplicativo Gerenciado usa uma Fila do Barramento de Serviço do Azure para controlar e registrar todos os eventos Criar Blob . Você usará a Fila criada no Grupo de Recursos Gerenciados pelo Aplicativo Gerenciado e a adicionará como Assinante de Eventos para qualquer conta de armazenamento para a qual esteja criando blobs.
No portal do Azure, você pode navegar até a conta de armazenamento para a qual gostaria de começar a criar resumos de blob e ir para a Events
folha. Lá, você pode criar uma Assinatura de Evento e conectá-la ao Ponto de Extremidade da Fila do Barramento de Serviço do Azure.
A fila usa sessões para manter o pedido em várias contas de armazenamento, portanto, você também precisará navegar até a Delivery Properties
guia e inserir um ID de sessão exclusivo para essa assinatura de evento.
Adicionar a função necessária à conta de armazenamento
O Aplicativo Gerenciado requer que a Storage Blob Data Owner
função leia e crie hashes para cada blob e essa função precisa ser adicionada para que o resumo seja calculado corretamente.
Nota
Várias contas de armazenamento podem ser conectadas a uma única instância de aplicativo gerenciado. Atualmente, recomendamos um máximo de 10 contas de armazenamento que contenham contêineres de blob de alto uso.
Adicionando blobs e criação de resumos
Quando a conta de armazenamento estiver conectada corretamente ao Aplicativo Gerenciado, os blobs poderão começar a ser adicionados aos contêineres dentro da conta de armazenamento. Os blobs são rastreados em tempo real e os resumos são calculados e armazenados no Razão Confidencial do Azure.
Tabelas de transações e blocos
Todos os eventos de criação de blob são rastreados em tabelas internas armazenadas no Aplicativo Gerenciado.
A tabela de transações contém informações sobre cada blob e um hash exclusivo que é gerado usando uma combinação de metadados e/ou conteúdo do blob.
A tabela de blocos contém informações relacionadas a cada resumo criado para o contêiner de blob e a ID de transação associada para o resumo é armazenada no Razão Confidencial do Azure.
Configurações de resumo
Há algumas configurações de resumo que podem ser selecionadas ao criar o aplicativo gerenciado. Você pode escolher o Hashing Algorithm
que está sendo usado para criar os resumos, seja ou MD5
SHA256
. Você também pode escolher o número de blobs que estão contidos em cada digest ou no Digest Size
. O Tamanho do resumo varia de e é o número de blobs que serão colocados em hash juntos dentro de 1-16
cada bloco. Por fim, você pode selecionar o Hash Contents
hash e o que será hash ao criar cada resumo. Este pode ser o File Contents + Metadata
de cada blob ou apenas o File Contents
.
Exibindo resumo no Razão Confidencial do Azure
Você pode exibir os resumos que estão sendo armazenados diretamente no Razão Confidencial do Azure navegando até a Ledger Explorer
folha.
Realização de uma auditoria
Se você quiser verificar a validade dos blobs adicionados a um contêiner para garantir que eles não sejam adulterados, uma auditoria pode ser executada a qualquer momento. A auditoria reproduz cada evento de criação de blob e recalcula os resumos com os blobs armazenados no contêiner durante a auditoria. Em seguida, ele compara os resumos recalculados com os resumos armazenados no Azure Confidential e fornece um relatório exibindo todas as comparações de resumo e se o contêiner de blob foi violado ou não.
Acionar uma auditoria
Uma auditoria pode ser acionada incluindo a seguinte mensagem para a fila do Service Bus associada ao seu aplicativo gerenciado:
{
"eventType": "PerformAudit",
"storageAccount": "<storage_account_name>",
"blobContainer": "<blob_container_name>"
}
Certifique-se de incluir um, Session ID
pois a fila tem sessões habilitadas.
Visualizar os resultados da auditoria
Quando uma auditoria é executada com êxito, os resultados da auditoria podem ser encontrados em um contêiner chamado <managed-application-name>-audit-records
encontrado na respetiva conta de armazenamento. Os resultados contêm o resumo recalculado, o resumo recuperado do Razão Confidencial do Azure e se os blobs foram ou não adulterados.
Ao criar o aplicativo gerenciado, se você optar por receber alertas por e-mail, receberá um e-mail enviado para seu e-mail durante uma Audit Failure
opção selecionada ou dependendo Audit Success and Failure
da opção selecionada.
Registo e erros
Os logs de erros podem ser encontrados em um contêiner chamado <managed-application-name>-error-logs
encontrado na respetiva conta de armazenamento. Se um evento de criação de blob ou processo de auditoria falhar, a causa da falha será registrada e armazenada nesse contêiner. Se houver dúvidas sobre os logs de erro ou a funcionalidade do aplicativo, entre em contato com a equipe de Suporte do Livro-razão Confidencial do Azure fornecida nos detalhes do Aplicativo Gerenciado.
Limpar aplicativo gerenciado
Você pode excluir o Aplicativo Gerenciado para limpar e remover todos os recursos associados. A exclusão do Aplicativo Gerenciado impede que todas as transações de blob sejam rastreadas e impede que todos os resumos sejam criados. Os relatórios de auditoria permanecem válidos para os blobs que foram adicionados antes da exclusão.
Mais recursos
Para obter mais informações sobre aplicativos gerenciados e os recursos implantados, consulte os seguintes links: