Microsoft. Serwery SQL/oceny podatności

Definicja zasobu Bicepsa

Typ zasobu serwery/luka w zabezpieczeniachAssessments można wdrożyć przy użyciu operacji docelowych:

Aby uzyskać listę zmienionych właściwości w każdej wersji interfejsu API, zobacz dziennika zmian.

Przykłady użycia

Moduły zweryfikowane na platformie Azure

Następujące moduły zweryfikowane platformy Azure mogą służyć do wdrażania tego typu zasobu.

Module Description
Azure SQL Server - Ocena podatności AVM Child Module for Azure SQL Server - Vulnerability Assessment

Format zasobu

By stworzyć Microsoft. Zasoby dotyczące SQL/serwerów/podatnościOceny, dodaj następujący Bicep do swojego szablonu.

resource symbolicname 'Microsoft.Sql/servers/vulnerabilityAssessments@2026-08-01-preview' = {
  parent: resourceSymbolicName
  name: 'string'
  properties: {
    recurringScans: {
      emails: [
        'string'
      ]
      emailSubscriptionAdmins: bool
      isEnabled: bool
    }
    storageAccountAccessKey: 'string'
    storageContainerPath: 'string'
    storageContainerSasKey: 'string'
  }
}

Wartości właściwości

Microsoft. Sql/serwery/oceny podatności

Name Description Value
name Nazwa zasobu "default" (wymagane)
nadrzędny W Bicep możesz określić zasób nadrzędny dla zasobu potomnego. Tę właściwość należy dodać tylko wtedy, gdy zasób podrzędny jest zadeklarowany poza zasobem nadrzędnym.

Aby uzyskać więcej informacji, zobacz Zasób podrzędny poza zasobem nadrzędnym.
Nazwa symboliczna zasobu typu: serwery
properties Właściwości zasobu. ServerVulnerabilityAssessmentProperties

ServerVulnerabilityAssessmentProperties

