Udostępnij za pośrednictwem


Sql Vulnerability Assessment Scan Results - Get

Pobiera wyniki skanowania pojedynczej reguły w rekordzie skanowania.

GET https://management.azure.com/{resourceId}/providers/Microsoft.Security/sqlVulnerabilityAssessments/default/scans/{scanId}/scanResults/{scanResultId}?workspaceId={workspaceId}&api-version=2023-02-01-preview

Parametry identyfikatora URI

Nazwa W Wymagane Typ Opis
resourceId
path True

string

Identyfikator zasobu.

scanId
path True

string

Identyfikator skanowania. Wpisz ciąg "latest", aby uzyskać wyniki skanowania dla najnowszego skanowania.

scanResultId
path True

string

Identyfikator reguły wyników.

api-version
query True

string

Wersja interfejsu API.

workspaceId
query True

string

Identyfikator obszaru roboczego.

Odpowiedzi

Nazwa Typ Opis
200 OK

ScanResult

Zwraca wyniki skanowania.

Other Status Codes

CloudError

Odpowiedź na błąd opisująca, dlaczego operacja nie powiodła się.

Zabezpieczenia

azure_auth

Przepływ protokołu OAuth2 usługi Azure Active Directory

Typ: oauth2
Flow: implicit
Adres URL autoryzacji: https://login.microsoftonline.com/common/oauth2/authorize

Zakresy

Nazwa Opis
user_impersonation personifikacja konta użytkownika

Przykłady

Get scan details of a scan record
Get scan details of the latest scan record

Get scan details of a scan record

Przykładowe żądanie

GET https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Rg/providers/Microsoft.HybridCompute/machines/MyMachine/sqlServers/server1/databases/master/providers/Microsoft.Security/sqlVulnerabilityAssessments/default/scans/Scheduled-20200623/scanResults/VA2063?workspaceId=55555555-6666-7777-8888-999999999999&api-version=2023-02-01-preview

Przykładowa odpowiedź

{
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Rg/providers/Microsoft.HybridCompute/machines/MyMachine/sqlServers/server1/databases/master/providers/Microsoft.Security/sqlVulnerabilityAssessments/default/scans/Scheduled-20200623/scanResults/VA2063",
  "name": "VA2063",
  "type": "Microsoft.Security/sqlVulnerabilityAssessments/scans/scanResults",
  "properties": {
    "ruleId": "VA2063",
    "status": "Finding",
    "isTrimmed": false,
    "queryResults": [
      [
        "Test",
        "0.0.0.0",
        "125.125.125.125"
      ]
    ],
    "remediation": {
      "description": "Remove server firewall rules that grant excessive access",
      "scripts": [
        "EXECUTE sp_delete_firewall_rule N'Test';"
      ],
      "automated": false,
      "portalLink": "ReviewServerFirewallRules"
    },
    "baselineAdjustedResult": {
      "baseline": {
        "expectedResults": [
          [
            "Test",
            "0.0.0.0",
            "125.125.125.125"
          ]
        ],
        "updatedTime": "2020-02-04T12:49:41.027771+00:00"
      },
      "status": "NonFinding",
      "resultsNotInBaseline": [],
      "resultsOnlyInBaseline": []
    },
    "ruleMetadata": {
      "ruleId": "VA2063",
      "severity": "High",
      "category": "SurfaceAreaReduction",
      "ruleType": "NegativeList",
      "title": "Server-level firewall rules should not grant excessive access",
      "description": "The Azure SQL server-level firewall helps protect your server by preventing all access to your databases until you specify which IP addresses have permission. Server-level firewall rules grant access to all databases that belong to the server based on the originating IP address of each request.\n\nServer-level firewall rules can only be created and managed through Transact-SQL as well as through the Azure portal or PowerShell. For more details please see: https://docs.microsoft.com/en-us/azure/sql-database/sql-database-firewall-configure\n\nThis check verifies that server-level firewall rules do not grant excessive access.",
      "rationale": "Often, administrators add rules that grant excessive access as part of a troubleshooting process � to eliminate the firewall as the source of a problem, they simply create a rule that allows all traffic to pass to the affected server.\n\nGranting excessive access using server firewall rules is a clear security concern, as it violates the principle of least privilege by allowing unnecessary access to your databases. In fact, it's the equivalent of placing the server outside of the firewall.",
      "queryCheck": {
        "query": "SELECT name\n    ,start_ip_address\n    ,end_ip_address\nFROM sys.firewall_rules\nWHERE ( \n        (CONVERT(bigint, parsename(end_ip_address, 1)) +\n         CONVERT(bigint, parsename(end_ip_address, 2)) * 256 + \n         CONVERT(bigint, parsename(end_ip_address, 3)) * 65536 + \n         CONVERT(bigint, parsename(end_ip_address, 4)) * 16777216 ) \n        - \n        (CONVERT(bigint, parsename(start_ip_address, 1)) +\n         CONVERT(bigint, parsename(start_ip_address, 2)) * 256 + \n         CONVERT(bigint, parsename(start_ip_address, 3)) * 65536 + \n         CONVERT(bigint, parsename(start_ip_address, 4)) * 16777216 )\n      ) > 255;",
        "expectedResult": [],
        "columnNames": [
          "Firewall Rule Name",
          "Start Address",
          "End Address"
        ]
      },
      "benchmarkReferences": []
    }
  }
}

