分享方式:


保護 Azure Synapse Analytics 中的專用 SQL 集區 (先前稱為 SQL DW)

本文將逐步引導您了解保護專用 SQL 集區 (先前稱為 SQL DW) 的基本概念。 特別是,本文可讓您開始使用資源來限制存取、保護數據,以及使用專用 SQL 集區監視活動(先前稱為 SQL DW)。

連線安全性

連線 ion Security 是指如何使用防火牆規則和聯機加密來限制和保護資料庫的連線。

邏輯 SQL 伺服器及其資料庫都會使用防火牆規則,拒絕尚未明確核准之 IP 位址的連線嘗試。 若要允許來自應用程式或用戶端電腦的公用IP位址的連線,您必須先使用 Azure 入口網站、REST API或PowerShell建立伺服器層級防火牆規則。

最佳做法是,您應該盡可能限制透過伺服器層級防火牆允許的IP位址範圍。 若要從本機計算機存取專用 SQL 集區(先前稱為 SQL DW),請確定您網路上的防火牆和本機電腦允許 TCP 連接埠 1433 上的傳出通訊。

專用 SQL 集區(先前稱為 SQL DW)使用伺服器層級 IP 防火牆規則。 而不支援資料庫層級的 IP 防火牆規則。 如需詳細資訊,請參閱 Azure SQL 資料庫 防火牆規則

專用 SQL 集區(先前稱為 SQL DW)的 連線 預設會加密。 系統會忽略修改連線設定以停用加密。

驗證

驗證是指您在連線到資料庫時如何證明您的身分識別。 專用 SQL 集區(先前稱為 SQL DW)目前支援使用使用者名稱和密碼以及 Microsoft Entra ID 的 SQL Server 驗證。

當您為資料庫建立伺服器時,您使用使用者名稱和密碼指定了「伺服器管理員」登入。 使用這些認證,您可以將該伺服器上的任何資料庫驗證為資料庫擁有者,或透過 SQL Server 驗證的 「dbo」。

不過,最佳做法是,貴組織的用戶應該使用不同的帳戶進行驗證。 如此一來,您可以限制授與應用程式的許可權,並降低惡意活動的風險,以防應用程式程式碼容易受到 SQL 插入式攻擊。

若要建立 SQL Server 已驗證的使用者,請使用伺服器管理員登入連線到 您伺服器上的 master 資料庫,並建立新的伺服器登入。 最好也要在 master 資料庫中建立使用者。 在 master 中建立使用者可讓使用者使用 SSMS 之類的工具登入,而不需指定資料庫名稱。 它也允許他們使用物件總管來檢視伺服器上的所有資料庫。

-- Connect to master database and create a login
CREATE LOGIN ApplicationLogin WITH PASSWORD = 'Str0ng_password';
CREATE USER ApplicationUser FOR LOGIN ApplicationLogin;

然後,使用您的伺服器管理員登入連線到您的 專用 SQL 集區(先前稱為 SQL DW), 並根據您建立的伺服器登入建立資料庫使用者。

-- Connect to the database and create a database user
CREATE USER ApplicationUser FOR LOGIN ApplicationLogin;

若要授與使用者執行其他作業的許可權,例如建立登入或建立新的資料庫,請將使用者指派給 master 資料庫中的 Loginmanagerdbmanager 角色。

如需這些其他角色和向 SQL 資料庫 驗證的詳細資訊,請參閱管理 Azure SQL 資料庫 中的資料庫和登入。 如需使用 Microsoft Entra 識別符連線的詳細資訊,請參閱使用 Microsoft Entra 驗證 連線。

授權

授權是指在驗證和連線之後,您可以在資料庫內執行的動作。 授權許可權取決於角色成員資格和許可權。 最好的作法是,您應該授與使用者所需的最低權限。 若要管理角色,您可以使用下列預存程式:

EXEC sp_addrolemember 'db_datareader', 'ApplicationUser'; -- allows ApplicationUser to read data
EXEC sp_addrolemember 'db_datawriter', 'ApplicationUser'; -- allows ApplicationUser to write data

您所連線的伺服器管理帳戶是 db_owner 的成員,其有權在資料庫內執行任何動作。 儲存此帳戶以部署架構升級和其他管理作業。 使用具有更有限許可權的 「ApplicationUser」 帳戶,以應用程式所需的最低許可權從應用程式連線到資料庫。

有一些方法可以進一步限制使用者可以在資料庫內執行的動作:

  • 細微 許可權 可讓您控制您可以在資料庫中個別數據行、數據表、檢視表、架構、程式和其他物件上執行的作業。 使用細微許可權來擁有最多控制權,並授與所需的最低許可權。
  • db_datareader和db_datawriter以外的資料庫角色 可用來建立功能更強大的應用程式用戶帳戶或較不強大的管理帳戶。 內建固定資料庫角色提供授與許可權的簡單方式,但可能會導致授與超過必要許可權。
  • 預存程序 可用來限制對資料庫可採取的動作。

下列範例會授與使用者定義架構的讀取許可權。

--CREATE SCHEMA Test
GRANT SELECT ON SCHEMA::Test to ApplicationUser

從 Azure 入口網站 或使用 Azure Resource Manager API 管理資料庫和伺服器是由入口網站用戶帳戶的角色指派所控制。 如需詳細資訊,請參閱使用 Azure 入口網站指派 Azure 角色

加密

透明資料加密 (TDE) 藉由加密和解密待用數據,協助防範惡意活動的威脅。 當您加密資料庫時,相關聯的備份和事務歷史記錄檔會加密,而不需要對應用程式進行任何變更。 TDE 會使用稱為資料庫加密金鑰的對稱金鑰來加密整個資料庫的儲存體。

在 SQL 資料庫 中,資料庫加密密鑰會受到內建伺服器證書的保護。 每部伺服器內建的伺服器證書都是唯一的。 Microsoft 會每隔 90 天自動輪替這些憑證。 所使用的加密演算法是 AES-256。 如需 TDE 的一般描述,請參閱 透明資料加密

您可以使用 Azure 入口網站 或 T-SQL 來加密資料庫

下一步

如需使用不同通訊協定連線至倉儲的詳細數據和範例,請參閱 連線 專用 SQL 集區(先前稱為 SQL DW)。