Ведение журнала Azure Key Vault

Создав одно или несколько хранилищ ключей вы, вероятно, захотите отслеживать, кто, как и когда осуществлял доступ к этим хранилищам. Включение ведения журнала для Azure Key Vault сохраняет эти сведения в предоставленной учетной записи хранения Azure. Пошаговые инструкции см. в руководстве по включению ведения журнала Key Vault.

Регистрируемые в журналах сведения становятся доступны не позднее чем через 10 минут после выполнения операции с хранилищем ключей. В большинстве случаев это будет быстрее. Способ управления журналами в своей учетной записи хранения вы выбираете сами.

  • В учетной записи хранения используйте стандартные методы контроля доступа, предоставляемые Azure, для защиты журналов путем ограничения доступа к ним.
  • Удаляйте журналы, которые больше не нужно хранить в учетной записи хранения.

Общие сведения о Key Vault см. в статье Что такое хранилище ключей Azure? Сведения о регионах доступности Key Vault можно узнать на странице цен. Сведения об использовании Azure Monitor для Key Vault см. здесь.

Интерпретация журналов хранилища ключей

При включении ведения журнала для указанной вами учетной записи хранения автоматически создается контейнер с именем insights-logs-auditevent. Эту же учетную запись можно использовать для сбора журналов нескольких хранилищ ключей.

Отдельные BLOB-объекты хранятся как текст в формате JSON. Давайте рассмотрим пример записи журнала.

    {
        "records":
        [
            {
                "time": "2016-01-05T01:32:01.2691226Z",
                "resourceId": "/SUBSCRIPTIONS/361DA5D4-A47A-4C79-AFDD-XXXXXXXXXXXX/RESOURCEGROUPS/CONTOSOGROUP/PROVIDERS/MICROSOFT.KEYVAULT/VAULTS/CONTOSOKEYVAULT",
                "operationName": "VaultGet",
                "operationVersion": "2015-06-01",
                "category": "AuditEvent",
                "resultType": "Success",
                "resultSignature": "OK",
                "resultDescription": "",
                "durationMs": "78",
                "callerIpAddress": "104.40.82.76",
                "correlationId": "",
                "identity": {"claim":{"http://schemas.microsoft.com/identity/claims/objectidentifier":"d9da5048-2737-4770-bd64-XXXXXXXXXXXX","http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn":"live.com#username@outlook.com","appid":"1950a258-227b-4e31-a9cf-XXXXXXXXXXXX"}},
                "properties": {"clientInfo":"azure-resource-manager/2.0","requestUri":"https://control-prod-wus.vaultcore.azure.net/subscriptions/361da5d4-a47a-4c79-afdd-XXXXXXXXXXXX/resourcegroups/contosoresourcegroup/providers/Microsoft.KeyVault/vaults/contosokeyvault?api-version=2015-06-01","id":"https://contosokeyvault.vault.azure.net/","httpStatusCode":200}
            }
        ]
    }

В следующей таблице перечислены имена и описания полей.

Имя поля Description
time Дата и время (в формате UTC).
resourceId Идентификатор ресурса Azure Resource Manager. Для журналов Key Vault всегда используется идентификатор ресурса Key Vault.
operationName Имя операции, как описано в следующей таблице.
operationVersion Запрошенная клиентом версия REST API.
category Тип результата. Для журналов Key Vault единственным доступным значением является AuditEvent.
resultType Результат запроса к REST API.
resultSignature Состояние HTTP.
resultDescription Дополнительные сведения о результатах, когда они доступны.
durationMs Время обслуживания запроса REST API в миллисекундах. Время не включает задержку сети, поэтому время, измеряемого на стороне клиента, может не соответствовать этому времени.
callerIpAddress IP-адрес клиента, выполнившего запрос.
correlationId Необязательный GUID, который клиент может передавать для сопоставления журналов на стороне клиента с журналами на стороне службы (хранилища ключей).
identity Удостоверение из маркера, предоставляемое в запросе к REST API. Обычно пользователь, субъект-служба или сочетание "user+appId", например, когда запрос поступает из командлета Azure PowerShell.
properties Эта информация зависит от типа операции (operationName). В большинстве случаев это поле содержит сведения о клиенте (передаваемая клиентом строка useragent), точный URI запроса REST API и код состояния HTTP. Кроме того, когда результат запроса содержит объект (например, KeyCreate или VaultGet), это поле содержит еще и URI ключа (в значении id), URI хранилища или URI секрета.

Значения поля operationName отображаются в формате ObjectVerb. Например:

  • Все операции с хранилищем ключей отображаются в формате Vault<action>, например VaultGet или VaultCreate.
  • Все операции с ключами отображаются в формате Key<action>, например KeySign или KeyList.
  • Все операции с секретами отображаются в формате Secret<action>, например SecretGet или SecretListVersions.

В следующей таблице перечислены значения operationName и соответствующие команды REST API.

Таблица имен операций

operationName Команда REST API
Проверка подлинности Проверка подлинности через конечную точку Microsoft Entra
VaultGet Получение сведений о хранилище ключей
VaultPut Создание или обновление хранилища ключей
VaultDelete Удаление хранилища ключей
VaultPatch Update a key vault (Создание или обновление хранилища ключей)
VaultList Список всех хранилищ ключей в группе ресурсов
VaultPurge Очистка удаленного хранилища
VaultRecover Восстановление удаленного хранилища
VaultGetDeleted Получение данных об удаленном хранилище
VaultListDeleted Вывод списка удаленных хранилищ
VaultAccessPolicyChangedEventGridNotification Опубликовано событие изменения политики доступа к хранилищу. Он регистрируется независимо от того, существует ли подписка сетки событий.

Использование журналов Azure Monitor

Решение Key Vault в журналах Azure Monitor позволяет просматривать журналы AuditEvent для Key Vault. В журналах Azure Monitor запросы по журналам используются для анализа данных и получения необходимых сведений.

Дополнительные сведения о настройке см. в Azure Key Vault в Azure Monitor.

Сведения об анализе журналов см. в разделе "Примеры запросов журналов Kusto"

Следующие шаги