Name Description Value
recurringScans Ustawienia skanowania cyklicznego VulnerabilityAssessmentRecurringScansProperties
storageAccountAccessKey Określa klucz identyfikatora konta magazynu dla wyników skanowania oceny luk w zabezpieczeniach. Jeśli parametr "StorageContainerSasKey" nie jest określony, wymagany jest klucz storageAccountAccessKey. Dotyczy tylko wtedy, gdy konto magazynu nie znajduje się za siecią wirtualną lub zaporą ciąg
storageContainerPath Ścieżka kontenera magazynu obiektów blob do przechowywania wyników skanowania (np. https://myStorage.blob.core.windows.net/VaScans/). ciąg (wymagany)
storageContainerSasKey Sygnatura dostępu współdzielonego (klucz SAS), która ma dostęp do zapisu w kontenerze obiektów blob określonym w parametrze "storageContainerPath". Jeśli parametr "storageAccountAccessKey" nie jest określony, wymagany jest klucz StorageContainerSasKey. Dotyczy tylko wtedy, gdy konto magazynu nie znajduje się za siecią wirtualną lub zaporą ciąg

VulnerabilityAssessmentRecurringScansProperties

Name Description Value
emails Określa tablicę adresów e-mail, do których jest wysyłane powiadomienie skanowania. string[]
emailSubscriptionAdmins Określa, że powiadomienie o harmonogramie skanowania zostanie wysłane do administratorów subskrypcji. bool
isEnabled Stan skanowania cyklicznego. bool

Definicja zasobu szablonu usługi ARM

Typ zasobu serwery/luka w zabezpieczeniachAssessments można wdrożyć przy użyciu operacji docelowych:

Przykłady użycia

Format zasobu

By stworzyć Microsoft. Zasoby dotyczące sql/serwerów/podatności na zagrożenia, dodaj do szablonu następujący JSON.

{
  "type": "Microsoft.Sql/servers/vulnerabilityAssessments",
  "apiVersion": "2026-08-01-preview",
  "name": "string",
  "properties": {
    "recurringScans": {
      "emails": [ "string" ],
      "emailSubscriptionAdmins": "bool",
      "isEnabled": "bool"
    },
    "storageAccountAccessKey": "string",
    "storageContainerPath": "string",
    "storageContainerSasKey": "string"
  }
}

Wartości właściwości

Microsoft. Sql/serwery/oceny podatności

Name Description Value
apiVersion Wersja interfejsu API 'Zapowiedź 2026-08-01'
name Nazwa zasobu "default" (wymagane)
properties Właściwości zasobu. ServerVulnerabilityAssessmentProperties
typ Typ zasobu 'Microsoft. Sql/serwery/oceny podatności'

ServerVulnerabilityAssessmentProperties

Name Description Value
recurringScans Ustawienia skanowania cyklicznego VulnerabilityAssessmentRecurringScansProperties
storageAccountAccessKey Określa klucz identyfikatora konta magazynu dla wyników skanowania oceny luk w zabezpieczeniach. Jeśli parametr "StorageContainerSasKey" nie jest określony, wymagany jest klucz storageAccountAccessKey. Dotyczy tylko wtedy, gdy konto magazynu nie znajduje się za siecią wirtualną lub zaporą ciąg
storageContainerPath Ścieżka kontenera magazynu obiektów blob do przechowywania wyników skanowania (np. https://myStorage.blob.core.windows.net/VaScans/). ciąg (wymagany)
storageContainerSasKey Sygnatura dostępu współdzielonego (klucz SAS), która ma dostęp do zapisu w kontenerze obiektów blob określonym w parametrze "storageContainerPath". Jeśli parametr "storageAccountAccessKey" nie jest określony, wymagany jest klucz StorageContainerSasKey. Dotyczy tylko wtedy, gdy konto magazynu nie znajduje się za siecią wirtualną lub zaporą ciąg

VulnerabilityAssessmentRecurringScansProperties

Name Description Value
emails Określa tablicę adresów e-mail, do których jest wysyłane powiadomienie skanowania. string[]
emailSubscriptionAdmins Określa, że powiadomienie o harmonogramie skanowania zostanie wysłane do administratorów subskrypcji. bool
isEnabled Stan skanowania cyklicznego. bool

Definicja zasobu narzędzia Terraform (dostawcy AzAPI)

Typ zasobu serwery/luka w zabezpieczeniachAssessments można wdrożyć przy użyciu operacji docelowych:

  • Grupy zasobów Listę zmienionych właściwości w każdej wersji API można znaleźć w dzienniku zmian.

Przykłady użycia

Przykłady programu Terraform

Podstawowy przykład wdrażania oceny podatności dla MS SQL Server.

terraform {
  required_providers {
    azapi = {
      source = "Azure/azapi"
    }
  }
}

provider "azapi" {
  skip_provider_registration = false
}

variable "resource_name" {
  type    = string
  default = "acctest0001"
}

variable "location" {
  type    = string
  default = "centralus"
}

variable "administrator_login_password" {
  type        = string
  sensitive   = true
  description = "The administrator login password for the SQL server"
}

resource "azapi_resource" "resourceGroup" {
  type     = "Microsoft.Resources/resourceGroups@2020-06-01"
  name     = var.resource_name
  location = var.location
}

resource "azapi_resource" "server" {
  type      = "Microsoft.Sql/servers@2023-08-01-preview"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = var.location
  body = {
    properties = {
      administratorLogin            = "mradministrator"
      administratorLoginPassword    = var.administrator_login_password
      minimalTlsVersion             = "1.2"
      publicNetworkAccess           = "Enabled"
      restrictOutboundNetworkAccess = "Disabled"
      version                       = "12.0"
    }
  }
}

resource "azapi_resource" "storageAccount" {
  type      = "Microsoft.Storage/storageAccounts@2023-05-01"
  parent_id = azapi_resource.resourceGroup.id
  name      = "${var.resource_name}sa"
  location  = var.location
  body = {
    kind = "StorageV2"
    properties = {
      accessTier                   = "Hot"
      allowBlobPublicAccess        = true
      allowCrossTenantReplication  = false
      allowSharedKeyAccess         = true
      defaultToOAuthAuthentication = false
      dnsEndpointType              = "Standard"
      encryption = {
        keySource = "Microsoft.Storage"
        services = {
          queue = {
            keyType = "Service"
          }
          table = {
            keyType = "Service"
          }
        }
      }
      isHnsEnabled       = false
      isLocalUserEnabled = true
      isNfsV3Enabled     = false
      isSftpEnabled      = false
      minimumTlsVersion  = "TLS1_2"
      networkAcls = {
        bypass              = "AzureServices"
        defaultAction       = "Allow"
        ipRules             = []
        resourceAccessRules = []
        virtualNetworkRules = []
      }
      publicNetworkAccess      = "Enabled"
      supportsHttpsTrafficOnly = true
    }
    sku = {
      name = "Standard_GRS"
    }
  }
}

resource "azapi_resource_action" "storageAccountKeys" {
  type                   = "Microsoft.Storage/storageAccounts@2023-05-01"
  resource_id            = azapi_resource.storageAccount.id
  action                 = "listKeys"
  response_export_values = ["keys"]
}

resource "azapi_resource" "storageContainer" {
  type      = "Microsoft.Storage/storageAccounts/blobServices/containers@2023-05-01"
  parent_id = "${azapi_resource.storageAccount.id}/blobServices/default"
  name      = "vulnerability-assessment"
  body = {
    properties = {}
  }
}

resource "azapi_resource" "securityAlertPolicy" {
  type      = "Microsoft.Sql/servers/securityAlertPolicies@2023-08-01-preview"
  parent_id = azapi_resource.server.id
  name      = "default"
  body = {
    properties = {
      state = "Enabled"
    }
  }
}

resource "azapi_resource" "vulnerabilityAssessment" {
  type      = "Microsoft.Sql/servers/vulnerabilityAssessments@2023-08-01-preview"
  parent_id = azapi_resource.server.id
  name      = "default"
  body = {
    properties = {
      recurringScans = {
        emailSubscriptionAdmins = false
        emails                  = []
        isEnabled               = false
      }
      storageAccountAccessKey = azapi_resource_action.storageAccountKeys.output.keys[0].value
      storageContainerPath    = "${azapi_resource.storageAccount.output.properties.primaryEndpoints.blob}${azapi_resource.storageContainer.name}/"
    }
  }
  depends_on = [azapi_resource.securityAlertPolicy]
}

Format zasobu

By stworzyć Microsoft. Zasoby dotyczące sql/serwerów/podatnościAssessments, dodaj następujący Terraform do swojego szablonu.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Sql/servers/vulnerabilityAssessments@2026-08-01-preview"
  name = "string"
  parent_id = "string"
  body = {
    properties = {
      recurringScans = {
        emails = [
          "string"
        ]
        emailSubscriptionAdmins = bool
        isEnabled = bool
      }
      storageAccountAccessKey = "string"
      storageContainerPath = "string"
      storageContainerSasKey = "string"
    }
  }
}

Wartości właściwości

Microsoft. Sql/serwery/oceny podatności

Name Description Value
name Nazwa zasobu "default" (wymagane)
parent_id Identyfikator zasobu, który jest elementem nadrzędnym dla tego zasobu. Identyfikator zasobu typu: serwerów
properties Właściwości zasobu. ServerVulnerabilityAssessmentProperties
typ Typ zasobu "Microsoft. Sql/serwery/vulnerabilityAssessments@2026-08-01-preview"

ServerVulnerabilityAssessmentProperties

Name Description Value
recurringScans Ustawienia skanowania cyklicznego VulnerabilityAssessmentRecurringScansProperties
storageAccountAccessKey Określa klucz identyfikatora konta magazynu dla wyników skanowania oceny luk w zabezpieczeniach. Jeśli parametr "StorageContainerSasKey" nie jest określony, wymagany jest klucz storageAccountAccessKey. Dotyczy tylko wtedy, gdy konto magazynu nie znajduje się za siecią wirtualną lub zaporą ciąg
storageContainerPath Ścieżka kontenera magazynu obiektów blob do przechowywania wyników skanowania (np. https://myStorage.blob.core.windows.net/VaScans/). ciąg (wymagany)
storageContainerSasKey Sygnatura dostępu współdzielonego (klucz SAS), która ma dostęp do zapisu w kontenerze obiektów blob określonym w parametrze "storageContainerPath". Jeśli parametr "storageAccountAccessKey" nie jest określony, wymagany jest klucz StorageContainerSasKey. Dotyczy tylko wtedy, gdy konto magazynu nie znajduje się za siecią wirtualną lub zaporą ciąg

VulnerabilityAssessmentRecurringScansProperties

Name Description Value
emails Określa tablicę adresów e-mail, do których jest wysyłane powiadomienie skanowania. string[]
emailSubscriptionAdmins Określa, że powiadomienie o harmonogramie skanowania zostanie wysłane do administratorów subskrypcji. bool
isEnabled Stan skanowania cyklicznego. bool