Criar um Aplicativo Gerenciado para Armazenar Resumos de Blob

Pré-requisitos

Visão geral

O Aplicativo Gerenciado Resumo do Armazenamento de Blobs Apoiado pelo Razão Confidencial pode ser usado para garantir que os blobs em 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 executadas 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: Resumos de Armazenamento de Blobs apoiados pelo Razão Confidencial (versão prévia).

Recursos a serem criados

Depois que os campos necessários são preenchidos e o aplicativo é implantado, os seguintes recursos são criados em um Grupo de Recursos Gerenciados:

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 iniciar o processamento e gravar resumos do Contêiner de Blobs no Razão Confidencial do Azure.

Criar um tópico e uma assinatura de evento para a conta de armazenamento

O Aplicativo Gerenciado usa uma Fila do Barramento de Serviço do Azure para acompanhar e registrar todos os eventos Criar Blob. Você usará a fila criada no grupo de recursos gerenciado pelo aplicativo gerenciado e a adicionará como assinante de evento para qualquer conta de armazenamento para a qual está criando blobs.

Captura de tela do portal do Azure em um navegador da Web, mostrando como configurar uma assinatura de evento de armazenamento.

No portal do Azure, você pode navegar até a conta de armazenamento para a qual deseja começar a criar resumos de blob e ir para a folha Events. Lá, você pode criar uma Assinatura de Evento e conectá-la ao ponto de extremidade da fila do Barramento de Serviço do Azure.

Captura de tela do portal do Azure em um navegador da Web, mostrando como configurar uma ID de sessão da assinatura de evento de armazenamento.

A fila usa sessões para manter a ordenação em várias contas de armazenamento, portanto, você também precisará navegar até a guia Delivery Properties e inserir uma ID de sessão exclusiva para esta assinatura de evento.

Adicionar a função necessária à conta de armazenamento

O Aplicativo Gerenciado requer que a função Storage Blob Data Owner leia e crie hashes para cada blob e essa função deve ser adicionada para que o resumo seja calculado corretamente.

Captura de tela do portal do Azure em um navegador da Web, mostrando como configurar uma identidade gerenciada para o aplicativo gerenciado.

Observação

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 resumo

Depois que a conta de armazenamento estiver conectada corretamente ao Aplicativo Gerenciado, os blobs poderão começar a ser adicionados a contêineres dentro da conta de armazenamento. Os blobs são acompanhados em tempo real e os resumos são calculados e armazenados no Razão Confidencial do Azure.

Tabelas de transação e bloco

Todos os eventos de criação de blob são acompanhados em tabelas internas armazenadas no Aplicativo Gerenciado.

Captura de tela do portal do Azure em um navegador da Web, mostrando a tabela de transações em que os hashes de blob são armazenados.

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.

Captura de tela do portal do Azure em um navegador da Web, mostrando a tabela de blocos em que as informações de código hash são armazenadas.

A tabela de blocos contém informações relacionadas a cada resumo criada 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 código hash

Captura de tela do provisionamento de aplicativo gerenciado exibindo as configurações de código hash.

Há algumas configurações de código hash que podem ser selecionadas ao criar o aplicativo gerenciado. Você pode escolher o Hashing Algorithm que está sendo usado para criar os códigos hash, seja MD5 ou SHA256. Você também pode escolher o número de blobs contido em cada código hash ou o Digest Size. O tamanho do código hash varia de 1-16 e é o número de blobs que serão convertidas em hash em cada bloco. Por fim, você pode selecione o Hash Contents e o que será convertido em hash ao criar cada código hash. Isso 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 armazenados diretamente no Razão Confidencial do Azure navegando até a folha Ledger Explorer.

Captura de tela do portal do Azure em um navegador da Web, mostrando o explorador de Razão Confidencial do Azure com transações do código hash.

Executando 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 poderá ser executada a qualquer momento. A auditoria reproduz cada evento de criação de blobs 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 que exibe todas as comparações de resumo e se o contêiner de blob está ou não adulterado.

Disparando uma auditoria

Uma auditoria pode ser disparada incluindo a seguinte mensagem para a Fila do Barramento de Serviço associada ao aplicativo gerenciado:

{
    "eventType": "PerformAudit",
    "storageAccount": "<storage_account_name>",
    "blobContainer": "<blob_container_name>"
}

Captura de tela do portal do Azure em um navegador da Web, como disparar uma auditoria adicionando uma mensagem à fila.

Certifique-se de incluir um Session ID, pois a fila tem sessões habilitadas.

Exibindo os resultados da auditoria

Captura de tela do portal do Azure em um navegador da Web, mostrando um registro de auditoria de exemplo com códigos hash correspondentes.

Depois que uma auditoria for executada com êxito, os resultados da auditoria poderão ser encontrados em um contêiner nomeado <managed-application-name>-audit-records dentro da respectiva conta de armazenamento. Os resultados contêm o resumo recalculado, o resumo recuperado do Razão Confidencial do Azure e se os blobs são adulterados ou não.

Captura de tela do provisionamento de aplicativo gerenciado exibindo as configurações de alerta de email de auditoria.

Ao criar o aplicativo gerenciado, se você optar por receber alertas de email, receberá um email enviado durante um Audit Failure ou um Audit Success and Failure dependendo de qual opção está selecionada.

Log e erros

Os logs de erro podem ser encontrados em um contêiner nomeado <managed-application-name>-error-logs na respectiva conta de armazenamento. Se um evento de criação de blob ou um processo de auditoria falhar, a causa da falha será registrada e armazenada neste contêiner. Se houver dúvidas sobre os logs de erros ou a funcionalidade do aplicativo, entre em contato com a equipe de Suporte do 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 controladas 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:

Próximas etapas