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


Интеграция Defender для облака CLI с конвейерами CI/CD

Defender для облака интерфейс командной строки (CLI) — это приложение, которое можно использовать в конвейерах непрерывной интеграции и непрерывного развертывания (CI/CD). Он запускает статические средства анализа и подключает код к облачным службам. Вы можете использовать Defender для облака CLI в любом процессе сборки для сканирования образов уязвимостей безопасности с помощью встроенных сканеров безопасности. Он отправляет результаты сканирования на портал Defender для облака. Затем Cloud Security Explorer может получить доступ к образу контейнера и его уязвимостям.

Необходимые компоненты

  • Подписка Azure с Defender для облака подключена. Если у вас еще нет учетной записи Azure, создайте ее бесплатно.

  • Один из следующих средств конвейера CI/CD: Jenkins, BitBucket Pipelines, Google Cloud Build, Bamboo, CircleCI, Travis CI, TeamCity, Oracle DevOps services, AWS CodeBuild

  • Включен CSPM Defender.

  • Разрешение администратора безопасности для создания идентификатора клиента и секрета.

Настройка

В следующих разделах мы объясним, как получить идентификатор клиента и секреты, обновить скрипт конвейера CI/CD и добавить переменные среды в конвейер CI/CD.

Получение маркера API

Чтобы разрешить передача данных безопасности из интерфейса командной строки Defender для облака серверной части Defender для облака, администратор безопасности в Defender для облака должен сначала создать ключ API из Defender для облака для проверки подлинности.

При создании маркеров администратор безопасности выбирает область подписки, связанную с маркером. Данные, передаваемые в Defender для облака из этого маркера, ограничены подпиской, с которой связан маркер. Эти маркеры API неизменяемы и могут создаваться и удаляться только.

После этого администратор безопасности должен безопасно передать маркер разработчикам, которые будут добавлены в конвейер CI/CD.

  1. Войдите на портал Azure.

  2. Перейдите к интеграции параметров> среды Microsoft Defender для облака> Management.>

    Снимок экрана: параметры среды интеграции в Defender для облака.

  3. Выберите " Добавить интеграцию" и выберите "Прием DevOps".

    Снимок экрана: новый параметр приема DevOps.

  4. Введите описательное имя маркера, выбранный клиент хранит сведения о маркере. Секрет клиента создается при вводе описания секрета и даты окончания срока действия.

    Снимок экрана: добавление интеграции Приема DevOps.

  5. Включите маркер в конфигурации и создайте маркеры.

    Снимок экрана: создание приема и создания маркеров DevOps.

  6. Скопируйте каждый маркер. Они не могут быть изменены или извлечены после нажатия кнопки "ОК".

    Снимок экрана: успешно созданная приемка DevOps.

  7. В таблице Integrations отображается новое прием.

    Снимок экрана: таблица DevOps Integrations с новым приемом.

Обновление скрипта конвейера CI/CD

Каждый инструмент конвейера CI/CD имеет разные синтаксисы. Этот код является примером конвейера Bitbucket:

image: atlassian/default-image:3
 
pipelines:
  default:
    - parallel:
      - step:
          name: 'MSDO trivy test'
          script:
            - curl -L -o ./msdo_linux.zip https://www.nuget.org/api/v2/package/Microsoft.Security.DevOps.Cli.linux-x64/
            - unzip ./msdo_linux.zip
            - chmod +x tools/guardian
            - chmod +x tools/Microsoft.Guardian.Cli
            - ls -lah .
            - tools/guardian init --force
            - tools/guardian run -t trivy --export-file ./ubuntu-test.sarif --publish-file-folder-path ./ubuntu-test.sarif            

Переменные конвейера

После безопасного получения маркеров разработчик должен настроить переменную среды для ключа. Переменная среды передается в CLI через скрипт оболочки, который разработчик может получить от curl или вручную скопировать скрипт оболочки в репозиторий.

Имя. Значение
GDN_MDC_CLI_CLIENT_ID <Идентификатор клиента>
GDN_MDC_CLI_CLIENT_SECRET <Секрет клиента>
GDN_MDC_CLI_TENANT_ID <Идентификатор клиента>
GDN_PIPELINENAME bitbucket, jenkins, gcp, бамбук, круг, travis, teamcity, oci, aws

Проверка результатов в Cloud Security Explorer

  1. После успешного выполнения конвейера перейдите к Microsoft Defender для облака.

  2. В меню Defender для облака выберите Cloud Security Explorer.

  3. Выберите раскрывающийся список "Выбор типов ресурсов", выберите DevOps и нажмите кнопку "Готово".

    Снимок экрана: конвейер CI/CD в Cloud Security Explorer.

  4. + Выберите значок, чтобы добавить новые критерии поиска.

    Снимок экрана: новый поиск в Cloud Security Explorer.

  5. Выберите раскрывающийся список "Выбрать условие". Затем выберите "Данные", а затем нажмите кнопку "Отправить".

    Снимок экрана: выбор условия Cloud Security Explorer.

  6. Выберите раскрывающийся список "Выбор типов ресурсов". Затем выберите контейнеры, а затем — образы контейнеров и нажмите кнопку "Готово".

    Снимок экрана: выбор образов контейнеров в Cloud Security Explorer.

  7. Выберите область, выбранную во время создания интеграции в параметрах среды.

    Снимок экрана: выбор области Cloud Security Explorer.

  8. Нажмите Поиск.

    Снимок экрана: поиск в Cloud Security Explorer.

  9. Просмотрите результаты сопоставления конвейера с изображениями.

Корреляция с отслеживаемых контейнеров

  1. В Cloud Security Explorer введите следующий запрос: конвейер CI/CD - Образы контейнеров конвейера конвейера -> конвейера + -> содержащиеся в + регистрах контейнеров (группа).

  2. Просмотрите имена ресурсов, чтобы просмотреть сопоставление контейнеров.