Команда Powershell или AzureCLI для включения Microsoft Defender для SQL

Поскольку мне не разрешено включать Microsoft Defender для SQL с портала Azure, я пытаюсь найти команду Powershell или AzureCLI, чтобы включить его из CloudShell. Последний шаг — использовать эту команду в конвейере. Я ожидаю, что это будет команда, которая получит в качестве параметров имя сервера и группы и автоматически включит Microsoft Defender для SQL.

Я попробовал это:

az sql server threat-policy update --resource-group <my-resource-group> --server-name <my-sql-server-name> --state Enabled

Ответ был:

«Политика угроз» написана с ошибкой или не распознается системой.

РЕДАКТИРОВАТЬ После дополнительных исследований я нашел частичное решение. Я объясню ниже:

  1. В первом состоянии статус отключен: «Включен статус: Отключен»
  2. После того, как я выполню следующую команду:
Update-AzSqlServerAdvancedThreatProtectionSetting -Enable $true -ResourceGroupName 'my-resource-group' -ServerName 'my-server-name'

статус изменен на «Включен статус: Включен на уровне подписки» и ниже статуса отображается предупреждение с кнопкой «включить», в котором говорится, что «Оценка уязвимостей SQL не настроена. Нажмите, чтобы включить экспресс-конфигурацию».

  1. Я хотел бы также включить «Оценку уязвимостей», чтобы иметь обзор результатов. Я думал, что это часть Microsoft Defender для SQL, и его включение также позволит включить «Оценку уязвимостей». Это разные?

Обратите внимание: используемая вами команда в настоящее время устарела и больше не доступна. Обратитесь к этому MS Doc. Чтобы включить Microsoft Defender для SQL, используйте эту команду az security pricing create -n SqlServers --tier standard

Sridevi 28.05.2024 09:09

Да, вам необходимо включить оценку уязвимостей отдельно после включения Microsoft Defender для SQL. Обратитесь к этому документу MS Doc, чтобы управлять оценкой уязвимостей с помощью команд Azure PowerShell Learn.microsoft.com/en-us/azure/defender-for-cloud/…

Sridevi 28.05.2024 10:47

Прежде чем управлять оценкой уязвимостей программно, мне нужно включить ее программно. Я ожидаю, что это будет что-то похожее на команду, которую я написал выше.

Alin Dumitru 28.05.2024 11:09
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
3
154
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Я не проверял команды, но их описание здесь, в документации заставляет меня поверить, что они создают и включают Microsoft Defender For SQL. Это позволяет использовать тарифный план для всей подписки, а не для отдельного ресурса, поскольку кажется, что для программного выполнения этого может потребоваться запрос POST к ARM API.

Ответ принят как подходящий

Наконец я нашел решение. Я опишу это ниже:

  1. Активируйте MICROSOFT DEFENDER FOR SQL с помощью следующей команды:
Update-AzSqlServerAdvancedThreatProtectionSetting -Enable $true -ResourceGroupName '<your-resource-group-name>' -ServerName '<your-sql-server-name>'
  1. Включите ОЦЕНКУ УЯЗВИМОСТЕЙ, используя следующий скрипт
$SubscriptionId = '<your-sub-id>'
$ResourceGroupName = '<your-resoruce-group-name>'
$ServerName = '<your-server-name>'

param
(
    [Parameter(Mandatory = $True)]
    [string]$SubscriptionId,
    [Parameter(Mandatory = $True)]
    [string]$ResourceGroupName,
    [Parameter(Mandatory = $True)]
    [string]$ServerName,
    [Parameter(Mandatory = $False)]
    [switch]$Force
)

function SetSqlVulnerabilityAssessmentServerSetting($SubscriptionId, $ResourceGroupName, $ServerName) {
    $Uri = "/subscriptions/$SubscriptionId/resourceGroups/$ResourceGroupName/providers/Microsoft.Sql/servers/$ServerName/sqlVulnerabilityAssessments/default?api-version=2022-02-01-preview"
    
    $Body = @{
        properties = @{
            state = "Enabled"
        }
    }

    $Body = $Body | ConvertTo-Json

    return SendRestRequest -Method "Put" -Uri $Uri -Body $Body
}

function SendRestRequest(
    [Parameter(Mandatory = $True)]
    [string] $Method,
    [Parameter(Mandatory = $True)]
    [string] $Uri,
    [parameter( Mandatory = $false )]
    [string] $Body = "DEFAULT") {
    $Params = @{
        Method       = $Method
        Path         = $Uri
    }

    if (!($Body -eq "DEFAULT")) {
        $Params = @{
            Method       = $Method
            Path         = $Uri
            Payload      = $Body
        }
    }

    Invoke-AzRestMethod @Params
}

SetSqlVulnerabilityAssessmentServerSetting -SubscriptionId $SubscriptionId -ResourceGroupName $ResourceGroupName -ServerName $ServerName

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

Azure ACS: CreateCall работает, но CallMedia Play не авторизован
400 Ошибка сертификата SSL из шлюза приложений Azure с настройкой mTLS с помощью Terraform
Конвейер Azure CI/CD не работает успешно с быстрым запуском сценария
Как разместить статический HTML-файл в корне службы приложений Azure?
Ошибка: «Необходимый параметр WEBSITE_CONTENTAZUREFILECONNECTIONSTRING отсутствует», хотя я развертываю функцию на устаревшем asp
Параметры безопасности Azure по умолчанию и Power BI Embedded
Управление API. ошибка в бицепсе при настройке бэкенда
Как изменить оценку поиска Azure AI по умолчанию, чтобы она увеличивалась при точном обнаружении всего поискового запроса?
Невозможно пройти аутентификацию с помощью единого входа между несколькими веб-приложениями с помощью Azure B2C и MSAL.js Angular
Внешний идентификатор Entra с идентификатором Microsoft, выдающим AADTS500208, если пользователь не является глобальным администратором