Azure Synapse Analytics'te ayrılmış sql havuzunun (eski adı SQL DW) güvenliğini sağlama

Bu makale, ayrılmış SQL havuzunuzun (eski adı SQL DW) güvenliğini sağlamanın temellerini size gösterecektir. Bu makale özellikle erişimi sınırlama, verileri koruma ve ayrılmış SQL havuzu (eski adı SQL DW) kullanarak etkinlikleri izleme kaynaklarıyla çalışmaya başlamanızı sağlar.

Bağlantı güvenliği

Bağlantı Güvenliği, veritabanı bağlantılarını güvenlik duvarı kuralları ve bağlantı şifrelemesi kullanarak kısıtlamayı ve bu bağlantıların güvenliğini sağlamayı kapsar.

Güvenlik duvarı kuralları hem mantıksal SQL sunucusu hem de veritabanları tarafından açıkça onaylanmamış IP adreslerinden gelen bağlantı girişimlerini reddetmek için kullanılır. Uygulamanızın veya istemci makinenizin genel IP adresinden bağlantılara izin vermek için önce Azure portalını, REST API'yi veya PowerShell'i kullanarak sunucu düzeyinde bir güvenlik duvarı kuralı oluşturmanız gerekir.

En iyi yöntem olarak, sunucu düzeyinde güvenlik duvarınız üzerinden izin verilen IP adresi aralıklarını mümkün olduğunca kısıtlamanız gerekir. Yerel bilgisayarınızdan ayrılmış SQL havuzunuza (eski adı SQL DW) erişmek için, ağınızdaki ve yerel bilgisayarınızdaki güvenlik duvarının 1433 numaralı TCP bağlantı noktasında giden iletişime izin verdiğinden emin olun.

Ayrılmış SQL havuzu (eski adıYLA SQL DW), sunucu düzeyinde IP güvenlik duvarı kurallarını kullanır. Veritabanı düzeyinde IP güvenlik duvarı kurallarını desteklemez. Daha fazla bilgi için bkz. güvenlik duvarı kurallarını Azure SQL Veritabanı

Ayrılmış SQL havuzunuzun (eski adı SQL DW) Bağlan varsayılan olarak şifrelenir. Şifrelemeyi devre dışı bırakmak için bağlantı ayarlarının değiştirilmesi yoksayılır.

Kimlik Doğrulaması

Kimlik doğrulaması, veritabanına bağlanırken kimliğinizi nasıl kanıtlayacağınızı belirtir. Ayrılmış SQL havuzu (eski adı SQL DW), şu anda kullanıcı adı ve parola ile ve Microsoft Entra Id ile SQL Server Kimlik Doğrulamasını destekler.

Veritabanınız için sunucuyu oluşturduğunuzda, kullanıcı adı ve parolayla bir "sunucu yöneticisi" oturum açma bilgisi belirttiniz. Bu kimlik bilgilerini kullanarak, bu sunucudaki herhangi bir veritabanında veritabanı sahibi olarak veya SQL Server Kimlik Doğrulaması aracılığıyla "dbo" kimlik doğrulaması yapabilirsiniz.

Ancak, en iyi uygulama olarak, kuruluşunuzun kullanıcıları kimlik doğrulaması için farklı bir hesap kullanmalıdır. Bu şekilde uygulamaya verilen izinleri sınırlandırabilir ve uygulama kodunuzun SQL ekleme saldırısına karşı savunmasız olması durumunda kötü amaçlı etkinlik risklerini azaltabilirsiniz.

SQL Server Kimliği Doğrulanmış kullanıcı oluşturmak için sunucu yöneticinizin oturum açma bilgileriyle sunucunuzdaki ana veritabanına bağlanın ve yeni bir sunucu oturumu oluşturun. Ana veritabanında bir kullanıcı da oluşturmak iyi bir fikirdir. Asıl kullanıcı oluşturma, bir kullanıcının veritabanı adı belirtmeden SSMS gibi araçları kullanarak oturum açmasına olanak tanır. Ayrıca bir sunucudaki tüm veritabanlarını görüntülemek için nesne gezginini kullanmalarına da olanak tanır.

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

Ardından, sunucu yöneticisi oturum açma bilgilerinizle ayrılmış SQL havuzunuza (eski adı SQL DW) bağlanın ve oluşturduğunuz sunucu oturum açma bilgilerini temel alan bir veritabanı kullanıcısı oluşturun.

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

