Avaliações do Microsoft.Security

Definição de recurso Bicep

O tipo de recurso de avaliações pode ser implantado com operações direcionadas:

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

Exemplos de uso

Exemplos de Bicep

Um exemplo básico de implantação da Security Center Assessment para Central de Segurança do Azure.

targetScope = 'subscription'

param resourceName string = 'acctest0001'
param location string = 'westus'
@secure()
@description('The administrator password for the virtual machine scale set')
param adminPassword string

resource resourceGroup 'Microsoft.Resources/resourceGroups@2020-06-01' = {
  name: resourceName
  location: location
}

resource assessmentMetadata 'Microsoft.Security/assessmentMetadata@2021-06-01' = {
  name: 'fdaaa62c-1d42-45ab-be2f-2af194dd1700'
  properties: {
    assessmentType: 'CustomerManaged'
    description: 'Test Description'
    displayName: 'Test Display Name'
    severity: 'Medium'
  }
}

resource pricing 'Microsoft.Security/pricings@2023-01-01' = {
  name: 'VirtualMachines'
  properties: {
    extensions: []
    pricingTier: 'Standard'
    subPlan: 'P2'
  }
}

module module1 'main-rg-module.bicep' = {
  name: 'deploy-rg-resources'
  scope: resourceGroup
  params: {
    resourceName: resourceName
    adminPassword: adminPassword
    location: location
  }
}

Um exemplo básico de implantação da Security Center Assessment para Central de Segurança do Azure.

param resourceName string = 'acctest0001'
param location string = 'westus'
@secure()
@description('The administrator password for the virtual machine scale set')
param adminPassword string

resource virtualMachineScaleSet 'Microsoft.Compute/virtualMachineScaleSets@2024-11-01' = {
  name: '${resourceName}-vmss'
  location: location
  sku: {
    capacity: 1
    name: 'Standard_B1s'
  }
  properties: {
    additionalCapabilities: {}
    doNotRunExtensionsOnOverprovisionedVMs: false
    orchestrationMode: 'Uniform'
    overprovision: true
    singlePlacementGroup: true
    upgradePolicy: {
      mode: 'Manual'
    }
    virtualMachineProfile: {
      diagnosticsProfile: {
        bootDiagnostics: {
          enabled: false
          storageUri: ''
        }
      }
      extensionProfile: {
        extensionsTimeBudget: 'PT1H30M'
      }
      networkProfile: {
        networkInterfaceConfigurations: [
          {
            name: 'example'
            properties: {
              dnsSettings: {
                dnsServers: []
              }
              enableAcceleratedNetworking: false
              enableIPForwarding: false
              ipConfigurations: [
                {
                  name: 'internal'
                  properties: {
                    applicationGatewayBackendAddressPools: []
                    applicationSecurityGroups: []
                    loadBalancerBackendAddressPools: []
                    loadBalancerInboundNatPools: []
                    primary: true
                    privateIPAddressVersion: 'IPv4'
                    subnet: {
                      id: subnet.id
                    }
                  }
                }
              ]
              primary: true
            }
          }
        ]
      }
      osProfile: {
        adminPassword: adminPassword
        adminUsername: 'adminuser'
        allowExtensionOperations: true
        computerNamePrefix: '${resourceName}-vmss'
        linuxConfiguration: {
          disablePasswordAuthentication: false
          provisionVMAgent: true
          ssh: {
            publicKeys: []
          }
        }
        secrets: []
      }
      priority: 'Regular'
      storageProfile: {
        dataDisks: []
        imageReference: {
          offer: '0001-com-ubuntu-server-jammy'
          publisher: 'Canonical'
          sku: '22_04-lts'
          version: 'latest'
        }
        osDisk: {
          caching: 'ReadWrite'
          createOption: 'FromImage'
          managedDisk: {
            storageAccountType: 'Standard_LRS'
          }
          osType: 'Linux'
          writeAcceleratorEnabled: false
        }
      }
    }
  }
}

resource assessment 'Microsoft.Security/assessments@2020-01-01' = {
  name: 'fdaaa62c-1d42-45ab-be2f-2af194dd1700'
  scope: virtualMachineScaleSet
  properties: {
    additionalData: {}
    resourceDetails: {
      source: 'Azure'
    }
    status: {
      cause: ''
      code: 'Healthy'
      description: ''
    }
  }
}

resource virtualNetwork 'Microsoft.Network/virtualNetworks@2024-05-01' = {
  name: '${resourceName}-vnet'
  location: location
  properties: {
    addressSpace: {
      addressPrefixes: [
        '10.0.0.0/16'
      ]
    }
    dhcpOptions: {
      dnsServers: []
    }
    privateEndpointVNetPolicies: 'Disabled'
  }
}

