Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Вы можете настроить Microsoft Security DevOps для сканирования подключенного репозитория GitHub или проекта Azure DevOps. Используйте действие GitHub или расширение Azure DevOps для запуска Microsoft Security DevOps только в исходном коде Infrastructure as Code (IaC) для уменьшения времени выполнения конвейера.
В этой статье показано, как применить файл конфигурации YAML шаблона для сканирования подключенного репозитория или проекта специально для проблем с безопасностью IaC с помощью правил Microsoft Security DevOps.
Предпосылки
- Для Microsoft Security DevOps настройте действие GitHub или расширение Azure DevOps на основе системы управления исходным кодом:
- Если репозиторий находится в GitHub, настройте действие Microsoft Security DevOps GitHub.
- Если вы управляете исходным кодом в Azure DevOps, настройте расширение Microsoft Security DevOps Azure DevOps.
- Убедитесь, что в репозитории есть шаблон IaC.
Настройка и запуск действия GitHub для проверки подключенного исходного кода IaC
Чтобы настроить действие и просмотреть результаты сканирования в GitHub, выполните приведенные ниже действия.
Войдите в GitHub.
Перейдите на главную страницу репозитория.
В каталоге файлов выберитерабочие процессы>github>msdevopssec.yml.
Дополнительные сведения о работе с действием в GitHub см. в разделе "Предварительные требования".
Щелкните значок редактирования этого файла (карандаша).
В разделе "Запуск анализаторов " файла YAML добавьте следующий код:
with: categories: 'IaC'Замечание
Значения чувствительны к регистру символов.
Ниже приведен пример:
Выберите "Зафиксировать изменения". . . .
Выберите " Зафиксировать изменения".
(Необязательно) Добавьте шаблон IaC в репозиторий. Если у вас уже есть шаблон IaC в репозитории, пропустите этот шаг.
Например, зафиксируйте шаблон IaC, который можно использовать для развертывания базового веб-приложения Linux.
Выберите файл azuredeploy.json.
Выберите Raw.
Скопируйте все сведения в файле, как показано в следующем примере:
{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "webAppName": { "type": "string", "defaultValue": "AzureLinuxApp", "metadata": { "description": "The base name of the resource, such as the web app name or the App Service plan." }, "minLength": 2 }, "sku": { "type": "string", "defaultValue": "S1", "metadata": { "description": "The SKU of the App Service plan." } }, "linuxFxVersion": { "type": "string", "defaultValue": "php|7.4", "metadata": { "description": "The runtime stack of the current web app." } }, "location": { "type": "string", "defaultValue": "[resourceGroup().location]", "metadata": { "description": "The location for all resources." } } }, "variables": { "webAppPortalName": "[concat(parameters('webAppName'), '-webapp')]", "appServicePlanName": "[concat('AppServicePlan-', parameters('webAppName'))]" }, "resources": [ { "type": "Microsoft.Web/serverfarms", "apiVersion": "2020-06-01", "name": "[variables('appServicePlanName')]", "location": "[parameters('location')]", "sku": { "name": "[parameters('sku')]" }, "kind": "linux", "properties": { "reserved": true } }, { "type": "Microsoft.Web/sites", "apiVersion": "2020-06-01", "name": "[variables('webAppPortalName')]", "location": "[parameters('location')]", "kind": "app", "dependsOn": [ "[resourceId('Microsoft.Web/serverfarms', variables('appServicePlanName'))]" ], "properties": { "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('appServicePlanName'))]", "siteConfig": { "linuxFxVersion": "[parameters('linuxFxVersion')]" } } } ] }В репозитории GitHub перейдите в папку .github/workflows .
Нажмите кнопку "Добавить файл>", чтобы создать файл.
Введите имя файла.
Вставьте скопированные сведения в файл.
Выберите "Зафиксировать новый файл".
Файл шаблона добавляется в репозиторий.
Убедитесь, что проверка Microsoft Security DevOps завершена:
В репозитории выберите "Действия".
Выберите рабочий процесс, чтобы просмотреть состояние действия.
Чтобы просмотреть результаты сканирования, перейдите в Defender for Cloud>DevOps security (GHAS не требуется) или в разделе Security>уведомления о сканировании кода в GitHub (требуется лицензия GHAS).
Настройка и запуск расширения Azure DevOps для проверки подключенного исходного кода IaC
Чтобы настроить расширение и просмотреть результаты сканирования в Azure DevOps, выполните приведенные ниже действия.
Выполните вход в Azure DevOps.
Выберите проект.
Выберите конвейеры.
Выберите конвейер, в котором настроено расширение Azure DevOps для Microsoft Security DevOps.
Выберите "Изменить конвейер".
В файле конфигурации YAML конвейера под строкой
displayNameзадачи MicrosoftSecurityDevOps@1 добавьте следующий код:inputs: categories: 'IaC'Ниже приведен пример:
Нажмите кнопку "Сохранить".
(Необязательно) Добавьте шаблон IaC в проект Azure DevOps. Если у вас уже есть шаблон IaC в проекте, пропустите этот шаг.
Выберите, следует ли выполнять фиксацию непосредственно в главной ветви или создать новую ветвь для фиксации, а затем нажмите кнопку "Сохранить".
Чтобы просмотреть результаты сканирования IaC, выберите конвейеры и выберите измененный конвейер.
Чтобы увидеть больше сведений, выберите конкретный запуск конвейера.
Просмотр сведений и информации об устранении для примененных правил IaC
Средства сканирования IaC, включенные в microsoft Security DevOps, являются анализатором шаблонов (PSRule входит в анализатор шаблонов), Checkov и Terrascan.
Анализатор шаблонов выполняет правила для шаблонов Azure Resource Manager (шаблонов ARM) и шаблонов Bicep. Дополнительные сведения см. в правилах и исправлениях анализатора шаблонов.
Terrascan выполняет правила для шаблонов ARM и шаблонов CloudFormation, Docker, Helm, Kubernetes, Kustomize и Terraform. Дополнительные сведения см. в правилах Terrascan.
Чеков запускает правила для шаблонов ARM, CloudFormation, Docker, Helm, Kubernetes, Kustomize и Terraform. Дополнительные сведения см. в правилах Checkov.
Дополнительные сведения о средствах сканирования IaC, включенных в Microsoft Security DevOps, см. в следующих статье:
Связанный контент
В этой статье вы узнали, как настроить действие GitHub и расширение Azure DevOps для Microsoft Security DevOps для проверки неправильной конфигурации безопасности IaC и как просмотреть результаты.
Чтобы получить дополнительные сведения, выполните следующие действия.
- Дополнительные сведения о безопасности DevOps.
- Узнайте, как подключить репозиторий GitHub к Defender для Облака.
- Узнайте, как подключить проект Azure DevOps к Defender для облака.