Kullanıcıya oturum açma bilgileri oluşturma veya yeni veritabanları oluşturma gibi ek işlemler gerçekleştirme izni vermek için kullanıcıyı ana veritabanında ve Loginmanagerdbmanager rollerine atayın.

Bu ek roller hakkında daha fazla bilgi edinmek ve bir SQL Veritabanı kimlik doğrulaması yapmak için bkz. Azure SQL Veritabanı'de veritabanlarını ve oturum açma bilgilerini yönetme. Microsoft Entra Id kullanarak bağlanma hakkında daha fazla bilgi için bkz. Microsoft Entra kimlik doğrulamasını kullanarak Bağlan.

Yetkilendirme

Yetkilendirme, kimliğiniz doğrulanıp bağlandıktan sonra veritabanında neler yapabileceğinizi ifade eder. Yetkilendirme ayrıcalıkları rol üyelikleri ve izinlerine göre belirlenir. En iyi uygulama olarak, kullanıcılarınıza gerekli olan en düşük ayrıcalıkları tanımanız gerekir. Rolleri yönetmek için aşağıdaki saklı yordamları kullanabilirsiniz:

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

Bağlantı kurmak için kullandığınız sunucu yöneticisi hesabı, veritabanında tüm işlemleri gerçekleştirme yetkisi olan db_owner rolünün üyesidir. Bu hesabı şema yükseltmeleri ve diğer yönetimsel işlemlerde kullanmak üzere saklayın. Uygulamanızdan veritabanına, uygulamanızın ihtiyaç duyduğu en düşük ayrıcalıklarla bağlanmak için daha sınırlı izinlere sahip olan "ApplicationUser" hesabını kullanın.

Kullanıcının veritabanında yapabileceklerini daha fazla sınırlamanın yolları vardır:

  • Ayrıntılı İzinler, tek tek sütunlar, tablolar, görünümler , şemalar, yordamlar ve veritabanındaki diğer nesneler üzerinde hangi işlemleri yapabileceğinizi denetlemenize olanak sağlar. En fazla denetime sahip olmak ve gerekli minimum izinleri vermek için ayrıntılı izinleri kullanın.
  • db_datareader ve db_datawriter dışındaki veritabanı rolleri , daha güçlü uygulama kullanıcı hesapları veya daha az güçlü yönetim hesapları oluşturmak için kullanılabilir. Yerleşik sabit veritabanı rolleri izin vermek için kolay bir yol sağlar, ancak gerekenden daha fazla izin verilmesine neden olabilir.
  • Saklı yordamlar ile veritabanında gerçekleştirilebilecek eylemler sınırlandırılabilir.

Aşağıdaki örnek, kullanıcı tanımlı bir şemaya okuma erişimi verir.

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

Veritabanlarını ve sunucuları Azure portalından yönetme veya Azure Resource Manager API'sini kullanma, portal kullanıcı hesabınızın rol atamaları tarafından denetlenmektedir. Daha fazla bilgi edinmek için bkz. Azure portal kullanarak Azure rolleri atama.

Şifreleme

Saydam Veri Şifrelemesi (TDE), bekleyen verilerinizi şifreleyerek ve şifresini çözerek kötü amaçlı etkinlik tehdidine karşı korumaya yardımcı olur. Veritabanınızı şifrelediğinizde, ilişkili yedeklemeler ve işlem günlüğü dosyaları uygulamalarınızda herhangi bir değişiklik gerektirmeden şifrelenir. Saydam Veri Şifrelemesi, veritabanı şifreleme anahtarı olarak adlandırılan bir simetrik anahtarı kullanarak veritabanı depolama alanının tamamını şifreler.

SQL Veritabanı'de, veritabanı şifreleme anahtarı yerleşik bir sunucu sertifikasıyla korunur. Yerleşik sunucu sertifikası her sunucu için benzersizdir. Microsoft bu sertifikaları en az 90 günde bir otomatik olarak döndürür. Kullanılan şifreleme algoritması AES-256'dır. TDE'nin genel açıklaması için bkz. Saydam Veri Şifrelemesi.

Azure portalını veya T-SQL'i kullanarak veritabanınızı şifreleyebilirsiniz.

Sonraki adımlar

Farklı protokollerle ambarınıza bağlanmayla ilgili ayrıntılar ve örnekler için bkz. Ayrılmış SQL havuzuna (eski adı SQL DW) Bağlan.