resource subnet 'Microsoft.Network/virtualNetworks/subnets@2024-05-01' = {
  name: 'internal'
  parent: virtualNetwork
  properties: {
    addressPrefix: '10.0.2.0/24'
    defaultOutboundAccess: true
    delegations: []
    privateEndpointNetworkPolicies: 'Disabled'
    privateLinkServiceNetworkPolicies: 'Enabled'
    serviceEndpointPolicies: []
    serviceEndpoints: []
  }
}

Formato de recurso

Para criar um recurso Microsoft.Security/assessments, adicione o seguinte Bicep ao seu modelo.

resource symbolicname 'Microsoft.Security/assessments@2025-05-04' = {
  scope: resourceSymbolicName or scope
  name: 'string'
  properties: {
    additionalData: {
      {customized property}: 'string'
    }
    metadata: {
      assessmentType: 'string'
      categories: [
        'string'
      ]
      description: 'string'
      displayName: 'string'
      implementationEffort: 'string'
      partnerData: {
        partnerName: 'string'
        productName: 'string'
        secret: 'string'
      }
      preview: bool
      remediationDescription: 'string'
      severity: 'string'
      threats: [
        'string'
      ]
      userImpact: 'string'
    }
    partnersData: {
      partnerName: 'string'
      secret: 'string'
    }
    resourceDetails: {
      source: 'string'
      // For remaining properties, see CommonResourceDetails objects
    }
    risk: {
      attackPathsReferences: [
        'string'
      ]
      isContextualRisk: bool
      level: 'string'
      paths: [
        {
          edges: [
            {
              id: 'string'
              sourceId: 'string'
              targetId: 'string'
            }
          ]
          id: 'string'
          nodes: [
            {
              id: 'string'
              nodePropertiesLabel: [
                'string'
              ]
            }
          ]
        }
      ]
      riskFactors: [
        'string'
      ]
    }
    status: {
      cause: 'string'
      code: 'string'
      description: 'string'
    }
  }
}

Objetos CommonResourceDetails

Defina a propriedade de origem para especificar o tipo de objeto.

Para Azure, use:

{
  source: 'Azure'
}

Para OnPremiseSql, use:

{
  databaseName: 'string'
  machineName: 'string'
  serverName: 'string'
  source: 'OnPremiseSql'
  sourceComputerId: 'string'
  vmuuid: 'string'
  workspaceId: 'string'
}

Valores de propriedade

Microsoft.Security/assessments

Nome Descrição Valor
nome O nome do recurso cadeia de caracteres (obrigatório)
Propriedades Descreve as propriedades de uma avaliação. SecurityAssessmentPropertiesOrSecurityAssessmentPropertiesResponse
escopo Use ao criar um recurso em um escopo diferente do escopo de implantação. Defina essa propriedade como o nome simbólico de um recurso para aplicar o recurso de extensão .

AssessmentStatusOrAssessmentStatusResponse

Nome Descrição Valor
causa Código programático para a causa do status da avaliação cadeia
codificar Código programático para o status da avaliação 'Íntegro'
'Não aplicável'
'Não íntegro' (obrigatório)
descrição Descrição legível humana do status da avaliação cadeia

AzureResourceDetails

Nome Descrição Valor
fonte A plataforma em que o recurso avaliado reside 'Azure' (obrigatório)

CommonResourceDetails

Nome Descrição Valor
fonte Defina para 'Azure' para o tipo AzureResourceDetails. Defina como 'OnPremiseSql' para o tipo OnPremiseSqlResourceDetails. 'Azure'
'OnPremiseSql' (obrigatório)

Detalhes do recurso Sql no local

Nome Descrição Valor
nomeDoBancoDeDados O nome do banco de dados Sql instalado no computador cadeia de caracteres (obrigatório)
nome_da_máquina O nome do computador cadeia de caracteres (obrigatório)
nomeDoServidor O nome do Sql Server instalado no computador cadeia de caracteres (obrigatório)
fonte A plataforma em que o recurso avaliado reside 'OnPremiseSql' (obrigatório)
código-fonteComputerId A ID do agente oms instalada no computador cadeia de caracteres (obrigatório)
vmuuid A ID exclusiva do computador cadeia de caracteres (obrigatório)
ID do espaço de trabalho Id de recurso Azure do workspace ao qual a máquina está conectada cadeia de caracteres (obrigatório)

SecurityAssessmentMetadataPartnerData

