[英]“CloudException: … Insufficient read or write permissions on the provided storage account.” when enabling DBServer audit logs in Azure
如何成功將允許訪問Azure StorageAccount的范圍限制為指定的DatabaseServer?
我想在Azure [文檔]中的數據庫服務器上啟用審核日志。 我正在使用Java客戶端,但是,也可以使用REST API復制它。
在Azure中,我有一個數據庫服務器,我正在運行此調用。 我還有一個應該接收日志的StorageAccount。 使用Java客戶端或REST API,我已經給出了指向存儲帳戶的適當參數,並且我總是得到響應:
com.microsoft.azure.CloudException: com.microsoft.azure.CloudException: Async operation failed with provisioning state: Failed: Insufficient read or write permissions on the provided storage account.
在Azure門戶中,在存儲帳戶 - >防火牆規則下, 如果我選擇Allow access from all networks
則一切正常 。
但是,打開對所有網絡的訪問權限太寬,我想限制只訪問數據庫服務器。 我嘗試過以下方法:
Selected networks
下Selected networks
我嘗試選擇DBServer所屬的子網。 這沒有幫助並產生相同的錯誤。 Add IP ranges to allow access from the internet or your on-premises networks
我已直接添加了DB服務器的IP。 這會產生相同的錯誤。 白名單需要什么IP,或者我需要做什么才能使數據庫服務器對StorageAccount具有寫權限?
編輯以獲取更多信息 :
我繼續嘗試讓這個工作。 根據下面的答案,我已將我正在使用的地區的數據中心的每個IP列入白名單。 沒有骰子。 我之前也試圖將VBS列入白名單,DBServer是DBServer的一部分,沒有骰子。
此外,我嘗試手動打開Azure門戶中的審核日志,並為日志輸出分配創建的StorageAccount,但它失敗並顯示以下錯誤:
Failed to save Auditing settings for server: test-p1-server. ErrorMessage: The storage account 'blahblahblah' is behind a firewall or in a virtual network. Please choose a storage account without any firewall rules or virtual network configurations.
此錯誤明確指出我需要一個沒有防火牆且沒有限制的存儲......答案似乎很明顯,關閉了防火牆。 然而,這不是一個選擇,因為安全人員會剝奪我的生命並烘烤我的美味。
也許,您可以將數據中心IP列表列入白名單,並過濾部署SQL數據庫的區域。 通常,IP列表每周更新一次。
另外,如果要將SQL數據庫放在Azure虛擬網絡中,可以考慮使用SQL數據庫托管實例。 查看有關Azure SQL數據庫中托管實例的連接體系結構的詳細信息。 然后,您可以在存儲帳戶中使用VNet限制。
我找到了答案(直接來自Microsoft Azure支持)。
目前,DB / DBServer審核日志不支持已啟用防火牆規則的Azure StorageAccount,因為DBServer無法在StorageAccount的防火牆上列入白名單。
StorageAccount(幕后)具有動態IP,我們不知道並經常更改,因此不能列入白名單。 其他Microsoft服務通過使用“允許受信任的Microsoft服務訪問此存儲帳戶”功能來解決此問題。 但是,審核日志不是受此功能影響的服務之一。
作為參考,以下是允許的服務:允許的服務
更多信息:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.