Partilhar via


Microsoft.Sql servers/vulnerabilityAssessments 2023-02-01-preview

Definição de recursos do bíceps

O tipo de recurso servers/vulnerabilityAssessments pode ser implantado com operações direcionadas:

Para obter uma lista de propriedades alteradas em cada versão da API, consulte log de alterações.

Formato do recurso

Para criar um recurso Microsoft.Sql/servers/vulnerabilityAssessments, adicione o seguinte Bicep ao seu modelo.

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

Valores de propriedade

Microsoft.Sql/servers/vulnerabilityAssessments

Name Description Value
name O nome do recurso 'default' (obrigatório)
elemento principal No Bicep, você pode especificar o recurso pai para um recurso filho. Você só precisa adicionar essa propriedade quando o recurso filho é declarado fora do recurso pai.

Para obter mais informações, consulte recurso filho fora do recurso pai.
Nome simbólico para recurso do tipo: servidores
properties Propriedades do recurso. ServerVulnerabilityAssessmentProperties

ServerVulnerabilityAssessmentProperties

Name Description Value
recurringScans As configurações de varreduras recorrentes VulnerabilityAssessmentRecurringScansProperties
storageAccountAccessKey Especifica a chave identificador da conta de armazenamento para os resultados da verificação de avaliação de vulnerabilidade. Se 'StorageContainerSasKey' não for especificado, storageAccountAccessKey será necessário. Aplica-se somente se a conta de armazenamento não estiver atrás de uma Vnet ou de um firewall cadeia (de caracteres)
storageContainerPath Um caminho de contêiner de armazenamento de blob para armazenar os resultados da verificação (por exemplo, https://myStorage.blob.core.windows.net/VaScans/). string (obrigatório)
storageContainerSasKey Uma assinatura de acesso compartilhado (chave SAS) que tem acesso de gravação ao contêiner de blob especificado no parâmetro 'storageContainerPath'. Se 'storageAccountAccessKey' não for especificado, StorageContainerSasKey será necessário. Aplica-se somente se a conta de armazenamento não estiver atrás de uma Vnet ou de um firewall cadeia (de caracteres)

VulnerabilityAssessmentRecurringScansProperties

Name Description Value
emails Especifica uma matriz de endereços de email para os quais a notificação de verificação é enviada. string[]
emailSubscriptionAdmins Especifica que a notificação de verificação de agendamento será enviada aos administradores de assinatura. bool
isEnabled Estado das verificações recorrentes. bool

Definição de recurso de modelo ARM

O tipo de recurso servers/vulnerabilityAssessments pode ser implantado com operações direcionadas:

Para obter uma lista de propriedades alteradas em cada versão da API, consulte log de alterações.

Formato do recurso

Para criar um recurso Microsoft.Sql/servers/vulnerabilityAssessments, adicione o seguinte JSON ao seu modelo.

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

Valores de propriedade

Microsoft.Sql/servers/vulnerabilityAssessments

Name Description Value
apiVersion A versão api '2023-02-01-preview'
name O nome do recurso 'default' (obrigatório)
properties Propriedades do recurso. ServerVulnerabilityAssessmentProperties
tipo O tipo de recurso 'Microsoft.Sql/servers/vulnerabilityAssessments'

ServerVulnerabilityAssessmentProperties

Name Description Value
recurringScans As configurações de varreduras recorrentes VulnerabilityAssessmentRecurringScansProperties
storageAccountAccessKey Especifica a chave identificador da conta de armazenamento para os resultados da verificação de avaliação de vulnerabilidade. Se 'StorageContainerSasKey' não for especificado, storageAccountAccessKey será necessário. Aplica-se somente se a conta de armazenamento não estiver atrás de uma Vnet ou de um firewall cadeia (de caracteres)
storageContainerPath Um caminho de contêiner de armazenamento de blob para armazenar os resultados da verificação (por exemplo, https://myStorage.blob.core.windows.net/VaScans/). string (obrigatório)
storageContainerSasKey Uma assinatura de acesso compartilhado (chave SAS) que tem acesso de gravação ao contêiner de blob especificado no parâmetro 'storageContainerPath'. Se 'storageAccountAccessKey' não for especificado, StorageContainerSasKey será necessário. Aplica-se somente se a conta de armazenamento não estiver atrás de uma Vnet ou de um firewall cadeia (de caracteres)

VulnerabilityAssessmentRecurringScansProperties

Name Description Value
emails Especifica uma matriz de endereços de email para os quais a notificação de verificação é enviada. string[]
emailSubscriptionAdmins Especifica que a notificação de verificação de agendamento será enviada aos administradores de assinatura. bool
isEnabled Estado das verificações recorrentes. bool

Exemplos de uso

Definição de recursos Terraform (provedor AzAPI)

O tipo de recurso servers/vulnerabilityAssessments pode ser implantado com operações direcionadas:

Para obter uma lista de propriedades alteradas em cada versão da API, consulte log de alterações.

Formato do recurso

Para criar um recurso Microsoft.Sql/servers/vulnerabilityAssessments, adicione o seguinte Terraform ao seu modelo.

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

Valores de propriedade

Microsoft.Sql/servers/vulnerabilityAssessments

Name Description Value
name O nome do recurso 'default' (obrigatório)
parent_id A ID do recurso que é o pai para este recurso. ID para recurso do tipo: servidores
properties Propriedades do recurso. ServerVulnerabilityAssessmentProperties
tipo O tipo de recurso "Microsoft.Sql/servers/vulnerabilityAssessments@2023-02-01-preview"

ServerVulnerabilityAssessmentProperties

Name Description Value
recurringScans As configurações de varreduras recorrentes VulnerabilityAssessmentRecurringScansProperties
storageAccountAccessKey Especifica a chave identificador da conta de armazenamento para os resultados da verificação de avaliação de vulnerabilidade. Se 'StorageContainerSasKey' não for especificado, storageAccountAccessKey será necessário. Aplica-se somente se a conta de armazenamento não estiver atrás de uma Vnet ou de um firewall cadeia (de caracteres)
storageContainerPath Um caminho de contêiner de armazenamento de blob para armazenar os resultados da verificação (por exemplo, https://myStorage.blob.core.windows.net/VaScans/). string (obrigatório)
storageContainerSasKey Uma assinatura de acesso compartilhado (chave SAS) que tem acesso de gravação ao contêiner de blob especificado no parâmetro 'storageContainerPath'. Se 'storageAccountAccessKey' não for especificado, StorageContainerSasKey será necessário. Aplica-se somente se a conta de armazenamento não estiver atrás de uma Vnet ou de um firewall cadeia (de caracteres)

VulnerabilityAssessmentRecurringScansProperties

Name Description Value
emails Especifica uma matriz de endereços de email para os quais a notificação de verificação é enviada. string[]
emailSubscriptionAdmins Especifica que a notificação de verificação de agendamento será enviada aos administradores de assinatura. bool
isEnabled Estado das verificações recorrentes. bool

Exemplos de uso

Amostras Terraform

Um exemplo básico de implantação da Avaliação de Vulnerabilidade para um 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]
}