Get scan details of the latest scan record

Przykładowe żądanie

GET https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Rg/providers/Microsoft.HybridCompute/machines/MyMachine/sqlServers/server1/databases/master/providers/Microsoft.Security/sqlVulnerabilityAssessments/default/scans/latest/scanResults/VA2063?workspaceId=55555555-6666-7777-8888-999999999999&api-version=2023-02-01-preview

Przykładowa odpowiedź

{
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Rg/providers/Microsoft.HybridCompute/machines/MyMachine/sqlServers/server1/databases/master/providers/Microsoft.Security/sqlVulnerabilityAssessments/default/scans/Scheduled-20200623/scanResults/VA2063",
  "name": "VA2063",
  "type": "Microsoft.Security/sqlVulnerabilityAssessments/scans/scanResults",
  "properties": {
    "ruleId": "VA2063",
    "status": "Finding",
    "isTrimmed": false,
    "queryResults": [
      [
        "Test",
        "0.0.0.0",
        "125.125.125.125"
      ]
    ],
    "remediation": {
      "description": "Remove server firewall rules that grant excessive access",
      "scripts": [
        "EXECUTE sp_delete_firewall_rule N'Test';"
      ],
      "automated": false,
      "portalLink": "ReviewServerFirewallRules"
    },
    "baselineAdjustedResult": {
      "baseline": {
        "expectedResults": [
          [
            "Test",
            "0.0.0.0",
            "125.125.125.125"
          ]
        ],
        "updatedTime": "2020-02-04T12:49:41.027771+00:00"
      },
      "status": "NonFinding",
      "resultsNotInBaseline": [],
      "resultsOnlyInBaseline": []
    },
    "ruleMetadata": {
      "ruleId": "VA2063",
      "severity": "High",
      "category": "SurfaceAreaReduction",
      "ruleType": "NegativeList",
      "title": "Server-level firewall rules should not grant excessive access",
      "description": "The Azure SQL server-level firewall helps protect your server by preventing all access to your databases until you specify which IP addresses have permission. Server-level firewall rules grant access to all databases that belong to the server based on the originating IP address of each request.\n\nServer-level firewall rules can only be created and managed through Transact-SQL as well as through the Azure portal or PowerShell. For more details please see: https://docs.microsoft.com/en-us/azure/sql-database/sql-database-firewall-configure\n\nThis check verifies that server-level firewall rules do not grant excessive access.",
      "rationale": "Often, administrators add rules that grant excessive access as part of a troubleshooting process � to eliminate the firewall as the source of a problem, they simply create a rule that allows all traffic to pass to the affected server.\n\nGranting excessive access using server firewall rules is a clear security concern, as it violates the principle of least privilege by allowing unnecessary access to your databases. In fact, it's the equivalent of placing the server outside of the firewall.",
      "queryCheck": {
        "query": "SELECT name\n    ,start_ip_address\n    ,end_ip_address\nFROM sys.firewall_rules\nWHERE ( \n        (CONVERT(bigint, parsename(end_ip_address, 1)) +\n         CONVERT(bigint, parsename(end_ip_address, 2)) * 256 + \n         CONVERT(bigint, parsename(end_ip_address, 3)) * 65536 + \n         CONVERT(bigint, parsename(end_ip_address, 4)) * 16777216 ) \n        - \n        (CONVERT(bigint, parsename(start_ip_address, 1)) +\n         CONVERT(bigint, parsename(start_ip_address, 2)) * 256 + \n         CONVERT(bigint, parsename(start_ip_address, 3)) * 65536 + \n         CONVERT(bigint, parsename(start_ip_address, 4)) * 16777216 )\n      ) > 255;",
        "expectedResult": [],
        "columnNames": [
          "Firewall Rule Name",
          "Start Address",
          "End Address"
        ]
      },
      "benchmarkReferences": []
    }
  }
}

Definicje

Nazwa Opis
Baseline

Szczegóły punktu odniesienia.

BaselineAdjustedResult

Wynik reguły został skorygowany przy użyciu planu bazowego.

BenchmarkReference

Odwołania do testów porównawczych.

CloudError

Typowa odpowiedź na błędy dla wszystkich interfejsów API usługi Azure Resource Manager w celu zwrócenia szczegółów błędu dla operacji, które zakończyły się niepowodzeniem. (Jest to również zgodne z formatem odpowiedzi na błąd OData).

CloudErrorBody

Szczegóły błędu.

ErrorAdditionalInfo

Dodatkowe informacje o błędzie zarządzania zasobami.

QueryCheck

Szczegóły zapytania reguły.

Remediation

Szczegóły korygowania.

RuleSeverity

Ważność reguły.

RuleStatus

Stan wyniku reguły.

RuleType

Typ reguły.

ScanResult

Wynik skanowania oceny luk w zabezpieczeniach dla pojedynczej reguły.

