#azure #azure-sql-database
#azure #azure-sql-database
Вопрос:
Есть ли способ получить оповещение при добавлении правила брандмауэра в базу данных SQL Azure? Я проверил панель мониторинга и не увидел для этого метрики или события журнала.
Ответ №1:
Для достижения этого можно использовать логическое приложение:
- Создайте новое приложение логики, используя шаблон «При получении HTTP-запроса». Используйте следующий JSON в качестве примера полезной нагрузки. Затем вам нужно будет добавить условие и действие (электронное письмо?). В теле письма вы можете отправить дополнительные сведения, такие как адрес электронной почты вызывающего абонента, IP-адрес вызывающего абонента и т.д.
Условия должны быть Status = Активировано и OperationName =»Microsoft.Sql/servers /firewallRules /write». 2. создайте новое оповещение в Monitor. Ресурсом будет ваш SQL Server, а сигналом будет «Все административные операции». Создайте новую группу действий и задайте действие webhook. Используйте URL-адрес logic app webhook, созданный на предыдущем шаге.
{
"headers": {
"Connection": "Keep-Alive",
"Expect": "100-continue",
"Host": "abc.logic.azure.com",
"User-Agent": "IcMBroadcaster/1.0",
"X-CorrelationContext": "abc",
"Content-Length": "1350",
"Content-Type": "application/json; charset=utf-8"
},
"body": {
"schemaId": "Microsoft.Insights/activityLogs",
"data": {
"status": "Activated",
"context": {
"activityLog": {
"channels": "Operation",
"eventSource": "Administrative",
"eventTimestamp": "2019-03-09T10:00:36.549 00:00",
"eventDataId": "eventid",
"level": "Informational",
"operationName": "Microsoft.Sql/servers/firewallRules/write",
"properties": {
"originalEventTimestamp": "03/09/2019 10:00:17",
"correlationId": "correlationId",
"eventId": "eventId",
"eventName": "OverwriteFirewallRules",
"operationName": "Microsoft.Sql/servers/firewallRules/write",
"status": "Succeeded",
"description_scrubbed": "description",
"caller": "useremail@email.com",
"callerCredentialType": "LiveId",
"eventChannel": "OperationLogStore",
"ipAddress": "useripaddress",
"eventSource": "SQL Databases Event Supplier"
},
"resourceId": "resourceId",
"resourceGroupName": "groupname",
"resourceProviderName": "MICROSOFT.SQL",
"status": "Succeeded",
"subscriptionId": "subscriptionId",
"submissionTimestamp": "2019-03-09T10:00:36.549 00:00",
"resourceType": "microsoft.sql/servers"
}
},
"properties": {}
}
}
}
Комментарии:
1. Хороший чувак, креативное решение!
2. Но откуда поступает http-запрос?
3. Объясняется на 2-м шаге.
Ответ №2:
Вы можете сделать это с помощью журнала действий. Если вы добавите новое правило брандмауэра и через несколько минут проверите журнал действий, вы увидите серию записей с названием операции Обновление правил брандмауэра SQL Server. Щелкните по тому, у которого есть статус Успешно. На следующей странице появится кнопка «Новое правило оповещения«.
Вам нужно будет отредактировать условие, поскольку оно устанавливает инициатором ваше имя пользователя. Для этого щелкните условие и измените событие, инициируемое значением.