Azure SQL Database 與 SQL 受控執行個體安全性功能的概觀
本文內容
網路安全性
存取管理
授權
威脅保護
資訊保護和加密
安全性管理
下一步
顯示其他 3 個
適用於: Azure SQL 資料庫 Azure SQL 受控執行個體 Azure Synapse Analytics
本文概述使用 Azure SQL Database 、Azure SQL 受控執行個體 和 Azure Synapse Analytics 來保護應用程式資料層的基本資訊。 所述的安全性策略會遵循下圖所示的多層式深度防禦方法,並從外部移入:
Azure SQL Database、Azure SQL 受控執行個體和 Azure Synapse Analytics 為雲端和企業應用程式提供關聯式資料庫服務。 為協助保護客戶資料,在根據 IP 位址或 Azure 虛擬網路流量的來源明確授與存取權前,防火牆會防止伺服器存取網路。
IP 防火牆規則會根據每個要求的來源 IP 位址授與資料庫存取權。 如需詳細資訊,請參閱 Azure SQL Database 和 Azure Synapse Analytics 防火牆規則概觀 。
虛擬網路服務端點 會透過 Azure 骨幹擴充您的虛擬網路連線能力,並且讓 Azure SQL Database 找出流量源自的虛擬網路子網路。 若要允許流量觸達 Azure SQL Database,請使用 SQL服務標籤 ,允許透過網路安全性群組輸出流量。
虛擬網路規則 可讓 Azure SQL Database 只接受虛擬網路內所選子網路傳來的通訊。
注意
防火牆規則的存取控制不 適用於 SQL 受控執行個體 。 如需所需網路組態的詳細資訊,請參閱連線到受控執行個體
驗證是證明使用者宣告身分的程序。 SQL Database 和 SQL 受控執行個體支援 SQL 驗證和使用 Microsoft Entra ID (先前稱為 Azure Active Directory ) 的驗證。 SQL 受控執行個體還支援適用於 Microsoft Entra 主體的 Windows 驗證 。
授權是指資料庫內的資源和命令控制存取權。 授權方式是將權限指派給 Azure SQL Database 或 Azure SQL 受控執行個體中資料庫內的使用者。 管理權限的理想方式是將使用者帳戶新增至資料庫角色 ,並將資料庫層級的權限指派給這些角色。 或者也可授與個別使用者特定的物件層級權限 。 如需詳細資訊,請參閱登入與使用者
最佳做法是在需要時建立自訂角色。 將使用者新增至具備執行工作職責所需最低權限的角色。 請勿將權限直接指派給使用者。 伺服器系統管理員帳戶是內建 db_owner 角色的成員,具備的權限較廣,且僅應授與具系統管理責任的少數使用者。 若要進一步限制使用者可執行的動作範圍,則可使用 EXECUTE AS 指定所呼叫模組的執行內容。 遵循這些最佳作法也是職責區分的基本步驟。
資料列層級安全性可讓客戶根據執行查詢的使用者特性 (例如群組成員資格或執行內容),來控制對資料庫資料表中資料列的存取。 資料列層級的安全性也可用於執行自訂的標籤式安全性概念。 如需詳細資訊,請參閱資料列層級安全性 。
SQL Database 和 SQL 受控執行個體可提供稽核和威脅偵測功能,以保護客戶資料。
Azure 監視器記錄和事件中樞中的 SQL 審核
SQL Database 和 SQL 受控執行個體稽核會將資料庫事件記錄到客戶自有 Azure 儲存體帳戶中的稽核記錄,藉此追蹤資料庫活動並協助維護安全性標準的合規性。 稽核可讓使用者監視進行中的資料庫活動,以及分析和調查歷史活動,以找出潛在威脅或可疑的濫用和安全性違規。 如需詳細資訊,請參閱開始使用 Azure Database 稽核 。
進階威脅防護可分析您的記錄,以偵測不尋常的行為、可能有害的存取或惡意探索資料庫等嘗試。 系統會建立可疑活動警示,例如:SQL 插入、潛在資料滲透及暴力密碼破解攻擊,或存取模式發生異常等,以便攔截提升權限、入侵使用認證等情況。 警示可從適用於雲端的 Microsoft Defender 中檢視,其中會提供可疑活動的詳細資料、進一步調查的建議,以及減輕威脅的動作。 進階威脅防護可針對各伺服器啟用,並產生額外費用。 如需詳細資訊,請參閱開始使用 SQL Database 進階威脅防護 。
SQL Database、SQL 受控執行個體和 Azure Synapse Analytics 會使用傳輸層安全性 (TLS) 來加密移運行中資料,以保護客戶資料。
SQL Database、SQL 受控執行個體和 Azure Synapse Analytics 一律會針對所有連線強制執行加密 (SSL/TLS)。 這可確保不論連接字串中的 Encrypt 或 TrustServerCertificate 設定如何,在用戶端與伺服器間「傳輸中」的所有資料皆會加密。
建議的最佳做法是在應用程式所用的連接字串中指定加密連線,而不是 信任伺服器憑證。 這會強制讓應用程式驗證伺服器憑證,因而防範應用程式易於遭受中間人攻擊。
例如,使用 ADO.NET 驅動程式時,則是透過 Encrypt=True 和 TrustServerCertificate=False 來執行。 如果您從 Azure 入口網站取得連接字串,則它將具有正確的設定。
重要
請注意,某些非 Microsoft 驅動程式依預設可能不會使用 TLS,或得依賴舊版的 TLS (<1.2) 才能運作。 在此情況下,伺服器仍會允許連接至資料庫。 但建議您評估允許這類驅動程式和應用程式連接至 SQL Database 的安全性風險,特別是儲存敏感性資料時。
如需 TLS 和連線能力的相關資訊,請參閱 TLS 考量
SQL Database、SQL 受控執行個體和 Azure Synapse Analytics 的透明資料加密 (TDE) 會新增一層安全性來協助保護待用資料,以免原始檔案或備份遭到未經授權或離線存取。 常見的案例包括資料中心遭竊或不安全的硬體或媒體 (例如磁碟機和備份磁帶) 處置方式。 TDE 會使用 AES 加密演算法將整個資料庫加密,應用程式開發人員不需對現有的應用程式進行任何變更。
在 Azure 中,預設會加密新建立的資料庫,並以內建伺服器憑證保護資料庫加密金鑰。 憑證維護和輪替是由服務管理,使用者不需要輸入任何資料。 想要掌控加密金鑰的客戶可以在 Azure Key Vault 中管理金鑰。
透明資料加密 (TDE) 的攜帶您自己的金鑰 (BYOK) 支援可讓客戶使用 Azure Key Vault (Azure 的雲端式外部金鑰管理系統),取得金鑰管理與輪替的擁有權。 如果撤銷了資料庫對金鑰保存庫的存取權,資料庫即無法解密並讀取到記憶體中。 Azure Key Vault 可提供集中金鑰管理平台、使用嚴密監控的硬體安全性模組 (HSM),並可區分管理金鑰和資料的職責,以利符合安全性合規性需求。
Always Encrypted 功能的設計訴求是,保護特定資料庫資料行中儲存的敏感性資料以防存取 (例如,信用卡號碼、身分證號碼,或「必須知道」 的資料)。 這包括資料庫管理員或其他特殊權限的使用者,該使用者經授權存取資料庫以執行管理工作,但沒有存取已加密資料行中特定資料的商務需求。 資料一律會加密,這表示加密的資料會解密,僅供可存取加密金鑰的用戶端應用程式進行處理。 加密金鑰一律不向 SQL Database 或 SQL Database 受控執行個體公開,且可存放於 Windows 憑證存放區 或 Azure Key Vault 。
動態資料遮罩會對不具權限的使用者遮罩機密資料,從而限制其曝光。 動態資料遮罩會自動探索 Azure SQL Database 和 SQL 受控執行個體中可能的敏感性資料,並提供為這些欄位加上遮罩的可行建議,盡量避免影響應用程式層。 其運作方式為針對指定的資料庫欄位隱匿查詢結果集中的敏感性資料,而不變更資料庫中的資料。 如需詳細資訊,請參閱開始使用 SQL Database 和 SQL 受控執行個體動態資料遮罩 。
弱點評量 是容易設定的服務,可探索、追蹤及協助修復潛在的資料庫弱點,其目標在於主動改善整體資料庫安全性。 弱點評定 (VA) 屬於適用於 SQL 的 Microsoft Defender 供應項目,是進階 SQL 安全性功能的整合套件。 您可以透過適用於 SQL 的 Microsoft Defender 中央入口網站,來存取和管理弱點評定。
資料探索與分類 (目前處於預覽階段) 提供 Azure SQL Database 和 SQL 受控執行個體中內建的基本功能,可用於探索、分類和標記您資料庫中的敏感性資料。 探索與分類您最具敏感性的資料 (商業/財務、醫療保健、個人資料等),可在您組織的資訊保護方面扮演著關鍵角色。 它可以作為以下的基礎結構:
各種安全性案例,例如針對敏感性資料異常存取的監視 (稽核) 及警示。
對包含高度敏感性資料的資料庫進行存取控制並強化安全性。
協助符合資料隱私標準和法規合規性需求。
如需詳細資訊,請參閱開始使用資料探索與分類 。
除了上述可協助您的應用程式符合各種安全性需求的特色和功能之外,Azure SQL Database 也定期參與稽核,並且經過認證符合許多法規標準。 如需詳細資訊,請參閱 Microsoft Azure 信任中心 ,您可以在當中找到 SQL Database 合規性認證的最新清單。
如需了解在 SQL Database 和 SQL 受控執行個體中使用登入、使用者帳戶、資料庫角色和權限的相關討論,請參閱管理登入和使用者帳戶 。
如需了解資料庫稽核的相關討論,請參閱稽核 。
如需了解威脅偵測的相關討論,請參閱威脅偵測 。