Nome Descrição Valor
Nome do Parceiro Nome da empresa do parceiro cadeia de caracteres (obrigatório)
nomeDoProduto Nome do produto do parceiro que criou a avaliação cadeia
segredo Segredo para autenticar o parceiro e verificar se ele criou a avaliação – somente gravação corda

Restrições:
Valor confidencial. Passe como um parâmetro seguro. (obrigatório)

SecurityAssessmentMetadataProperties

Nome Descrição Valor
tipo de avaliação BuiltIn se a avaliação for baseada na definição embutida do Azure Policy, Custom se a avaliação for baseada na definição personalizada do Azure Policy 'Embutido'
'BuiltInPolicy'
'Custom'
'Gerenciado pelo cliente'
'CustomPolicy'
'DinâmicoBuiltIn'
'Manual Embutido'
'ManualBuiltInPolicy'
'ManualCustomPolicy'
'Unknown'
'VerifiedPartner' (obrigatório)
Categorias Matriz de cadeia de caracteres que contém qualquer um dos:
'AppServices'
'Computação'
'Contêiner'
'Dados'
'Identidadee Acesso'
'IoT'
'Rede'
descrição Descrição legível humana da avaliação cadeia
nome de exibição Nome de exibição amigável da avaliação cadeia de caracteres (obrigatório)
esforço de implementação O esforço de implementação necessário para corrigir essa avaliação 'Alto'
'Baixo'
'Moderado'
dados de parceiro Descreve o parceiro que criou a avaliação securityAssessmentMetadataPartnerData
prévia True se essa avaliação estiver no status de versão prévia Bool
remediaçãoDescrição Descrição legível humana do que você deve fazer para atenuar esse problema de segurança cadeia
severidade O nível de gravidade da avaliação 'Crítico'
'Alto'
'Baixo'
'Medium' (obrigatório)
Ameaças Matriz de cadeia de caracteres que contém qualquer um dos:
'violação de conta'
'exfiltração de dados'
'derramamento de dados'
'negação de serviço'
'elevationOfPrivilege'
'mal-intencionado'
'missingCoverage'
'threatResistance'
impacto do usuário O impacto do usuário na avaliação 'Alto'
'Baixo'
'Moderado'

SecurityAssessmentPartnerData

Nome Descrição Valor
Nome do Parceiro Nome da empresa do parceiro cadeia de caracteres (obrigatório)
segredo segredo para autenticar o parceiro – somente gravação corda

Restrições:
Valor confidencial. Passe como um parâmetro seguro. (obrigatório)

SecurityAssessmentPropertiesBaseAdditionalData

Nome Descrição Valor

SecurityAssessmentPropertiesBaseRisk

Nome Descrição Valor
attackPathsReferências As referências de caminhos de ataque do risco cadeia de caracteres[]
isContextualRisk Indica se o risco é contextual ou estático Bool
nível O nível de risco 'Crítico'
'Alto'
'Baixo'
'Médio'
'Nenhum'
Caminhos SecurityAssessmentPropertiesBaseRiskPathsItem[]
fatores de risco Os fatores do fator de base de adição de risco cadeia de caracteres[]

SecurityAssessmentPropertiesBaseRiskPathsItem

Nome Descrição Valor
Bordas Conexões entre nós SecurityAssessmentPropertiesBaseRiskPathsItemEdgeItem[]
id Identificador exclusivo para o caminho cadeia
Nós SecurityAssessmentPropertiesBaseRiskPathsItemNodesItem[]

SecurityAssessmentPropertiesBaseRiskPathsItemEdgeItem

Nome Descrição Valor
id Identificador de borda cadeia de caracteres (obrigatório)
código-fonte Identificador do nó de origem cadeia de caracteres (obrigatório)
ID do alvo Identificador do nó de destino cadeia de caracteres (obrigatório)

SecurityAssessmentPropertiesBaseRiskPathsItemNodesItem

Nome Descrição Valor
id Identificador de nó cadeia
nodePropertiesLabel Propriedades associadas ao nó cadeia de caracteres[]

SecurityAssessmentPropertiesOrSecurityAssessmentPropertiesResponse

Nome Descrição Valor
Dados adicionais Dados adicionais sobre a avaliação SecurityAssessmentPropertiesBaseAdditionalData
metadados Descreve as propriedades de metadados de avaliação. securityAssessmentMetadataProperties
parceirosDados Dados referentes à integração de parceiros de terceiros SecurityAssessmentPartnerData
Detalhes do recurso Detalhes do recurso que foi avaliado CommonResourceDetails (obrigatório)
risco Modelo externo de resultado de risco SecurityAssessmentPropertiesBaseRisk
status O resultado da avaliação AssessmentStatusOrAssessmentStatusResponse (obrigatório)

