將弱點評估掃描結果儲存至可透過防火牆和 VNet 存取的儲存體帳戶

適用於:Azure SQL DatabaseAzure SQL 受控執行個體Azure Synapse Analytics

如果您要在 Azure 中針對特定 VNet 或服務限制儲存體帳戶存取權,則需要啟用適當的設定,讓 SQL Database 或 Azure SQL 受控執行個體的弱點評量 (VA) 掃描可存取該儲存體帳戶。

注意

使用快速設定時,不需要這些設定。

必要條件

SQL 弱點評估服務需要儲存體帳戶的權限,才能儲存基準和掃描結果。

使用 SQL Server 受控識別

  • SQL Server 必須具有受控識別。
  • 儲存體帳戶必須具有 SQL 受控識別的角色指派:儲存體 Blob 資料參與者
  • 當您套用設定時,VA 欄位 storageContainerSasKey 和 storageAccountAccessKey 必須為空 (使用儲存體帳戶金鑰或儲存體 SAS 金鑰的設定對此案例無效)。

當您使用 Azure 入口網站儲存 SQL VA 設定時,Azure 會檢查您是否有權將受控識別的新角色指派指派為儲存體上的儲存體 Blob 資料參與者。 如果已指派權限,則 Azure 會使用 SQL Server 受控識別,否則 Azure 會使用此金鑰方法 (本案例不支援)。

注意

  1. 此情節不支援使用者指派的受控識別。
  2. 如果使用 Azure 儲存體生命週期管理原則,請避免將 VA 使用之容器上的檔案移至封存存取層。 不支援讀取儲存在封存存取層中的掃描結果或基準設定。

啟用儲存體帳戶的 Azure SQL Database VA 掃描存取權

如果您已將 VA 儲存體帳戶設定為只能由特定網路或服務進行存取,則需要確保 Azure SQL Database 的 VA 掃描能夠將掃描儲存至儲存體帳戶。 您可以使用現有儲存體帳戶,或建立新的儲存體帳戶,以儲存邏輯 SQL 伺服器上所有資料庫的 VA 掃描結果。

注意

弱點評估服務無法存取受防火牆或 VNet 保護的儲存體帳戶 (如果需要儲存體存取金鑰)。

移至包含儲存體帳戶的 [資源群組],然後存取 [儲存體帳戶] 窗格。 在 [設定] 下,選取 [防火牆和虛擬網路]。

確定已核取 [允許信任的 Microsoft 服務存取此儲存體帳戶]。

Screenshot showing Firewall and virtual networks dialog box, with Allow trusted Microsoft services to access this storage account selected.

若要找出正在使用哪一個儲存體帳戶,請執行下列步驟:

  1. 前往 Azure 入口網站上您的 [SQL Server] 窗格。
  2. 在 [安全性] 下,選取 [適用於雲端的 Defender]。
  3. 選取 [設定] 。

Screenshot showing setup vulnerability assessment.

將 Azure SQL 受控執行個體的 VA 掃描結果儲存至可透過防火牆或 VNet 存取的儲存體帳戶

因為 Azure SQL 受控執行個體不是信任的 Microsoft 服務,且具有與儲存體帳戶不同的 VNet,所以執行 VA 掃描會產生錯誤。

注意

強烈建議確定您的 Azure SQL 受控執行個體已註冊到 2022 年 11 月功能潮,這可在儲存體帳戶位於防火牆或 VNET 後方時,允許更簡單的 SQL 弱點評估組態。

若要在已安裝 2022 年 11 月功能潮的 Azure SQL 受控執行個體上支援 VA 掃描,請遵循下列步驟:

  1. 在 Azure SQL 受控執行個體的 [概觀] 頁面下,記下 [虛擬網路/子網路]的值。

  2. 前往儲存體帳戶中的 [網路] 頁面,其中 SQL VA 已設定為儲存掃描結果。

  3. 在 [防火牆和虛擬網路] 索引標籤的 [公用網路存取] 下,選取 [從選取的虛擬網路和 IP 位址中啟用]

  4. 在 [虛擬網路] 區段下,按下 [新增現有的虛擬網路],然後選取您在第一個步驟中注意到的受控執行個體使用的 VNET 和子網路。

    Screenshot of storage account networking settings for Nov22 feature wave (and up).

