探索驗證方法
Azure SQL Database 的存取受到登入及防火牆的保護。 Azure SQL Database 支援使用 Microsoft Entra ID (先前稱為 Azure Active Directory) 進行 SQL 驗證與驗證的使用者和登入。
SQL 驗證是一種傳統方法,其中認證會直接儲存在 SQL 資料庫中。 另一方面,Microsoft Entra ID 可讓使用者使用他們用於其他 Microsoft 服務的相同認證進行登入,例如 Azure 入口網站或Microsoft 365,以提供順暢且統一的登入體驗。
注意
使用 SQL Server 登入時,登入名稱與加密密碼都會透過網路傳輸,這會降低其安全性。
Microsoft Entra 驗證
身分識別平台的重要功能是要在登入裝置、應用程式或服務時驗證使用者認證。 Microsoft Entra ID 不僅僅超越了僅驗證使用者名稱和密碼,還透過結合數個元件來增強安全性,並降低對技術支援中心的依賴。 這些元件包括自助式密碼重設、多重要素驗證、用於同步處理密碼變更和在內部部署環境中強制執行密碼保護原則的混合式整合,以及傳遞驗證。
設定 Microsoft Entra 帳戶驗證
每個裝載 SQL Database 的 Azure 邏輯伺服器都會以單一伺服器系統管理員帳戶開始。 此帳戶是主資料庫中的受限資料庫使用者,並且在每個用戶資料庫中都是 db_owner 角色 的一部分。 不過,我們建議以額外的系統管理員身分建立 Microsoft Entra 使用者,以增強安全性並簡化使用者管理。
搭配異地復寫使用 Microsoft Entra ID 時,您必須為主要和次要 SQL 伺服器設定 Microsoft Entra 系統管理員。 若沒有此設定,Microsoft Entra 登入和使用者會遇到連線錯誤。
您可以瀏覽至 Azure 入口網站上的 SQL Server 頁面,為 Azure SQL Database 設定 Microsoft Entra 管理員。 此頁面提供集中式位置來管理 SQL Server 的各個層面,包括安全性設定。
為 Azure SQL Database 佈建 Microsoft Entra 管理員之後,您可以使用 CREATE LOGIN 語法開始建立 Microsoft Entra 伺服器主體 (登入)。
多重要素驗證 (MFA)
Microsoft Entra 多重要素驗證 可藉由要求使用者提供兩個以上的驗證因素,例如密碼、智慧型手機或生物特徵辨識數據,來增強安全性。 這個額外的保護層有助於保護資料和應用程式的存取,同時確保簡單的登入程序,並大幅降低未經授權的存取風險。
提供正確的使用者名稱和密碼之後,使用者必須完成額外的驗證步驟,例如回應推播通知,或從 Microsoft Authenticator 應用程式輸入存取碼。 此程序可確保即使使用者的主要認證遭到入侵,仍會防止未經授權的存取,因而改善資料庫的安全性。
若要深入瞭解Microsoft Entra ID 中可用的驗證和驗證方法,請參閱 Microsoft Entra ID 中有哪些驗證和驗證方法?。
使用 Microsoft Entra 驗證連線到 Azure SQL Database
Microsoft Entra 驗證使用 Microsoft Entra ID 中的身分識別來存取資料來源,例如 Azure SQL Database、Azure SQL 受控執行個體及 Azure Synapse Analytics。 Microsoft.Data.SqlClient 命名空間可讓用戶端應用程式在連線到這些資料庫時,以各種驗證模式指定 Microsoft entra 認證。 若要使用 Microsoft Entra 驗證,您必須在 Azure SQL 中設定和管理它。
當您在連接字串中設定 Authentication 連線屬性時,用戶端可選擇其慣用的 Microsoft Entra 驗證模式。
- 密碼驗證:
Active Directory Password驗證模式可讓原生或同盟Microsoft Entra 使用者使用 Microsoft Entra 標識符向 Azure 數據源進行驗證。 在此模式中,使用者認證必須包含在連接字串中。Server=myserver.database.windows.net;Authentication=Active Directory Password; Encrypt=True; Database=mydb;User Id=user@domain.com; Password=***"; - 整合式驗證: 若要使用
Active Directory Integrated驗證模式,您需要一個內部部署的 Active Directory 實例,並將其連接到雲端中的 Microsoft Entra ID。 登入已加入網域的機器時,您可以存取 Azure SQL 資料來源,而不需提示輸入認證。 對於 .NET Framework 應用程式,您無法在連接字串中指定使用者名稱和密碼。 對於 .NET Core 和 .NET Standard 應用程式,使用者名稱是選擇性的。Server=myserver.database.windows.net;Authentication=Active Directory Integrated; Encrypt=True; Database=mydb;"; - 服務主體驗證: 在
Active Directory Service Principal驗證模式中,用戶端應用程式會使用服務主體的用戶端標識碼和秘密連線到 Azure SQL 數據源。Server=myserver.database.windows.net;Authentication=Active Directory Service Principal; Encrypt=True;Database=mydb; User Id=AppId; Password=secret"
如需其他驗證選項的詳細資訊,請參閱 使用 Microsoft Entra 驗證和 SqlClient 連線到 Azure SQL。