Definição de recurso de modelo do ARM

O tipo de recurso de avaliações pode ser implantado com operações direcionadas:

Exemplos de uso

Formato de recurso

Para criar um recurso Microsoft.Security/assessments, adicione o JSON a seguir ao modelo.

{
  "type": "Microsoft.Security/assessments",
  "apiVersion": "2025-05-04",
  "name": "string",
  "properties": {
    "additionalData": {
      "{customized property}": "string"
    },
    "metadata": {
      "assessmentType": "string",
      "categories": [ "string" ],
      "description": "string",
      "displayName": "string",
      "implementationEffort": "string",
      "partnerData": {
        "partnerName": "string",
        "productName": "string",
        "secret": "string"
      },
      "preview": "bool",
      "remediationDescription": "string",
      "severity": "string",
      "threats": [ "string" ],
      "userImpact": "string"
    },
    "partnersData": {
      "partnerName": "string",
      "secret": "string"
    },
    "resourceDetails": {
      "source": "string"
      // For remaining properties, see CommonResourceDetails objects
    },
    "risk": {
      "attackPathsReferences": [ "string" ],
      "isContextualRisk": "bool",
      "level": "string",
      "paths": [
        {
          "edges": [
            {
              "id": "string",
              "sourceId": "string",
              "targetId": "string"
            }
          ],
          "id": "string",
          "nodes": [
            {
              "id": "string",
              "nodePropertiesLabel": [ "string" ]
            }
          ]
        }
      ],
      "riskFactors": [ "string" ]
    },
    "status": {
      "cause": "string",
      "code": "string",
      "description": "string"
    }
  }
}

Objetos CommonResourceDetails

Defina a propriedade de origem para especificar o tipo de objeto.

Para Azure, use:

{
  "source": "Azure"
}

Para OnPremiseSql, use:

{
  "databaseName": "string",
  "machineName": "string",
  "serverName": "string",
  "source": "OnPremiseSql",
  "sourceComputerId": "string",
  "vmuuid": "string",
  "workspaceId": "string"
}

Valores de propriedade

Microsoft.Security/assessments

Nome Descrição Valor
apiVersion A versão da API '2025-05-04'
nome O nome do recurso cadeia de caracteres (obrigatório)
Propriedades Descreve as propriedades de uma avaliação. SecurityAssessmentPropertiesOrSecurityAssessmentPropertiesResponse
tipo O tipo de recurso 'Microsoft.Security/assessments'

AssessmentStatusOrAssessmentStatusResponse

Nome Descrição Valor
causa Código programático para a causa do status da avaliação cadeia
codificar Código programático para o status da avaliação 'Íntegro'
'Não aplicável'
'Não íntegro' (obrigatório)
descrição Descrição legível humana do status da avaliação cadeia

AzureResourceDetails

Nome Descrição Valor
fonte A plataforma em que o recurso avaliado reside 'Azure' (obrigatório)

CommonResourceDetails

Nome Descrição Valor
fonte Defina para 'Azure' para o tipo AzureResourceDetails. Defina como 'OnPremiseSql' para o tipo OnPremiseSqlResourceDetails. 'Azure'
'OnPremiseSql' (obrigatório)

Detalhes do recurso Sql no local

Nome Descrição Valor
nomeDoBancoDeDados O nome do banco de dados Sql instalado no computador cadeia de caracteres (obrigatório)
nome_da_máquina O nome do computador cadeia de caracteres (obrigatório)
nomeDoServidor O nome do Sql Server instalado no computador cadeia de caracteres (obrigatório)
fonte A plataforma em que o recurso avaliado reside 'OnPremiseSql' (obrigatório)
código-fonteComputerId A ID do agente oms instalada no computador cadeia de caracteres (obrigatório)
vmuuid A ID exclusiva do computador cadeia de caracteres (obrigatório)
ID do espaço de trabalho Id de recurso Azure do workspace ao qual a máquina está conectada cadeia de caracteres (obrigatório)

SecurityAssessmentMetadataPartnerData

Nome Descrição Valor
Nome do Parceiro Nome da empresa do parceiro cadeia de caracteres (obrigatório)
nomeDoProduto Nome do produto do parceiro que criou a avaliação cadeia
segredo Segredo para autenticar o parceiro e verificar se ele criou a avaliação – somente gravação corda

Restrições:
Valor confidencial. Passe como um parâmetro seguro. (obrigatório)

SecurityAssessmentMetadataProperties

