Ведение журнала в службе "Управляемое устройство HSM"
После создания одного или нескольких управляемых виртуальных машин HSM вы, скорее всего, захотите отслеживать способ и время доступа к устройствам HSM и тем, кто. Это можно сделать с помощью функции ведения журнала, которая сохраняет информацию в указанной учетной записи хранения Azure. Для указанной вами учетной записи автоматически создается контейнер с именем insights-logs-auditevent. Одну и ту же учетную запись можно использовать для сбора журналов нескольких управляемых устройств HSM.
Регистрируемые в журналах сведения становятся доступны не позднее чем через 10 минут после выполнения операции с управляемым устройством HSM. В большинстве случаев это будет еще быстрее. Способ управления журналами в своей учетной записи хранения вы выбираете сами.
- Используйте стандартные методы контроля доступа, предоставляемые Azure, для защиты журналов путем ограничения доступа к ним.
- Удаляйте журналы, которые больше не нужно хранить в учетной записи хранения.
Это руководство поможет вам приступить к работе с журналами службы "Управляемое устройство HSM". Вы создадите учетную запись хранения, включите ведение журнала и проанализируете собранные данные журнала.
Примечание.
В этом руководстве нет инструкций по созданию управляемых устройств HSM и ключей. В этой статье приведены инструкции по обновлению журнала ведения диагностики с помощью Azure CLI.
Необходимые компоненты
Чтобы выполнить действия, описанные в этой статье, вам потребуется следующее:
- Подписка на Microsoft Azure. Если у вас ее нет, зарегистрируйтесь, чтобы воспользоваться бесплатной пробной версией.
- Azure CLI 2.25.0 или более поздней версии. Чтобы узнать версию, выполните команду
az --version
. Если вам необходимо выполнить установку или обновление, обратитесь к статье Установка Azure CLI. - Управляемое устройство HSM в подписке. Выполните действия из статьи Краткое руководство. Подготовка и активация управляемого устройства HSM с помощью Azure CLI.
Azure Cloud Shell
В Azure есть Azure Cloud Shell, интерактивная оболочка среды, с которой можно работать в браузере. Для работы со службами Azure можно использовать Bash или PowerShell с Cloud Shell. Для запуска кода из этой статьи можно использовать предварительно установленные команды Cloud Shell. Ничего дополнительного в локальной среде устанавливать не нужно.
Начало работы с Azure Cloud Shell
Вариант | Пример и ссылка |
---|---|
Нажмите кнопку Попробовать в правом верхнем углу блока кода или команд. При нажатии кнопки Попробовать код или команда не копируется в Cloud Shell автоматически. | |
Чтобы открыть Cloud Shell в браузере, перейдите по адресу https://shell.azure.com или нажмите кнопку Запуск Cloud Shell. | |
Нажмите кнопку Cloud Shell в строке меню в правом верхнем углу окна портала Azure. |
Чтобы использовать Azure Cloud Shell, выполните следующие действия:
Запустите Cloud Shell.
Нажмите кнопку Копировать в блоке кода (или блоке команд), чтобы скопировать код или команду.
Вставьте код или команду в окно сеанса Cloud Shell, нажав клавиши CTRL+SHIFT+V в Windows и Linux или CMD+SHIFT+V в macOS.
Нажмите клавишу ВВОД, чтобы запустить код или команду.
Подключение к подписке Azure
Для настройки ведения журнала ключей первым делом подключите Azure CLI к нужному управляемому устройству HSM.
az login
Дополнительные сведения о параметрах входа с помощью интерфейса командной строки см. в статье Вход с помощью Azure CLI.
Возможно, придется дополнительно указать ту подписку, в которой вы создали управляемое устройство HSM. Чтобы увидеть подписки для своей учетной записи, введите следующую команду:
Определение управляемого устройства HSM и учетной записи хранения
hsmresource=$(az keyvault show --hsm-name ContosoMHSM --query id -o tsv)
storageresource=$(az storage account show --name ContosoMHSMLogs --query id -o tsv)
Включение ведения журналов
Чтобы включить ведение журнала для управляемого устройства HSM, выполните команду az monitor diagnostic-settings create с теми переменными, которые мы создали для новой учетной записи хранения и службы "Управляемое устройство HSM". Мы также установим для флага -Enabled значение $true и зададим категорию AuditEvent (единственная доступная категория для ведения журнала службы "Управляемое устройство HSM").
Эти выходные данные подтверждают, что для службы "Управляемое устройство HSM" включено ведение журнала и данные сохраняются в указанной учетной записи хранения.
При желании вы можете задать для журналов политику хранения, например для автоматического удаления старых журналов. Например, для политики хранения можно присвоить флагу -RetentionEnabled значение $true, а параметру -RetentionInDays — значение 90, чтобы автоматически удалять журналы, которые хранятся более 90 дней.
az monitor diagnostic-settings create --name ContosoMHSM-Diagnostics --resource $hsmresource --logs '[{"category": "AuditEvent","enabled": true}]' --storage-account $storageresource
Регистрируются следующие данные:
- Все запросы REST API, прошедшие проверку подлинности, включая неудачные запросы в результате разрешений доступа, системных ошибок, блоков брандмауэра или плохих запросов.
- управляемые операции на плоскости данных с самим управляемым ресурсом HSM, включая создание, удаление и обновление атрибутов, например тегов;
- операции, связанные с доменом безопасности, включая инициализацию со скачиванием, инициализацию с восстановлением и загрузку;
- операции полного резервного копирования, полного и выборочного восстановления HSM;
- операции управления ролями, такие как создание, просмотр и удаление назначений ролей, создание, просмотр и удаление определений пользовательских ролей;
- Операции с ключами, в том числе:
- создание, изменение или удаление ключей;
- подписывание, проверка, шифрование и расшифровка, упаковка и распаковка, получение списка ключей;
- резервное копирование, восстановление и безвозвратное удаление ключей.
- Выпуск ключа
- Недопустимые пути, которые приводят к ответу 404.
Доступ к журналам
Журналы службы "Управляемое устройство HSM" сохраняются в контейнере insights-logs-auditevent в указанной вами учетной записи хранения. Чтобы просмотреть эти журналы, скачайте большие двоичные объекты. Сведения о службе хранилища Azure см. в статье Создание, скачивание и составление списка больших двоичных объектов с помощью Azure CLI.
Отдельные BLOB-объекты хранятся как текст в формате JSON. Давайте рассмотрим пример записи журнала. Ниже приводится пример записи в журнале, созданной при запросе к управляемому устройству HSM на создание полной резервной копии.
[
{
"TenantId": "{tenant-id}",
"time": "2020-08-31T19:52:39.763Z",
"resourceId": "/SUBSCRIPTIONS/{subscription-id}/RESOURCEGROUPS/CONTOSORESOURCEGROUP/PROVIDERS/MICROSOFT.KEYVAULT/MANAGEDHSMS/CONTOSOMHSM",
"operationName": "BackupCreate",
"operationVersion": "7.0",
"category": "AuditEvent",
"resultType": "Success",
"properties": {
"PoolType": "M-HSM",
"sku_Family": "B",
"sku_Name": "Standard_B1"
},
"durationMs": 488,
"callerIpAddress": "X.X.X.X",
"identity": "{\"claim\":{\"appid\":\"{application-id}\",\"http_schemas_microsoft_com_identity\":{\"claims\":{\"objectidentifier\":\"{object-id}\"}},\"http_schemas_xmlsoap_org_ws_2005_05_identity\":{\"claims\":{\"upn\":\"admin@contoso.com\"}}}}",
"clientInfo": "azsdk-python-core/1.7.0 Python/3.8.2 (Linux-4.19.84-microsoft-standard-x86_64-with-glibc2.29) azsdk-python-azure-keyvault/7.2",
"correlationId": "8806614c-ebc3-11ea-9e9b-00155db778ad",
"subnetId": "(unknown)",
"httpStatusCode": 202,
"PoolName": "mhsmdemo",
"requestUri": "https://ContosoMHSM.managedhsm.azure.net/backup",
"resourceGroup": "ContosoResourceGroup",
"resourceProvider": "MICROSOFT.KEYVAULT",
"resource": "ContosoMHSM",
"resourceType": "managedHSMs"
}
]
Следующие шаги
- Изучите рекомендации по подготовке и использованию управляемого устройства HSM.
- Ознакомьтесь с процессами резервного копирования и восстановления для управляемого устройства HSM.