次の方法で共有


Sql Vulnerability Assessment Scan Results - Get

スキャン レコード内の 1 つのルールのスキャン結果を取得します。

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

URI パラメーター

名前 / 必須 説明
resourceId
path True

string

リソースの識別子。

scanId
path True

string

スキャン ID。「latest」と入力して、最新のスキャンのスキャン結果を取得します。

scanResultId
path True

string

結果のルール ID。

api-version
query True

string

API のバージョン。

workspaceId
query True

string

ワークスペース ID。

応答

名前 説明
200 OK

ScanResult

スキャン結果を返します。

Other Status Codes

CloudError

操作が失敗した理由を説明するエラー応答。

セキュリティ

azure_auth

Azure Active Directory OAuth2 フロー

型: oauth2
フロー: implicit
Authorization URL (承認 URL): https://login.microsoftonline.com/common/oauth2/authorize

スコープ

名前 説明
user_impersonation ユーザー アカウントを偽装する

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

Get scan details of a scan record

要求のサンプル

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

応答のサンプル

{
  "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

要求のサンプル

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

応答のサンプル

{
  "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": []
    }
  }
}

定義

名前 説明
Baseline

ベースラインの詳細。

BaselineAdjustedResult

ベースラインで調整されたルールの結果。

BenchmarkReference

ベンチマーク参照。

CloudError

失敗した操作のエラーの詳細を返す、すべての Azure Resource Manager API の一般的なエラー応答。 (これは、OData エラー応答形式にも従います)。

CloudErrorBody

エラーの詳細。

ErrorAdditionalInfo

リソース管理エラーの追加情報。

QueryCheck

ルール クエリの詳細。

Remediation

修復の詳細。

RuleSeverity

ルールの重大度。

RuleStatus

ルールの結果の状態。

RuleType

ルールの種類。

ScanResult

1 つのルールに対する脆弱性評価スキャンの結果。

ScanResultProperties

1 つのルールの脆弱性評価スキャン結果プロパティ。

VaRule

脆弱性評価ルールのメタデータの詳細。

Baseline

ベースラインの詳細。

名前 説明
expectedResults

string[]

予想される結果。

updatedTime

string

基準更新時刻 (UTC)。

BaselineAdjustedResult

ベースラインで調整されたルールの結果。

名前 説明
baseline

Baseline

ベースラインの詳細。

resultsNotInBaseline

string[]

結果はベースラインにありません。

resultsOnlyInBaseline

string[]

結果はベースラインになります。

status

RuleStatus

ルールの結果の状態。

BenchmarkReference

ベンチマーク参照。

名前 説明
benchmark

string

ベンチマーク名。

reference

string

ベンチマークリファレンス。

CloudError

失敗した操作のエラーの詳細を返す、すべての Azure Resource Manager API の一般的なエラー応答。 (これは、OData エラー応答形式にも従います)。

名前 説明
error.additionalInfo

ErrorAdditionalInfo[]

エラーの追加情報。

error.code

string

エラー コード。

error.details

CloudErrorBody[]

エラーの詳細。

error.message

string

エラー メッセージ。

error.target

string

エラーターゲット。

CloudErrorBody

エラーの詳細。

名前 説明
additionalInfo

ErrorAdditionalInfo[]

エラーの追加情報。

code

string

エラー コード。

details

CloudErrorBody[]

エラーの詳細。

message

string

エラー メッセージ。

target

string

エラーターゲット。

ErrorAdditionalInfo

リソース管理エラーの追加情報。

名前 説明
info

object

追加情報。

type

string

追加情報の種類。

QueryCheck

ルール クエリの詳細。

名前 説明
columnNames

string[]

予想される結果の列名。

expectedResult

string[]

予想される結果。

query

string

ルール クエリ。

Remediation

修復の詳細。

名前 説明
automated

boolean

修復は自動化されています。

description

string

修復の説明。

portalLink

string

Azure Portal で修復するためのオプションのリンク。

scripts

string[]

修復スクリプト。

RuleSeverity

ルールの重大度。

名前 説明
High

string

高い

Informational

string

情報

Low

string

低い

Medium

string

中程度

Obsolete

string

廃れた

RuleStatus

ルールの結果の状態。

名前 説明
Finding

string

発見

InternalError

string

InternalError

NonFinding

string

NonFinding

RuleType

ルールの種類。

名前 説明
BaselineExpected

string

BaselineExpected

Binary

string

バイナリ

NegativeList

string

NegativeList

PositiveList

string

PositiveList

ScanResult

1 つのルールに対する脆弱性評価スキャンの結果。

名前 説明
id

string

リソース ID

name

string

リソース名

properties

ScanResultProperties

1 つのルールの脆弱性評価スキャン結果プロパティ。

type

string

リソースの種類

ScanResultProperties

1 つのルールの脆弱性評価スキャン結果プロパティ。

名前 説明
baselineAdjustedResult

BaselineAdjustedResult

ベースラインで調整されたルールの結果。

isTrimmed

boolean

ここで指定した結果をトリミングするかどうかを示します。

queryResults

string[]

実行されたクエリの結果。

remediation

Remediation

修復の詳細。

ruleId

string

ルール ID。

ruleMetadata

VaRule

脆弱性評価ルールのメタデータの詳細。

status

RuleStatus

ルールの結果の状態。

VaRule

脆弱性評価ルールのメタデータの詳細。

名前 説明
benchmarkReferences

BenchmarkReference[]

ベンチマーク参照。

category

string

ルール カテゴリ。

description

string

ルールの説明。

queryCheck

QueryCheck

ルール クエリの詳細。

rationale

string

ルールの根拠。

ruleId

string

ルール ID。

ruleType

RuleType

ルールの種類。

severity

RuleSeverity

ルールの重大度。

title

string

ルールのタイトル。