Nome Descrição Valor
tipo de avaliação BuiltIn se a avaliação for baseada na definição embutida do Azure Policy, Custom se a avaliação for baseada na definição personalizada do Azure Policy 'Embutido'
'BuiltInPolicy'
'Custom'
'Gerenciado pelo cliente'
'CustomPolicy'
'DinâmicoBuiltIn'
'Manual Embutido'
'ManualBuiltInPolicy'
'ManualCustomPolicy'
'Unknown'
'VerifiedPartner' (obrigatório)
Categorias Matriz de cadeia de caracteres que contém qualquer um dos:
'AppServices'
'Computação'
'Contêiner'
'Dados'
'Identidadee Acesso'
'IoT'
'Rede'
descrição Descrição legível humana da avaliação cadeia
nome de exibição Nome de exibição amigável da avaliação cadeia de caracteres (obrigatório)
esforço de implementação O esforço de implementação necessário para corrigir essa avaliação 'Alto'
'Baixo'
'Moderado'
dados de parceiro Descreve o parceiro que criou a avaliação securityAssessmentMetadataPartnerData
prévia True se essa avaliação estiver no status de versão prévia Bool
remediaçãoDescrição Descrição legível humana do que você deve fazer para atenuar esse problema de segurança cadeia
severidade O nível de gravidade da avaliação 'Crítico'
'Alto'
'Baixo'
'Medium' (obrigatório)
Ameaças Matriz de cadeia de caracteres que contém qualquer um dos:
'violação de conta'
'exfiltração de dados'
'derramamento de dados'
'negação de serviço'
'elevationOfPrivilege'
'mal-intencionado'
'missingCoverage'
'threatResistance'
impacto do usuário O impacto do usuário na avaliação 'Alto'
'Baixo'
'Moderado'

SecurityAssessmentPartnerData

Nome Descrição Valor
Nome do Parceiro Nome da empresa do parceiro cadeia de caracteres (obrigatório)
segredo segredo para autenticar o parceiro – somente gravação corda

Restrições:
Valor confidencial. Passe como um parâmetro seguro. (obrigatório)

SecurityAssessmentPropertiesBaseAdditionalData

Nome Descrição Valor

SecurityAssessmentPropertiesBaseRisk

Nome Descrição Valor
attackPathsReferências As referências de caminhos de ataque do risco cadeia de caracteres[]
isContextualRisk Indica se o risco é contextual ou estático Bool
nível O nível de risco 'Crítico'
'Alto'
'Baixo'
'Médio'
'Nenhum'
Caminhos SecurityAssessmentPropertiesBaseRiskPathsItem[]
fatores de risco Os fatores do fator de base de adição de risco cadeia de caracteres[]

SecurityAssessmentPropertiesBaseRiskPathsItem

Nome Descrição Valor
Bordas Conexões entre nós SecurityAssessmentPropertiesBaseRiskPathsItemEdgeItem[]
id Identificador exclusivo para o caminho cadeia
Nós SecurityAssessmentPropertiesBaseRiskPathsItemNodesItem[]

SecurityAssessmentPropertiesBaseRiskPathsItemEdgeItem

Nome Descrição Valor
id Identificador de borda cadeia de caracteres (obrigatório)
código-fonte Identificador do nó de origem cadeia de caracteres (obrigatório)
ID do alvo Identificador do nó de destino cadeia de caracteres (obrigatório)

SecurityAssessmentPropertiesBaseRiskPathsItemNodesItem

Nome Descrição Valor
id Identificador de nó cadeia
nodePropertiesLabel Propriedades associadas ao nó cadeia de caracteres[]

SecurityAssessmentPropertiesOrSecurityAssessmentPropertiesResponse

Nome Descrição Valor
Dados adicionais Dados adicionais sobre a avaliação SecurityAssessmentPropertiesBaseAdditionalData
metadados Descreve as propriedades de metadados de avaliação. securityAssessmentMetadataProperties
parceirosDados Dados referentes à integração de parceiros de terceiros SecurityAssessmentPartnerData
Detalhes do recurso Detalhes do recurso que foi avaliado CommonResourceDetails (obrigatório)
risco Modelo externo de resultado de risco SecurityAssessmentPropertiesBaseRisk
status O resultado da avaliação AssessmentStatusOrAssessmentStatusResponse (obrigatório)

Definição de recurso do Terraform (provedor de AzAPI)

O tipo de recurso de avaliações pode ser implantado com operações direcionadas:

  • Inquilino* Grupos * Assinatura* Grupos de recursos Para uma lista das propriedades alteradas em cada versão da API, veja o registro de alterações.

Exemplos de uso

Exemplos do Terraform

