Можно ли получить доступ к рекомендациям Центра безопасности Azure за пределами портала Azure?

Для части проекта мне нужно иметь возможность отображать рекомендации центра безопасности для данной группы ресурсов на веб-странице. Чтобы было ясно, я ищу доступ к данным на Recommendations блейд Azure Security Center и фильтруйте эту информацию по группе ресурсов, отображая только рекомендации, относящиеся к этим ресурсам.

Я искал два способа реализовать это:

  1. Security Resource API кажется хорошей отправной точкой, однако я не могу найти конечную точку API, которая позволила бы мне получить доступ к рекомендациям. Я нашел методы для GET оповещения о безопасности и задачи безопасности, но оба они являются реактивными (то есть что-то произошло, о чем вы должны знать), в то время как я ищу предупреждающие (то есть что-то может произойти, предпримите эти шаги, чтобы уменьшить риск того, что это произойдет).
  2. Панели 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.

Другие вопросы по тегам