Создание управляемого приложения для хранения дайджестов BLOB-объектов
Необходимые компоненты
- Учетная запись хранения Azure
- Azure CLI (необязательно)
- Версия Python, поддерживаемая пакетом SDK Azure для Python (необязательно)
Обзор
Дайджест хранилища BLOB-объектов, поддерживаемый управляемым приложением конфиденциального реестра, можно использовать, чтобы гарантировать, что большие двоичные объекты в контейнере BLOB-объектов являются доверенными и не изменены. Приложение после подключения к учетной записи хранения отслеживает все большие двоичные объекты, добавляемые в каждый контейнер в учетной записи хранения в режиме реального времени, помимо вычисления и хранения дайджестов в конфиденциальном реестре Azure. Аудит можно выполнять в любое время, чтобы проверить допустимость больших двоичных объектов и убедиться, что контейнер БОЛЬШИХ двоичных объектов не был изменен.
Развертывание управляемого приложения
Управляемое приложение можно найти в Azure Marketplace здесь: дайджесты хранилища BLOB-объектов, поддерживаемые конфиденциальным реестром (предварительная версия).
Ресурсы для создания
После заполнения обязательных полей и развертывания приложения в управляемой группе ресурсов создаются следующие ресурсы:
- Конфиденциальный реестр
- очередь служебная шина с включенными сеансами
- Учетная запись хранения (учетная запись хранения издателя, используемая для хранения логики дайджеста и журнала аудита)
- Приложение-функция
- Application Insights
Подключение учетной записи хранения к управляемому приложению
После создания управляемого приложения вы сможете подключить управляемое приложение к учетной записи хранения, чтобы начать обработку и запись дайджестов контейнеров BLOB-объектов в конфиденциальный реестр Azure.
Создание раздела и подписки на события для учетной записи хранения
Управляемое приложение использует очередь Служебная шина Azure для отслеживания и записи всех событий создания BLOB-объектов и удаления BLOB-объектов. Вы будете использовать очередь, созданную в управляемой группе ресурсов управляемым приложением, и добавьте ее в качестве подписчика событий для любой учетной записи хранения, для которую вы создаете большие двоичные объекты. Кроме того, убедитесь, что System Topic Name
для очереди Служебная шина Azure, созданной управляемым приложением, назначена Azure Service Bus Data Sender
связанная с учетной записью хранения.
В портал Azure можно перейти к учетной записи хранения, для которой вы хотите начать создавать дайджесты БОЛЬШИХ двоичных объектов и перейти к колонкеEvents
. Там можно создать подписку на события и подключить ее к конечной точке очереди Служебная шина Azure. Не забудьте пометить как Managed identity type
System Assigned
.
Очередь использует сеансы для поддержания порядка между несколькими учетными записями хранения, поэтому вам также потребуется перейти на Delivery Properties
вкладку и ввести уникальный идентификатор сеанса для этой подписки на событие.
Добавление требуемой роли в учетную запись хранения
Управляемое приложение требует Storage Blob Data Owner
, чтобы роль считывала и создавала хэши для каждого большого двоичного объекта, и эта роль должна быть добавлена для правильного вычисления дайджеста.
Примечание.
Несколько учетных записей хранения можно подключить к одному экземпляру управляемого приложения. В настоящее время рекомендуется не более 10 учетных записей хранения, содержащих контейнеры больших двоичных объектов с высоким уровнем использования.
Добавление больших двоичных объектов и создание дайджеста
После правильного подключения учетной записи хранения к управляемому приложению большие двоичные объекты могут добавляться в контейнеры в учетной записи хранения. Большие двоичные объекты отслеживаются в режиме реального времени, а дайджесты вычисляются и хранятся в конфиденциальном реестре Azure.
Таблицы транзакций и блоков
Все события создания BLOB-объектов отслеживаются во внутренних таблицах, хранящихся в управляемом приложении.
Таблица транзакций содержит сведения о каждом большом двоичном объекте и уникальном хэше, созданном с помощью сочетания метаданных большого двоичного объекта и /или содержимого.
Таблица блоков содержит сведения, связанные с каждым дайджестом, созданным для контейнера BLOB-объектов, а связанный идентификатор транзакции для дайджеста хранится в конфиденциальном реестре Azure.
Параметры дайджеста
При создании управляемого приложения можно выбрать несколько параметров дайджеста. Вы можете выбрать используемый для создания дайджестов Hashing Algorithm
, будь MD5
то или SHA256
. Вы также можете выбрать количество больших двоичных объектов, содержащихся в каждом дайджесте или в .Digest Size
Размер дайджеста от 1-16
и является числом больших двоичных объектов, которые будут хэшированы вместе в каждом блоке. Наконец, вы можете выбрать Hash Contents
и то, что будет хэшировано при создании каждого дайджеста. Это может быть каждый большой двоичный File Contents + Metadata
объект или просто File Contents
.
Просмотр дайджеста в конфиденциальном реестре Azure
Вы можете просмотреть дайджесты, хранящиеся непосредственно в конфиденциальном реестре Azure, перейдя к колонке Ledger Explorer
.
Выполнение аудита
Если вы когда-либо хотите проверить допустимость больших двоичных объектов, которые добавляются в контейнер, чтобы убедиться, что они не изменены, аудит может выполняться в любой момент времени. Аудит воспроизводит каждое событие создания BLOB-объектов и пересчитывает дайджесты с большими двоичными объектами, хранящимися в контейнере во время аудита. Затем он сравнивает пересчитываемые дайджесты с дайджестами, хранящимися в Конфиденциальной службе Azure, и предоставляет отчет, отображающий все сравнения дайджеста и независимо от того, является ли контейнер BLOB-объектов измененным.
Активация аудита
Аудит можно активировать, включив следующее сообщение в очередь служебная шина, связанную с управляемым приложением:
{
"eventType": "PerformAudit",
"storageAccount": "<storage_account_name>",
"blobContainer": "<blob_container_name>"
}
Обязательно включите в Session ID
очередь сеансы.
Просмотр результатов аудита
После успешного выполнения аудита результаты аудита можно найти в контейнере с именем <managed-application-name>-audit-records
в соответствующей учетной записи хранения. Результаты содержат пересчитываемый дайджест, дайджест, полученный из конфиденциального реестра Azure, и независимо от того, будут ли большие двоичные объекты изменены.
При создании управляемого приложения, если вы выберете оповещения электронной почты, вы получите сообщение электронной почты, отправленное на электронную почту во время Audit Failure
или Audit Success and Failure
в зависимости от выбранного параметра.
Ведение журнала и ошибки
Журналы ошибок можно найти в контейнере с именем <managed-application-name>-error-logs
в соответствующей учетной записи хранения. Если событие создания большого двоичного объекта или процесс аудита завершается сбоем, причина сбоя записывается и хранится в этом контейнере. Если возникли вопросы о журналах ошибок или функциональных возможностях приложений, обратитесь в службу поддержки конфиденциального реестра Azure, предоставленной в сведениях об управляемом приложении.
Очистка управляемого приложения
Вы можете удалить управляемое приложение, чтобы очистить и удалить все связанные ресурсы. Удаление управляемого приложения останавливает отслеживание всех транзакций BLOB-объектов и останавливает создание всех дайджестов. Отчеты аудита остаются действительными для больших двоичных объектов, которые были добавлены до удаления.
Дополнительные ресурсы
Дополнительные сведения об управляемых приложениях и развернутых ресурсах см. по следующим ссылкам: