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

Bu makale, ayrılmış SQL havuzunuzun (eski adı DW SQL) güvenliğini sağlamanın temellerini size gösterecektir. Özellikle, bu makale ayrılmış SQL havuzu (eski adıyla DW SQL) kullanarak erişimi sınırlama, verileri koruma ve etkinlikleri izlemeye yönelik kaynakları kullanmaya 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ı, açıkça onaylanmamış IP adreslerinden bağlantı girişimlerini reddetmek için hem mantıksal SQL sunucusu hem de veritabanları tarafından kullanılır. Uygulamanızın veya istemci makinenizin genel IP adresinden bağlantılara izin vermek için önce Azure portal, REST API veya PowerShell kullanarak sunucu düzeyinde bir güvenlik duvarı kuralı oluşturmanız gerekir.

En iyi uygulama 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ıyla DW SQL) 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 DW SQL) 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 havuzunuza (eski SQL DW) bağlantılar 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 parolayla ve Azure Active Directory 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. Ana şablonda kullanıcı oluşturmak, bir kullanıcının veritabanı adı belirtmeden SSMS gibi araçları kullanarak oturum açmasına olanak tanır. Ayrıca, 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ıyla DW SQL) 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;

Bir 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ındaki Loginmanager ve dbmanager rollerine atayın.

Bu ek roller ve bir SQL Veritabanı kimlik doğrulaması hakkında daha fazla bilgi için bkz. Azure SQL Veritabanı'de veritabanlarını ve oturum açma bilgilerini yönetme. Azure Active Directory kullanarak bağlanma hakkında daha fazla bilgi için bkz. Azure Active Directory Kimlik Doğrulaması kullanarak bağlanma.

Yetkilendirme

Yetkilendirme, kimliği doğrulanıp bağlandıktan sonra veritabanında neler yapabileceğinizi ifade eder. Yetkilendirme ayrıcalıkları rol üyelikleri ve izinler tarafından 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.

Bir 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 gerekli olandan 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ı şemaya okuma erişimi verir.

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

Veritabanlarını ve sunucuları Azure portal veya Azure Resource Manager API'sini kullanarak yönetmek, portal kullanıcı hesabınızın rol atamaları tarafından denetlenmektedir. Daha fazla bilgi 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 değişiklik yapmanıza gerek kalmadan ş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ı tarafından 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.

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

Sonraki adımlar

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