Creación de una aplicación administrada para almacenar resúmenes de blobs
Requisitos previos
- Una cuenta de Azure Storage.
- CLI de Azure (opcional)
- Versión de Python que es compatible con el SDK de Azure para Python (opcional)
Información general
La aplicación administrada Blob Storage Digest Backed de Confidential Ledger se puede usar para garantizar que los blobs de un contenedor de blobs son de confianza y no se han manipulado. La aplicación, una vez conectada a una cuenta de almacenamiento, realiza un seguimiento de todos los blobs que se agregan a todos los contenedores de la cuenta de almacenamiento en tiempo real, además de calcular y almacenar los resúmenes en Azure Confidential Ledger. Las auditorías se pueden realizar en cualquier momento para comprobar la validez de los blobs y para asegurarse de que el contenedor de blobs no esté alterado.
Implementación de la aplicación administrada
La aplicación administrada se puede encontrar en Azure Marketplace aquí: Blob Storage Digests Backed de Confidential Ledger (versión preliminar).
Recursos que se van a crear
Una vez que se rellenan los campos obligatorios y se implementa la aplicación, se crean los siguientes recursos en un grupo de recursos administrado:
- Confidential Ledger
- Cola de Service Bus con Sesiones habilitadas
- Cuenta de almacenamiento (Cuenta de almacenamiento propiedad del publicador que se usa para almacenar la lógica implícita y el historial de auditoría)
- Aplicación de función
- Application Insights
Conexión de una cuenta de almacenamiento a la aplicación administrada
Una vez creada una aplicación administrada, podrá conectar la aplicación administrada a la cuenta de almacenamiento para iniciar el procesamiento y la grabación de resúmenes de contenedor de blobs en Azure Confidential Ledger.
Creación de un tema y una suscripción de eventos para la cuenta de almacenamiento
La aplicación administrada usa una cola de Azure Service Bus para realizar un seguimiento y registrar todos los eventos Creación de blob. Usará la cola creada en el grupo de recursos administrados por la aplicación administrada y la agregará como suscriptora de eventos para cualquier cuenta de almacenamiento para la que cree blobs.
En Azure Portal, puede ir a la cuenta de almacenamiento para la que desea empezar a crear resúmenes de blobs e ir a la hoja Events
. Allí puede crear una suscripción de eventos y conectarla al punto de conexión de cola de Azure Service Bus.
La cola usa sesiones para mantener el orden en varias cuentas de almacenamiento, por lo que también tendrá que navegar a la pestaña Delivery Properties
y escribir un identificador de sesión único para esta suscripción de eventos.
Adición del rol necesario a la cuenta de almacenamiento
La aplicación administrada requiere que el rol de Storage Blob Data Owner
para leer y crear hashes para cada blob y este rol debe agregarse para que el resumen se calcule correctamente.
Nota:
Varias cuentas de almacenamiento se pueden conectar a una sola instancia de aplicación administrada. Actualmente se recomienda un máximo de 10 cuentas de almacenamiento que contengan contenedores de blobs de uso elevado.
Adición de blobs y creación de resúmenes
Una vez que la cuenta de almacenamiento está conectada correctamente a la aplicación administrada, los blobs pueden empezar a agregarse a contenedores dentro de la cuenta de almacenamiento. A los blobs se les realiza un seguimiento en tiempo real y los resúmenes se calculan y almacenan en Azure Confidential Ledger.
Tablas de transacciones y bloques
Se realiza un seguimiento de todos los eventos de creación de blobs en tablas internas almacenadas en la aplicación administrada.
La tabla de transacciones contiene información sobre cada blob y un hash único que se genera mediante una combinación de los metadatos y el contenido del blob.
La tabla de bloques contiene información relacionada con cada resumen que se crea para el contenedor de blobs y el identificador de transacción asociado para el resumen se almacena en Azure Confidential Ledger.
Configuración de hash
Hay algunas configuraciones de hash que se pueden seleccionar al crear la aplicación administrada. Elija el Hashing Algorithm
que se usará para crear los hash, ya sea MD5
o SHA256
. También es posible elegir el número de blobs incluidos en cada hash o el Digest Size
. El tamaño de hash oscila de 1-16
y es el número de blobs a los que se aplicará un hash en cada bloque. Por último, seleccione el Hash Contents
y a lo que se aplicará un hash al crear cada hash. Puede ser el File Contents + Metadata
de cada blob o solo el File Contents
.
Visualización del resumen en Azure Confidential Ledger
Para ver los resúmenes que se almacenan directamente en Azure Confidential Ledger, vaya a la hoja Ledger Explorer
.
Realización de una auditoría
Si alguna vez desea comprobar la validez de los blobs que se agregan a un contenedor para asegurarse de que no se manipulan, puede ejecutar una auditoría en cualquier momento dado. La auditoría reproduce todos los eventos de creación de blobs y vuelve a calcular los resúmenes con los blobs almacenados en el contenedor durante la auditoría. A continuación, compara los resúmenes recalculados con los resúmenes almacenados en Azure Confidential y proporciona un informe que muestra todas las comparaciones y si el contenedor de blobs está manipulado o no.
Desencadenamiento de una auditoría
Una auditoría se puede desencadenar mediante la inclusión del siguiente mensaje en la cola de Service Bus asociada a la aplicación administrada:
{
"eventType": "PerformAudit",
"storageAccount": "<storage_account_name>",
"blobContainer": "<blob_container_name>"
}
Asegúrese de incluir un Session ID
, ya que la cola tiene habilitadas las sesiones.
Visualización de los resultados de la auditoría
Una vez que una auditoría se realiza correctamente, los resultados de se pueden encontrar en un contenedor denominado <managed-application-name>-audit-records
que se encuentra en la cuenta de almacenamiento correspondiente. Los resultados contienen el resumen recalculado, el resumen recuperado de Azure Confidential Ledger y si los blobs se manipulan o no.
Al crear la aplicación administrada, si opta por recibir alertas de correo electrónico, recibirá un correo electrónico enviado durante Audit Failure
o Audit Success and Failure
, en función de la opción seleccionada.
Registro y errores
Los registros de errores se pueden encontrar en un contenedor denominado <managed-application-name>-error-logs
en la cuenta de almacenamiento correspondiente. Si se produce un error en un evento de creación de blobs o un proceso de auditoría, la causa del error se registra y se almacena en este contenedor. Si tiene alguna pregunta sobre los registros de errores o la funcionalidad de la aplicación, póngase en contacto con el equipo de soporte técnico de Azure Confidential Ledger proporcionado en los detalles de la aplicación administrada.
Limpieza de la aplicación administrada
Puede eliminar la aplicación administrada para limpiar y quitar todos los recursos asociados. Al eliminar la aplicación administrada, se impide que se realice el seguimiento de todas las transacciones de blobs y se detenga la creación de todos los resúmenes. Los informes de auditoría siguen siendo válidos para los blobs que se agregaron antes de la eliminación.
Más recursos
Para obtener más información sobre las aplicaciones administradas y los recursos implementados, consulte los siguientes vínculos: