Можно ли получить доступ к рекомендациям Центра безопасности Azure за пределами портала Azure?
Для части проекта мне нужно иметь возможность отображать рекомендации центра безопасности для данной группы ресурсов на веб-странице. Чтобы было ясно, я ищу доступ к данным на Recommendations
блейд Azure Security Center и фильтруйте эту информацию по группе ресурсов, отображая только рекомендации, относящиеся к этим ресурсам.
Я искал два способа реализовать это:
- Security Resource API кажется хорошей отправной точкой, однако я не могу найти конечную точку API, которая позволила бы мне получить доступ к рекомендациям. Я нашел методы для
GET
оповещения о безопасности и задачи безопасности, но оба они являются реактивными (то есть что-то произошло, о чем вы должны знать), в то время как я ищу предупреждающие (то есть что-то может произойти, предпримите эти шаги, чтобы уменьшить риск того, что это произойдет). - Панели PowerBI также делают почти то, что я хочу. Я могу предварительно просмотреть количество рекомендаций, и одна из страниц панели мониторинга по умолчанию даже разбивает эти цифры по группам ресурсов, но я все еще не могу найти способ использовать эту информацию так, как мне хочется.
Идеальное решение позволило бы мне получить и отобразить все рекомендации по ресурсам, относящиеся к контролируемой группе ресурсов, со следующими параметрами:
- Название ресурса
- Описание
- государственный
- Строгость
Есть ли способ получить доступ к этой информации за пределами Azure? Возможно ли, что я пропустил что-то в документации API или PowerBI, что позволило бы мне это сделать? Я новичок в PowerBI и боюсь, что неправильно понимаю основную концепцию, которая может быть прямо передо мной.
Спасибо за ваше время!
3 ответа
Думаю, я вернусь к этому на случай, если кто-нибудь когда-нибудь будет искать ответ на этот вопрос. Я постараюсь сохранить это вкратце, но в итоге я сделал следующее.
Get Security Status
Метод, о котором я упоминал в исходном вопросе, возвращает поле с именемproperties
, MSDN нигде не говорит (в то время, когда я публикую это), что содержат эти свойства, но я опубликую пример JSON для потомков:
{
"value": [
{
* "id": "(identifying information specific to task)",
"name": "(int)",
"type": "Microsoft.Security/locations/(resource group)/tasks",
"properties": {
* "state": "Active",
"subState": "NA",
"creationTimeUtc": "2017-01-29T10:40:43.6599124Z",
"lastStateChangeTimeUtc": "2017-01-29T10:40:43.6599124Z",
"securityTaskParameters": {
* "storageAccountName": "(resource name)",
* "name": "Enable encryption for Azure Storage Account",
"uniqueKey": "(url to resource)",
"resourceId": "(url to resource)"
}
}
}
}
Итак, я заполнил свои модели параметрами звездочками в начале их строк (добавлено мной).
Честно говоря, это несовсем то , что я искал, но это достаточно близкий аналог для работы. Я действительно хотел бы, чтобы документация для этого была лучше, но я смог найти информацию, следуя догадке.
Я надеюсь, что это поможет кому-нибудь когда-нибудь!
// *** Запрос Azure Resource Graph Explorer приведен ниже:
ресурсы безопасности
| где введите == "microsoft.security/assessments"
| где displayName == "Защита конечной точки должна быть установлена на ваших машинах"
// statusChangeDate: 2021-08-02, 2021-11-03
При использовании API в Azure существует ограничение в 1000 записей, поэтому вам нужно перейти по следующей ссылке и продолжить оттуда.
Azure Resource Graph Explorer использует язык запросов Kusto. Вы можете запускать microsoft.security/assessments только из Azure Resource Graph Explorer, но не из PowerBI. Проблема заключается в том, как получить данные microsoft.security/assessments за пределами Azure.