若要在未安裝 2022 年 11 月功能潮的 Azure SQL 受控執行個體上支援 VA 掃描,請遵循下列步驟:

  1. 在 [SQL 受控執行個體] 窗格中,按一下 [概觀] 標題下的 [虛擬網路/子網路] 連結。 這會帶您前往 [虛擬網路] 窗格。

    Screenshot of the SQL managed instance overview section.

  2. 在 [設定] 下,選取 [子網路]。 按一下新窗格中的 [+ 子網路] 以新增子網路。 如需詳細資訊,請參閱管理子網路

    Screenshot shows a list of subnets and the add subnet option.

  3. 此新的子網路應具有下列設定:

    Screenshot shows a subnet called VA and its settings.

    • NAT 閘道:
    • 網路安全性群組:
    • 路由表:
    • 服務端點 - 服務:未選取
    • 子網路委派 - 將子網路委派給服務:
    • 私人端點的網路原則 - 私人端點網路原則:未選取
  4. 前往儲存體帳戶,其中 SQL VA 已設定為儲存掃描結果,按下 [私人端點連線] 索引標籤,然後按下 [+ 私人端點]

    Screenshot shows Firewalls and virtual networks settings.

    Screenshot shows add private endpoint button.

  5. 選擇私人端點的詳細資料 (建議將其放在相同 RG 和相同區域中)。

    Screenshot shows private endpoint creation Basics tab.

  6. 選擇 [目標子資源]的 [blob]

    Screenshot shows private endpoint creation Resource tab.

  7. 選取 SQL MI 的虛擬網路 (從步驟 1) 並選擇您建立的子網路 (步驟 3):

    Screenshot shows private endpoint creation Virtual Network tab.

  8. 選取 [與私人 DNS 區域整合] (應為預設值),然後選擇其他預設值

    Screenshot shows private endpoint creation DNS tab.

  9. 繼續 [審核 + 建立] 索引標籤,然後按一下 [建立]。 部署完成後,您應該會在儲存體帳戶的 [網路] 區段下的 [私人端點連線] 索引標籤中看到:

    Screenshot shows storage Networking Private endpoint connections post configuration.

您現在應該能夠將 Azure SQL 受控執行個體的 VA 掃描儲存至儲存體帳戶。

針對與弱點評估掃描相關的常見問題進行疑難排解。

無法儲存弱點評定設定

如果您的儲存體帳戶不符合某些必要條件,或您的權限不足,則可能無法儲存弱點評估設定的變更。

儲存體帳戶的需求

用來儲存弱點評估掃描結果的儲存體帳戶必須符合下列需求:

  • 類型:StorageV2 (一般用途 V2) 或 Storage (一般用途 V1)
  • 效能:標準 (僅限)
  • 區域:儲存體必須位於與 Azure SQL Server 執行個體相同的區域中。

如果不符合其中任何需求,則儲存弱點評估設定的變更會失敗。

權限

需要下列權限,才能儲存弱點評估設定的變更:

  • SQL 安全性管理員
  • 儲存體 Blob 資料讀者
  • 儲存體帳戶上的擁有者角色

設定新的角色指派時需要擁有者或使用者管理員存取儲存體帳戶和下列權限:

  • 儲存體 Blob 資料擁有者

儲存體帳戶未顯示為弱點評估設定中的選取項目

儲存體帳戶可能因數個原因而未出現在儲存體帳戶選擇器中:

  • 您所尋找的儲存體帳戶不在選取的訂用帳戶中。
  • 您所尋找的儲存體帳戶與 Azure SQL Server 執行個體不在相同的區域中。
  • 您沒有儲存體帳戶的 Microsoft.Storage/storageAccounts/read 權限。

如果您沒有所需權限,或使用的瀏覽器不支援開啟或顯示掃描結果,則可能無法開啟掃描結果通知電子郵件中的連結,或檢視掃描結果。

所需的權限

若要開啟電子郵件通知中掃描結果的連結,或檢視掃描結果,您需要取得下列權限:

  • SQL 安全性管理員
  • 儲存體 Blob 資料讀者

瀏覽器需求

Firefox 瀏覽器不支援開啟或顯示掃描結果檢視。 建議您使用 Microsoft Edge 或 Chrome 來檢視弱點評量掃描結果。

下一步