Um exemplo básico de implantação da Security Center Assessment para Central de Segurança do Azure.

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

provider "azapi" {
  skip_provider_registration = false
}

data "azapi_client_config" "current" {}

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

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

variable "admin_password" {
  type        = string
  sensitive   = true
  description = "The administrator password for the virtual machine scale set"
}

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

resource "azapi_resource" "assessmentMetadata" {
  type      = "Microsoft.Security/assessmentMetadata@2021-06-01"
  parent_id = "/subscriptions/${data.azapi_client_config.current.subscription_id}"
  name      = "fdaaa62c-1d42-45ab-be2f-2af194dd1700"
  body = {
    properties = {
      assessmentType = "CustomerManaged"
      description    = "Test Description"
      displayName    = "Test Display Name"
      severity       = "Medium"
    }
  }
}

resource "azapi_resource" "pricing" {
  type      = "Microsoft.Security/pricings@2023-01-01"
  parent_id = "/subscriptions/${data.azapi_client_config.current.subscription_id}"
  name      = "VirtualMachines"
  body = {
    properties = {
      extensions  = []
      pricingTier = "Standard"
      subPlan     = "P2"
    }
  }
}

resource "azapi_resource" "virtualNetwork" {
  type      = "Microsoft.Network/virtualNetworks@2024-05-01"
  parent_id = azapi_resource.resourceGroup.id
  name      = "${var.resource_name}-vnet"
  location  = var.location
  body = {
    properties = {
      addressSpace = {
        addressPrefixes = ["10.0.0.0/16"]
      }
      dhcpOptions = {
        dnsServers = []
      }
      privateEndpointVNetPolicies = "Disabled"
    }
  }
}

resource "azapi_resource" "subnet" {
  type      = "Microsoft.Network/virtualNetworks/subnets@2024-05-01"
  parent_id = azapi_resource.virtualNetwork.id
  name      = "internal"
  body = {
    properties = {
      addressPrefix                     = "10.0.2.0/24"
      defaultOutboundAccess             = true
      delegations                       = []
      privateEndpointNetworkPolicies    = "Disabled"
      privateLinkServiceNetworkPolicies = "Enabled"
      serviceEndpointPolicies           = []
      serviceEndpoints                  = []
    }
  }
}

resource "azapi_resource" "virtualMachineScaleSet" {
  type      = "Microsoft.Compute/virtualMachineScaleSets@2024-11-01"
  parent_id = azapi_resource.resourceGroup.id
  name      = "${var.resource_name}-vmss"
  location  = var.location
  body = {
    properties = {
      additionalCapabilities                 = {}
      doNotRunExtensionsOnOverprovisionedVMs = false
      orchestrationMode                      = "Uniform"
      overprovision                          = true
      singlePlacementGroup                   = true
      upgradePolicy = {
        mode = "Manual"
      }
      virtualMachineProfile = {
        diagnosticsProfile = {
          bootDiagnostics = {
            enabled    = false
            storageUri = ""
          }
        }
        extensionProfile = {
          extensionsTimeBudget = "PT1H30M"
        }
        networkProfile = {
          networkInterfaceConfigurations = [{
            name = "example"
            properties = {
              dnsSettings = {
                dnsServers = []
              }
              enableAcceleratedNetworking = false
              enableIPForwarding          = false
              ipConfigurations = [{
                name = "internal"
                properties = {
                  applicationGatewayBackendAddressPools = []
                  applicationSecurityGroups             = []
                  loadBalancerBackendAddressPools       = []
                  loadBalancerInboundNatPools           = []
                  primary                               = true
                  privateIPAddressVersion               = "IPv4"
                  subnet = {
                    id = azapi_resource.subnet.id
                  }
                }
              }]
              primary = true
            }
          }]
        }
        osProfile = {
          adminPassword            = var.admin_password
          adminUsername            = "adminuser"
          allowExtensionOperations = true
          computerNamePrefix       = "${var.resource_name}-vmss"
          linuxConfiguration = {
            disablePasswordAuthentication = false
            provisionVMAgent              = true
            ssh = {
              publicKeys = []
            }
          }
          secrets = []
        }
        priority = "Regular"
        storageProfile = {
          dataDisks = []
          imageReference = {
            offer     = "0001-com-ubuntu-server-jammy"
            publisher = "Canonical"
            sku       = "22_04-lts"
            version   = "latest"
          }
          osDisk = {
            caching      = "ReadWrite"
            createOption = "FromImage"
            managedDisk = {
              storageAccountType = "Standard_LRS"
            }
            osType                  = "Linux"
            writeAcceleratorEnabled = false
          }
        }
      }
    }
    sku = {
      capacity = 1
      name     = "Standard_B1s"
    }
  }
}

