Поделиться через


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

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

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

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

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

Интерпретация журналов Key Vault

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

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

    {
        "records":
        [
            {
                "time": "2016-01-05T01:32:01.2691226Z",
                "resourceId": "/SUBSCRIPTIONS/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/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#[email protected]","appid":"00001111-aaaa-2222-bbbb-3333cccc4444"}},
                "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}
            }
        ]
    }

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

Имя поля Описание
Время Дата и время (в формате UTC).
resourceId Идентификатор ресурса Azure Resource Manager. Для журналов Key Vault всегда используется идентификатор ресурса Key Vault.
operationName Имя операции, как описано в следующей таблице.
версияОперации Запрошенная клиентом версия REST API.
категория Тип результата. Для журналов AuditEvent Key Vault используется единственное доступное значение.
типРезультата Результат запроса REST API.
resultSignature Состояние HTTP.
описание результата Дополнительные сведения о результатах, когда они доступны.
durationMs Время, затраченное на обработку запроса к REST API, в миллисекундах. Время не включает задержку сети, поэтому время, измеряемого на стороне клиента, может не соответствовать этому времени.
callerIpAddress IP-адрес клиента, выполнившего запрос.
correlationId Необязательный GUID, который клиент может передавать для сопоставления журналов на стороне клиента с журналами на стороне службы (хранилища ключей).
идентичность Идентификационные данные извлекаются из токена, представленного в запросе к REST API. Обычно это "пользователь", "учетная запись службы" или комбинация "пользователь+appId", например, если запрос поступает из командлета Azure PowerShell.
свойства Сведения, которые зависят от операции (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:

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

ИмяОперации Команда REST API
Аутентификация Аутентификация через точку подключения Microsoft Entra
VaultGet Получение сведений о хранилище ключей
VaultPut Создание или обновление хранилища ключей
VaultDelete Удаление хранилища ключей
VaultPatch Обновление хранилища ключей
VaultList Перечислить все хранилища ключей в группе ресурсов
VaultPurge Очистка удаленного хранилища
VaultRecover Восстановление удаленного хранилища
VaultGetDeleted Получение удаленного хранилища
VaultListDeleted Список удаленных хранилищ
УведомлениеСобытияИзмененияПолитикиДоступаК VaultGrid Опубликовано событие изменения политики доступа к хранилищу. Он регистрируется независимо от того, существует ли подписка Event Grid.

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

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

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

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

Дальнейшие действия