Ведение журнала 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"
Следующие шаги
- Включение ведения журнала Key Vault
- Azure Monitor
- Руководство по использованию Azure Key Vault в веб-приложении .NET см. в этой статье.
- Справочные материалы по программированию см. в статье Руководство разработчика хранилища ключей Azure.
- Полный список командлетов Azure PowerShell 1.0 для хранилища ключей Azure см. в статье Azure Key Vault cmdlets (Командлеты хранилища ключей Azure).