resource "azapi_resource" "assessment" {
  type      = "Microsoft.Security/assessments@2020-01-01"
  parent_id = azapi_resource.virtualMachineScaleSet.id
  name      = "fdaaa62c-1d42-45ab-be2f-2af194dd1700"
  body = {
    properties = {
      additionalData = {}
      resourceDetails = {
        source = "Azure"
      }
      status = {
        cause       = ""
        code        = "Healthy"
        description = ""
      }
    }
  }
}

Formato de recurso

Para criar um recurso Microsoft.Security/assessments, adicione o Terraform a seguir ao seu modelo.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Security/assessments@2025-05-04"
  name = "string"
  parent_id = "string"
  body = {
    properties = {
      additionalData = {
        {customized property} = "string"
      }
      metadata = {
        assessmentType = "string"
        categories = [
          "string"
        ]
        description = "string"
        displayName = "string"
        implementationEffort = "string"
        partnerData = {
          partnerName = "string"
          productName = "string"
          secret = "string"
        }
        preview = bool
        remediationDescription = "string"
        severity = "string"
        threats = [
          "string"
        ]
        userImpact = "string"
      }
      partnersData = {
        partnerName = "string"
        secret = "string"
      }
      resourceDetails = {
        source = "string"
        // For remaining properties, see CommonResourceDetails objects
      }
      risk = {
        attackPathsReferences = [
          "string"
        ]
        isContextualRisk = bool
        level = "string"
        paths = [
          {
            edges = [
              {
                id = "string"
                sourceId = "string"
                targetId = "string"
              }
            ]
            id = "string"
            nodes = [
              {
                id = "string"
                nodePropertiesLabel = [
                  "string"
                ]
              }
            ]
          }
        ]
        riskFactors = [
          "string"
        ]
      }
      status = {
        cause = "string"
        code = "string"
        description = "string"
      }
    }
  }
}

Objetos CommonResourceDetails

Defina a propriedade de origem para especificar o tipo de objeto.

Para Azure, use:

{
  source = "Azure"
}

Para OnPremiseSql, use:

{
  databaseName = "string"
  machineName = "string"
  serverName = "string"
  source = "OnPremiseSql"
  sourceComputerId = "string"
  vmuuid = "string"
  workspaceId = "string"
}

Valores de propriedade

Microsoft.Security/assessments

Nome Descrição Valor
nome O nome do recurso cadeia de caracteres (obrigatório)
parent_id A ID do recurso ao qual aplicar esse recurso de extensão. cadeia de caracteres (obrigatório)
Propriedades Descreve as propriedades de uma avaliação. SecurityAssessmentPropertiesOrSecurityAssessmentPropertiesResponse
tipo O tipo de recurso "Microsoft.Security/assessments@2025-05-04"

AssessmentStatusOrAssessmentStatusResponse

Nome Descrição Valor
causa Código programático para a causa do status da avaliação cadeia
codificar Código programático para o status da avaliação 'Íntegro'
'Não aplicável'
'Não íntegro' (obrigatório)
descrição Descrição legível humana do status da avaliação cadeia

AzureResourceDetails

Nome Descrição Valor
fonte A plataforma em que o recurso avaliado reside 'Azure' (obrigatório)

CommonResourceDetails

Nome Descrição Valor
fonte Defina para 'Azure' para o tipo AzureResourceDetails. Defina como 'OnPremiseSql' para o tipo OnPremiseSqlResourceDetails. 'Azure'
'OnPremiseSql' (obrigatório)

Detalhes do recurso Sql no local

Nome Descrição Valor
nomeDoBancoDeDados O nome do banco de dados Sql instalado no computador cadeia de caracteres (obrigatório)
nome_da_máquina O nome do computador cadeia de caracteres (obrigatório)
nomeDoServidor O nome do Sql Server instalado no computador cadeia de caracteres (obrigatório)
fonte A plataforma em que o recurso avaliado reside 'OnPremiseSql' (obrigatório)
código-fonteComputerId A ID do agente oms instalada no computador cadeia de caracteres (obrigatório)
vmuuid A ID exclusiva do computador cadeia de caracteres (obrigatório)
ID do espaço de trabalho Id de recurso Azure do workspace ao qual a máquina está conectada cadeia de caracteres (obrigatório)

SecurityAssessmentMetadataPartnerData

Nome Descrição Valor
Nome do Parceiro Nome da empresa do parceiro cadeia de caracteres (obrigatório)
nomeDoProduto Nome do produto do parceiro que criou a avaliação cadeia
segredo Segredo para autenticar o parceiro e verificar se ele criou a avaliação – somente gravação corda