ScanResultProperties

Właściwości wyniku skanowania oceny luk w zabezpieczeniach dla pojedynczej reguły.

VaRule

szczegóły metadanych reguły oceny luk w zabezpieczeniach.

Baseline

Szczegóły punktu odniesienia.

Nazwa Typ Opis
expectedResults

string[]

Oczekiwane wyniki.

updatedTime

string

Czas aktualizacji wg planu bazowego (UTC).

BaselineAdjustedResult

Wynik reguły został skorygowany przy użyciu planu bazowego.

Nazwa Typ Opis
baseline

Baseline

Szczegóły punktu odniesienia.

resultsNotInBaseline

string[]

Wyniki nie znajdują się w punkcie odniesienia.

resultsOnlyInBaseline

string[]

Wyniki znajdują się w punkcie odniesienia.

status

RuleStatus

Stan wyniku reguły.

BenchmarkReference

Odwołania do testów porównawczych.

Nazwa Typ Opis
benchmark

string

Nazwa testu porównawczego.

reference

string

Dokumentacja referencyjna.

CloudError

Typowa odpowiedź na błędy dla wszystkich interfejsów API usługi Azure Resource Manager w celu zwrócenia szczegółów błędu dla operacji, które zakończyły się niepowodzeniem. (Jest to również zgodne z formatem odpowiedzi na błąd OData).

Nazwa Typ Opis
error.additionalInfo

ErrorAdditionalInfo[]

Dodatkowe informacje o błędzie.

error.code

string

Kod błędu.

error.details

CloudErrorBody[]

Szczegóły błędu.

error.message

string

Komunikat o błędzie.

error.target

string

Element docelowy błędu.

CloudErrorBody

Szczegóły błędu.

Nazwa Typ Opis
additionalInfo

ErrorAdditionalInfo[]

Dodatkowe informacje o błędzie.

code

string

Kod błędu.

details

CloudErrorBody[]

Szczegóły błędu.

message

string

Komunikat o błędzie.

target

string

Element docelowy błędu.

ErrorAdditionalInfo

Dodatkowe informacje o błędzie zarządzania zasobami.

Nazwa Typ Opis
info

object

Dodatkowe informacje.

type

string

Dodatkowy typ informacji.

QueryCheck

Szczegóły zapytania reguły.

Nazwa Typ Opis
columnNames

string[]

Nazwy kolumn oczekiwanego wyniku.

expectedResult

string[]

Oczekiwany wynik.

query

string

Zapytanie reguły.

Remediation

Szczegóły korygowania.

Nazwa Typ Opis
automated

boolean

Jest zautomatyzowane korygowanie.

description

string

Opis korygowania.

portalLink

string

Opcjonalny link do korygowania w witrynie Azure Portal.

scripts

string[]

Skrypt korygowania.

RuleSeverity

Ważność reguły.

Nazwa Typ Opis
High

string

Wysoki

Informational

string

Informacyjne

Low

string

Niski

Medium

string

Średni

Obsolete

string

Przestarzały

RuleStatus

Stan wyniku reguły.

Nazwa Typ Opis
Finding

string

Znalezienie

InternalError

string

InternalError

NonFinding

string

Niezdefiniowanie

RuleType

Typ reguły.

Nazwa Typ Opis
BaselineExpected

string

BaselineExpected

Binary

string

Dwójkowy

NegativeList

string

Lista ujemna

PositiveList

string

Lista dodatnia

ScanResult

Wynik skanowania oceny luk w zabezpieczeniach dla pojedynczej reguły.

Nazwa Typ Opis
id

string

Identyfikator zasobu

name

string

Nazwa zasobu

properties

ScanResultProperties

Właściwości wyniku skanowania oceny luk w zabezpieczeniach dla pojedynczej reguły.

type

string

Typ zasobu

ScanResultProperties

Właściwości wyniku skanowania oceny luk w zabezpieczeniach dla pojedynczej reguły.

Nazwa Typ Opis
baselineAdjustedResult

BaselineAdjustedResult

Wynik reguły został skorygowany przy użyciu planu bazowego.

isTrimmed

boolean

Wskazuje, czy określone w tym miejscu wyniki są przycinane.

queryResults

string[]

Wyniki zapytania, które zostało uruchomione.

remediation

Remediation

Szczegóły korygowania.

ruleId

string

Identyfikator reguły.

ruleMetadata

VaRule

szczegóły metadanych reguły oceny luk w zabezpieczeniach.

status

RuleStatus

Stan wyniku reguły.

VaRule

szczegóły metadanych reguły oceny luk w zabezpieczeniach.

Nazwa Typ Opis
benchmarkReferences

BenchmarkReference[]

Odwołania do testów porównawczych.

category

string

Kategoria reguły.

description

string

Opis reguły.

queryCheck

QueryCheck

Szczegóły zapytania reguły.

rationale

string

Uzasadnienie reguły.

ruleId

string

Identyfikator reguły.

ruleType

RuleType

Typ reguły.

severity

RuleSeverity

Ważność reguły.

title

string

Tytuł reguły.