您可以使用 TrendAI Vision One 控制台和 Azure 入口網站,將 Azure Subscription 從 TrendAI 雲端 One File
Storage Security (C1FSS) 更新至 TrendAI Vision One™ File Security Storage (V1FSS)。本主題涵蓋適用於兩種更新路徑的準備、設定和行為變更。
選擇更新路徑
有兩種更新路徑可用。兩者執行相同的工作,只是兩個動作的順序不同:啟用 V1FSS 掃描和移除 C1FSS 事件訂閱。
更新路徑
|
路徑
|
順序
|
結果
|
|
零停機時間
|
先開啟 V1FSS,再移除 C1FSS
|
重疊的情況是兩個產品都會掃瞄每個新的 blob
|
|
短暫停機
|
先移除 C1FSS,再開啟 V1FSS
|
兩個產品都未掃描的間隙
|
-
Zero downtime:選擇此路徑以避免掃描中斷。請注意,在 C1FSS 掃描停止之前的間隔期間,可能會有新上傳的 blob 同時被 C1FSS 和 V1FSS 掃描。如果使用 promote-or-quarantine 插件,可能會導致競爭條件,進而導致標籤不一致、檔案狀態不一致(其中一個產品移動 blob 而另一個仍在讀取),或重複處理(兩個產品嘗試相同的移動,贏的一方刪除來源,而另一方記錄失敗)。
-
Brief downtime:如果您能容忍掃描的短暫中斷,請選擇此路徑。掃描僅在刪除 C1FSS 事件訂閱和在 TrendAI Vision One 控制台中開啟掃描之間暫停,通常只需幾分鐘。此路徑在更新過程中出現問題的機率最小,如果您使用 promote-or-quarantine 插件,這是更好的選擇。
在您開始之前
在您更改任何內容之前,請先完成以下五項檢查。這些檢查適用於兩種更新路徑。
-
Confirm that you are not using a VNet deployment.