Restrições:
Valor confidencial. Passe como um parâmetro seguro. (obrigatório)

SecurityAssessmentMetadataProperties

Nome Descrição Valor
tipo de avaliação BuiltIn se a avaliação for baseada na definição embutida do Azure Policy, Custom se a avaliação for baseada na definição personalizada do Azure Policy 'Embutido'
'BuiltInPolicy'
'Custom'
'Gerenciado pelo cliente'
'CustomPolicy'
'DinâmicoBuiltIn'
'Manual Embutido'
'ManualBuiltInPolicy'
'ManualCustomPolicy'
'Unknown'
'VerifiedPartner' (obrigatório)
Categorias Matriz de cadeia de caracteres que contém qualquer um dos:
'AppServices'
'Computação'
'Contêiner'
'Dados'
'Identidadee Acesso'
'IoT'
'Rede'
descrição Descrição legível humana da avaliação cadeia
nome de exibição Nome de exibição amigável da avaliação cadeia de caracteres (obrigatório)
esforço de implementação O esforço de implementação necessário para corrigir essa avaliação 'Alto'
'Baixo'
'Moderado'
dados de parceiro Descreve o parceiro que criou a avaliação securityAssessmentMetadataPartnerData
prévia True se essa avaliação estiver no status de versão prévia Bool
remediaçãoDescrição Descrição legível humana do que você deve fazer para atenuar esse problema de segurança cadeia
severidade O nível de gravidade da avaliação 'Crítico'
'Alto'
'Baixo'
'Medium' (obrigatório)
Ameaças Matriz de cadeia de caracteres que contém qualquer um dos:
'violação de conta'
'exfiltração de dados'
'derramamento de dados'
'negação de serviço'
'elevationOfPrivilege'
'mal-intencionado'
'missingCoverage'
'threatResistance'
impacto do usuário O impacto do usuário na avaliação 'Alto'
'Baixo'
'Moderado'

SecurityAssessmentPartnerData

Nome Descrição Valor
Nome do Parceiro Nome da empresa do parceiro cadeia de caracteres (obrigatório)
segredo segredo para autenticar o parceiro – somente gravação corda

Restrições:
Valor confidencial. Passe como um parâmetro seguro. (obrigatório)

SecurityAssessmentPropertiesBaseAdditionalData

Nome Descrição Valor

SecurityAssessmentPropertiesBaseRisk

Nome Descrição Valor
attackPathsReferências As referências de caminhos de ataque do risco cadeia de caracteres[]
isContextualRisk Indica se o risco é contextual ou estático Bool
nível O nível de risco 'Crítico'
'Alto'
'Baixo'
'Médio'
'Nenhum'
Caminhos SecurityAssessmentPropertiesBaseRiskPathsItem[]
fatores de risco Os fatores do fator de base de adição de risco cadeia de caracteres[]

SecurityAssessmentPropertiesBaseRiskPathsItem

Nome Descrição Valor
Bordas Conexões entre nós SecurityAssessmentPropertiesBaseRiskPathsItemEdgeItem[]
id Identificador exclusivo para o caminho cadeia
Nós SecurityAssessmentPropertiesBaseRiskPathsItemNodesItem[]

SecurityAssessmentPropertiesBaseRiskPathsItemEdgeItem

Nome Descrição Valor
id Identificador de borda cadeia de caracteres (obrigatório)
código-fonte Identificador do nó de origem cadeia de caracteres (obrigatório)
ID do alvo Identificador do nó de destino cadeia de caracteres (obrigatório)

SecurityAssessmentPropertiesBaseRiskPathsItemNodesItem

Nome Descrição Valor
id Identificador de nó cadeia
nodePropertiesLabel Propriedades associadas ao nó cadeia de caracteres[]

SecurityAssessmentPropertiesOrSecurityAssessmentPropertiesResponse

Nome Descrição Valor
Dados adicionais Dados adicionais sobre a avaliação SecurityAssessmentPropertiesBaseAdditionalData
metadados Descreve as propriedades de metadados de avaliação. securityAssessmentMetadataProperties
parceirosDados Dados referentes à integração de parceiros de terceiros SecurityAssessmentPartnerData
Detalhes do recurso Detalhes do recurso que foi avaliado CommonResourceDetails (obrigatório)
risco Modelo externo de resultado de risco SecurityAssessmentPropertiesBaseRisk
status O resultado da avaliação AssessmentStatusOrAssessmentStatusResponse (obrigatório)