重要
V1FSS 不支援 VNet 部署。如果 C1FSS 部署在虛擬網路中,請勿更新。V1FSS 中沒有等效的配置,更新會將您的掃描從網路隔離的管道移至公共端點。支援的部署類型
部署類型是否支援更新?全方位(掃描器和存儲堆疊)是僅限儲存堆疊是僅限掃描器堆疊是部署到 VNet 的任何堆疊No -
Check whether you use the promote-or-quarantine plugin.C1FSS 可以將乾淨或惡意的 blob 移動到其他儲存帳戶,但只能透過每個掃描儲存帳戶部署一次的單獨插件來實現。V1FSS 內建此功能,但設定不會自動攜帶,且有一個預設值不同,會影響到您的檔案存放位置。前往,尋找包含
pqfunction…儲存帳戶的資源群組。每一個都是插件實例。如果找到任何,請參閱更新促銷和隔離設定。 -
Record the C1FSS event subscription details.C1FSS 會在每個已掃描的儲存帳戶上建立一個事件網格事件訂閱,當有 blob 上傳時會觸發其 Blob Listener 功能。您在更新期間會刪除此訂閱,因此請先記錄它。如果您需要回滾到 C1FSS,這些資訊是必需的。對 C1FSS 保護的每個儲存帳戶執行以下操作:
-
移至,然後開啟儲存帳戶。
-
在左側導航中,選擇「事件」,然後打開「Event Subscriptions」標籤。
-
尋找名為
tmbl0…-trigger的訂閱。這是 C1FSS 創建的訂閱。 -
Open the subscription and note down the subscription name, event types, endpoint type, endpoint, and any filters.
-
將此資訊儲存到易於存取的地方,例如文字檔或工單評論。
C1FSS 事件訂閱詳情
名稱事件類型過濾器端點類型端點tmbl0<uid>-triggerMicrosoft.Storage.BlobCreated,Microsoft.Storage.BlobRenamed無Azure Functiontmbl0<uid>(Blob 監聽器)在更新過程中,您會多次返回此「事件」頁面。在這裡,您可以確認 V1FSS 訂閱是否出現在 C1FSS 訂閱旁邊,並在切換時刪除 C1FSS 訂閱,如果需要回滾,則在此重新建立 C1FSS 訂閱。
注意
如果儲存帳戶沒有tmbl0…-trigger訂閱,C1FSS 不會掃描它。請將該儲存帳戶排除在更新之外。 -
-
Identify the C1FSS resource groups.C1FSS 資源不帶有標籤,因此您需要透過名稱來識別它們。預設的資源群組名稱為
Scanner-TM-FileStorageSecurity和Storage-TM-FileStorageSecurity,但這些名稱是在部署時選擇的,可能已被更改。每個 C1FSS 資源群組中的資源都共享相同的生成的 13 字元後綴,並命名為tm<role>0<suffix>,其中<role>用於識別組件。前往,尋找名稱以tm開頭的資源群組。C1FSS 資源群組
如果包含這是典型預設名稱tmsf0…(函數應用程式),tmsbq0…(Service Bus)掃描器資源群組,每個地區一個掃描器-TM-檔案儲存安全tmbl0…和tmat0…(功能應用程式)儲存資源群組,每個受保護的儲存帳戶一個Storage-TM-檔案存儲安全 -
Confirm that you have the required permissions.您需要在兩個層面上擁有權限,僅有訂閱「擁有者」是不夠的。
-
Microsoft Entra ID (your directory):TrendAI Vision One 會在您的租戶中建立應用程式註冊和服務主體,因此您需要「Application Administrator」角色或同等角色。
-
The Azure subscription:您需要獲得建立資源群組、儲存帳戶、金鑰保存庫、Service Bus 命名空間、函數應用程式、受管理的身分識別,以及事件網格主題和訂閱的許可權,還有角色定義和角色指派的許可權。
您還需要在每個目標區域擁有足夠的配額。最常遇到的限制是彈性高級 App Service 計劃,因為 V1FSS 使用EP1。如需詳細資訊,請參閱 將 File Security 儲存部署到 Azure。
注意
您不需要手動檢查權限和配額。無論選擇哪種更新路徑,步驟1都會執行./deploy.sh preflight,這是一個只讀檢查,會在創建任何內容之前準確報告缺少的項目。 -
更新提升和隔離設定
如果您未找到任何
pqfunction… 儲存帳戶,請跳過此部分。沒有插件的情況下,C1FSS 只標記您的 blob,V1FSS 也是如此。在 C1FSS 中,提升和隔離是獨立的插件,每次掃描儲存帳戶時部署一次,並為每個目的地提供連接字串。在 V1FSS 中,它們被內建到掃描後行動功能應用程式中,並在部署包的
main.tf 文件中的 module "file-storage-security" 區塊中進行配置。先記錄插件設定
對於每個
pqfunction… 儲存體帳戶,開啟相同資源群組中的函數應用程式,前往 ,並記錄以下內容。插件設定以進行記錄
|
設定
|
要記錄什麼
|
PROMOTEMODE |
移動或複製 |
隔離模式 |
移動或複製 |
PROMOTE_STORAGE_CONNECTION_STRING |
只有
AccountName= 部分,即目標帳號名稱 |
QUARANTINE_STORAGE_CONNECTION_STRING |
僅限
AccountName=部分 |
重要這些連接字串包含儲存帳號金鑰。僅複製帳號名稱,切勿將整個值貼到任何地方。
|
空白的連接字串表示該操作已關閉。另請注意每個插件作用於哪個儲存帳戶。它是與插件一起部署的儲存資源群組的掃描儲存帳戶。
在 main.tf 中設定值
在解壓縮的套件中打開
main.tf。雲端 Shell 包含一個編輯器,您可以使用 code main.tf 打開它。找到 module "file-storage-security" 封鎖並設定以下三個值。-
Where blobs go.
# If every protected storage account used the same destination: clean_storage_account = jsonencode({ global = "mycleanaccount" }) quarantine_storage_account = jsonencode({ global = "myquarantineaccount" }) # If destinations differed per storage account: quarantine_storage_account = jsonencode({ custom = { "sourceaccount1" = { destAccount = "quarantineaccount1" } "sourceaccount2" = { destAccount = "quarantineaccount2" } } })如果該操作被關閉,則將變數保留為jsonencode({})。這些數據塊會在原地標記,與之前完全相同。
重要
僅在您保護的每個儲存帳戶都有該操作的插件時使用global。global值適用於所有儲存帳戶,包括任何從未有過插件的儲存帳戶,以及僅在 C1FSS 下標記的那些儲存帳戶。如果您給它們一個目的地,V1FSS 會開始移動它們的 blob。如果只有部分儲存帳戶有插件,請使用custom形式,這只會影響您列出的帳戶。 -
「Where blobs land inside the destination.」 您必須更改此值。
use_source_storage_account_as_container = false
此套件隨附true,這是新部署的正確預設值,但不適用於更新。目標路徑
組態設定設定您資料塊的落地路徑C1FSS 插件<destination>/<source-container>/<blob>V1FSS 與false<destination>/<source-container>/<blob>,與 C1FSS 相同V1FSS 與true<destination>/<source-account>/<source-container>/<blob>,這是不同的如果有任何東西透過路徑讀取您隔離或提升的數據塊,true會在切換時中斷它。 -
「Leave the failure destination empty」,以符合 C1FSS。
failure_storage_account = jsonencode({})C1FSS留下掃瞄失敗的blob。V1FSS可以將它們移動到其他地方,這是一項新功能,但不是您目前的行為。
無法延續的兩種行為
-
「Copy mode.」 如果
PROMOTEMODE或QUARANTINEMODE是copy,C1FSS 會保留原始 blob。在 V1FSS 中,blob 總是被移動:它會將 blob 複製到目的地,然後刪除原始檔案。請確保沒有任何依賴於原始檔案留在來源存儲帳戶。 -
「Destinations in another subscription.」 C1FSS 使用了儲存帳戶金鑰,因此目的地可以是任何地方。V1FSS 使用其自己的受管理身分,範圍限定於此訂閱。如果目的地在不同的訂閱中,請將其移至此訂閱,或在部署後請您的 Azure 管理員授予
v1fss-…-function-identity身分存取權限。
更新後的變更內容是什么
V1FSS 並非 C1FSS 的精確功能對應。請在刪除任何內容之前檢查以下內容。
有何不同
-
「Scan results are always written to both metadata and index tags.」 C1FSS 讓您可以使用
UpdateScanResultToBlobMetadata = No關閉元數據。V1FSS 則不行:每個掃描的 blob 都會獲得fss-索引標籤以及fssScanned、fssScanResult、fssScanDate、fssScanDetailCode和fssScanDetailMessage元數據。如果您在 C1FSS 中關閉了元數據,請在更新之前檢查任何讀取或比較 blob 元數據的內容。 -
「Your Azure bill profile changes」 如果 C1FSS 在消耗計劃上運行。V1FSS 使用始終分配的彈性高級 (
EP1) 計劃,而不是按次執行,這是一個固定的每區域成本,以換取無冷啟動。這是設計使然。 -
「Logs go to a new workspace.」 V1FSS 會建立自己的 Log Analytics 工作區和 Application Insights 實例(
v1fss-<region>-…),而不是使用您提供的。請將任何已儲存的查詢或警示指向新的工作區。 -
Promote and quarantine always move blobs, never copy them.
-
「Scan history stays in Cloud One.」 TrendAI Vision One 在切換時重新開始。在您的雲端 One 租戶被移除之前,請匯出您需要保留的任何內容。
不會延續的項目
-
VNet deployment:不支援 V1FSS,因此請勿更新 VNet 部署。
-
「Reporting object keys to the backend」 (
ReportObjectKey): 在 V1FSS 中無對應項。 -
A custom Event Grid topic name:無害。V1FSS 透過其監控的儲存帳戶找到主題。
您將獲得的內容,以及之後可能想要設定的項目
-
「Blob moving without a separate plugin」,內建於 V1FSS 並只需配置一次,而不是每個儲存帳戶都要配置一次,且無需管理儲存帳戶金鑰。
-
「A destination for failed scans」 (
failure_storage_account)。C1FSS 已將這些 blob 保留在原處。 -
「Detections in TrendAI Vision One XDR」,以及您其他的安全資料。
常見問題
Which update path should I use?
如果您無法暫停掃描,請使用零停機時間。如果可以,請使用短暫停機時間,尤其是在使用 promote-or-quarantine 插件時。該插件是唯一一個重疊會導致實際問題而不僅僅是重複工作的情況。
How long is the brief downtime?
僅限於刪除 C1FSS 事件訂閱與在 TrendAI Vision One 主控台中開啟掃描之間的間隔。兩者都是在主控台中的單一操作,因此通常只需幾分鐘。時間長短取決於您,而不是任何部署步驟。
In the zero-downtime path, why not delete the C1FSS event subscription before validating?
在重疊期間進行驗證會使結果難以歸因,因此您改在從未受保護的存儲帳戶 C1FSS 上進行驗證。該存儲帳戶上沒有重疊,您的測試上傳不會與任何東西競爭,且每個結果都可歸因於
V1FSS。首先刪除 C1FSS 訂閱不會縮短更新時間,因為 V1FSS 已經在兩種順序中啟用。這只會將風險提前:如果 V1FSS 被發現配置錯誤,您會發現您的真實存儲帳戶已經未受保護。您仍然可以在步驟
3 結束時獲得對受保護的存儲帳戶 C1FSS 的端到端確認,這是在 C1FSS 被取消訂閱但其資源被刪除之前。此時歸因是明確的,還原仍然可用。
Which storage accounts does C1FSS actually protect?
開啟您認為受保護的每個儲存帳戶,並檢查中是否有
tmbl0…-trigger條目。這是權威答案:如果訂閱不在那裡,C1FSS就不會掃描該儲存帳戶。Cloud One 控制台的頁面也會列出每個堆疊後面的儲存帳戶。Why are my blobs being scanned twice?
在零停機路徑中,兩個產品在重疊期間都會開啟。這就是該路徑避免停機的方式,當您刪除 C1FSS 事件訂閱時,該路徑將停止。
The deploy.sh script failed. Can I run it again?
是的。該腳本會記錄它在您自己的訂閱中已經完成的操作,而不是在套件中,因此再次運行它會繼續而不是重新開始。修正它報告的問題,然後再次運行相同的命令。
It failed on something about an app registration.
那是 Microsoft Entra ID,不是訂閱。您需要目錄權限:「Application Administrator」 角色或同等角色。如果您沒有這些權限,請詢問您的 Entra ID 管理員。
How do I remove the V1FSS deployment?
在套件目錄中執行
./deploy.sh uninstall。如果此訂閱連接了其他 TrendAI Vision One 功能,請小心,因為該命令會移除套件部署的所有內容,而不僅僅是 File Security Storage。若要僅移除
File Security Storage,請在 TrendAI Vision One 控制台中清除它,下載重新生成的套件,然後再次執行 ./deploy.sh install。Teardown left a system topic behind. Is that a problem?
不,V1FSS需要它。然而,剩餘的
FSS-…自訂角色應該被刪除。沒有任何機制會自動移除它們。Is my region supported?
如果某個地區尚未支援,
./deploy.sh install 會立即失敗並指出該地區。在您從該地區移除 C1FSS 之前,請向 TrendAI 技術支援中心提出問題。Can I do this without Cloud Shell?
是的,從任何安裝了 Bash 5 或更新版本、Azure CLI、
jq 和 Terraform 的機器上,並且已登入正確的訂閱,即可使用。建議使用雲端 Shell,因為它已經具備所有這些工具。請注意,macOS 附帶的 Bash 版本是
3.2,這個版本太舊了。
