Öğretici: Azure SQL Veritabanı'da veritabanının güvenliğini sağlama
Şunlar için geçerlidir: Azure SQL Veritabanı
Bu öğreticide şunların nasıl yapıldığını öğrenirsiniz:
- Sunucu düzeyinde ve veritabanı düzeyinde güvenlik duvarı kuralları oluşturma
- Microsoft Entra yöneticisi yapılandırma
- SQL kimlik doğrulaması, Microsoft Entra kimlik doğrulaması ve güvenli bağlantı dizesi ile kullanıcı erişimini yönetme
- SQL için Microsoft Defender, denetim, veri maskeleme ve şifreleme gibi güvenlik özelliklerini etkinleştirme
Not
Microsoft Entra Id daha önce Azure Active Directory (Azure AD) olarak biliniyordu.
Azure SQL Veritabanı, şunları yapmanızı sağlayarak verilerin güvenliğini sağlar:
- Güvenlik duvarı kurallarını kullanarak erişimi sınırlama
- Kimlik gerektiren kimlik doğrulama mekanizmalarını kullanma
- Rol tabanlı üyelikler ve izinlerle yetkilendirme kullanma
- Güvenlik özelliklerini etkinleştirme
Not
Azure SQL Yönetilen Örneği, Azure SQL Yönetilen Örneği ve bağlantı mimarisinde açıklandığı gibi ağ güvenlik kuralları ve özel uç noktalar kullanılarak güvenli hale getirilir.
Daha fazla bilgi edinmek için Azure SQL Veritabanı güvenliğe genel bakış ve özellikler makalelerine bakın.
İpucu
Bu ücretsiz Learn modülü, Azure SQL Veritabanı'da veritabanınızın güvenliğini sağlamayı gösterir.
Önkoşullar
Öğreticiyi tamamlamak için aşağıdaki önkoşullara sahip olduğunuzdan emin olun:
- SQL Server Management Studio
- Sunucu ve tek bir veritabanı
- Bunları Azure portalı, CLI veya PowerShell ile oluşturma
Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.
Azure portalda oturum açma
Öğreticideki tüm adımlar için Azure portalında oturum açın
Güvenlik duvarı kuralları oluşturma
SQL Veritabanı veritabanları Azure'daki güvenlik duvarları tarafından korunur. Varsayılan olarak, sunucu ve veritabanına yapılan tüm bağlantılar reddedilir. Daha fazla bilgi edinmek için bkz . sunucu düzeyinde ve veritabanı düzeyinde güvenlik duvarı kuralları.
En güvenli yapılandırma için Azure hizmetlerine erişime izin ver seçeneğini KAPALI olarak ayarlayın. Ardından, bağlanması gereken kaynak için Azure VM veya bulut hizmeti gibi ayrılmış bir IP (klasik dağıtım) oluşturun ve yalnızca güvenlik duvarı üzerinden bu IP adresi erişimine izin verin. Resource Manager dağıtım modelini kullanıyorsanız, her kaynak için ayrılmış bir genel IP adresi gerekir.
Not
SQL Veritabanı 1433 numaralı bağlantı noktası üzerinden iletişim kurar. Bir şirket ağından bağlanmaya çalışıyorsanız ağınızın güvenlik duvarı tarafından 1433 numaralı bağlantı noktası üzerinden giden trafiğe izin verilmiyor olabilir. Bu durumda, yöneticiniz 1433 numaralı bağlantı noktasını açmadığı sürece sunucuya bağlanamazsınız.
Sunucu düzeyinde güvenlik duvarı kurallarını ayarlama
Sunucu düzeyinde IP güvenlik duvarı kuralları aynı sunucu içindeki tüm veritabanları için geçerlidir.
Sunucu düzeyinde güvenlik duvarı kuralı ayarlamak için:
Azure portalında sol taraftaki menüden SQL veritabanları'nı seçin ve SQL veritabanları sayfasında veritabanınızı seçin.
Not
Öğreticinin devamında kullanmak üzere tam sunucu adınızı (yourserver.database.windows.net gibi) kopyaladığınızdan emin olun.
Ayarlar'ın altında Ağ'ı seçin. Genel Erişim sekmesini seçin ve ardından Güvenlik duvarı kuralları bölümünü görüntülemek için Genel ağ erişimi'nin altında Seçili ağlar'ı seçin.
Geçerli IP adresinizi yeni bir IP güvenlik duvarı kuralına eklemek için araç çubuğunda İstemci IP'sini ekle'yi seçin. IP güvenlik duvarı kuralı, tek bir IP adresi veya ip adresi aralığı için 1433 numaralı bağlantı noktasını açabilir.
Güvenlik duvarı ayarlarınızı kaydetmek için Tamam'ı seçin.
Artık sunucuda belirtilen IP adresine veya IP adresi aralığına sahip herhangi bir veritabanına bağlanabilirsiniz.
Veritabanı güvenlik duvarı kurallarını ayarlama
Veritabanı düzeyinde güvenlik duvarı kuralları yalnızca bağımsız veritabanları için geçerlidir. Veritabanı, sunucu yük devretmesi sırasında bu kuralları korur. Veritabanı düzeyinde güvenlik duvarı kuralları yalnızca Transact-SQL (T-SQL) deyimleri kullanılarak ve yalnızca sunucu düzeyinde bir güvenlik duvarı kuralı yapılandırdıktan sonra yapılandırılabilir.
Veritabanı düzeyinde güvenlik duvarı kuralı ayarlamak için:
Veritabanına bağlanın, örneğin SQL Server Management Studio'yu kullanarak.
Nesne Gezgini'da veritabanına sağ tıklayın ve Yeni Sorgu'yu seçin.
Sorgu penceresinde bu deyimi ekleyin ve IP adresini genel IP adresinize değiştirin:
EXECUTE sp_set_database_firewall_rule N'Example DB Rule','0.0.0.4','0.0.0.4';
Araç çubuğunda Yürüt'e tıklayarak güvenlik duvarı kuralını oluşturun.
Not
Ana veritabanına bağlı olmanız gerekir ancak sp_set_firewall_rule komutunu kullanarak SSMS'de sunucu düzeyinde bir güvenlik duvarı kuralı da oluşturabilirsiniz.
Microsoft Entra yöneticisi oluşturma
Uygun Microsoft Entra Id (eski adıyla Azure Active Directory) yönetilen etki alanını kullandığınızdan emin olun. Etki alanınızı seçmek için Azure portalının sağ üst köşesini kullanın. Bu işlem hem Microsoft Entra Kimliği hem de veritabanınızı veya veri ambarınızı barındıran mantıksal sunucu için aynı aboneliğin kullanıldığını onaylar.
Microsoft Entra yöneticisini ayarlamak için:
Azure portalında, SQL server sayfasında kaynak menüsünden Microsoft Entra Id'yi seçin ve ardından Yöneticiyi ayarla'yı seçerek Microsoft Entra Id bölmesini açın.
Önemli
Bu görevi gerçekleştirmek için "Genel Yönetici" olmanız gerekir.
Microsoft Entra Id bölmesinde Microsoft Entra kullanıcısını veya grubunu arayıp seçin ve Seç'i seçin. Microsoft Entra kuruluşunuzun tüm üyeleri ve grupları listelenir ve microsoft Entra yöneticileri olarak gri gösterilen girdiler desteklenmez.
Önemli
Azure rol tabanlı erişim denetimi (Azure RBAC) yalnızca portal için geçerlidir ve SQL Server'a yayılmaz.
Microsoft Entra yönetici sayfasının üst kısmında Kaydet'i seçin.
Yönetici değiştirme işlemi birkaç dakika sürebilir. Yeni yönetici Microsoft Entra yönetici alanında görünür.
Not
Microsoft Entra yöneticisi ayarlanırken, yeni yönetici adı (kullanıcı veya grup) ana veritabanında oturum açma veya kullanıcı olarak bulunamaz. Varsa, kurulum başarısız olur ve bu tür bir yönetici adının zaten var olduğunu belirten değişiklikleri geri alır. Sunucu oturumu açma veya kullanıcı Microsoft Entra Id'nin bir parçası olmadığından, Microsoft Entra kimlik doğrulamasını kullanarak kullanıcıyı bağlamaya yönelik herhangi bir çaba başarısız olur.
Microsoft Entra Kimliğini yapılandırma hakkında bilgi için bkz:
- Şirket içi kimliklerinizi Microsoft Entra Id ile tümleştirme
- Microsoft Entra Id'ye kendi etki alanı adınızı ekleme
- Microsoft Entra Kimliği ile Federasyon
- Microsoft Entra dizininizi yönetme
- PowerShell kullanarak Microsoft Entra Id'yi yönetme
- Karma kimlik için gerekli bağlantı noktaları ve protokoller
Veritabanı erişimini yönetme
Veritabanına kullanıcı ekleyerek veya güvenli bağlantı dizesi ile kullanıcı erişimine izin vererek veritabanı erişimini yönetin. Bağlantı dizeleri dış uygulamalar için kullanışlıdır. Daha fazla bilgi edinmek için bkz . Oturum açma bilgilerini ve kullanıcı hesaplarını yönetme ve Microsoft Entra kimlik doğrulaması.
Kullanıcı eklemek için veritabanı kimlik doğrulama türünü seçin:
SQL kimlik doğrulaması, oturum açma işlemleri için kullanıcı adı ve parola kullanın ve yalnızca sunucudaki belirli bir veritabanı bağlamında geçerlidir
Microsoft Entra kimlik doğrulaması, Microsoft Entra Id tarafından yönetilen kimlikleri kullanma
SQL kimlik doğrulaması
SQL kimlik doğrulamasına sahip bir kullanıcı eklemek için:
Veritabanına bağlanın, örneğin SQL Server Management Studio'yu kullanarak.
Nesne Gezgini'da veritabanına sağ tıklayın ve Yeni Sorgu'yu seçin.
Sorgu penceresinde aşağıdaki komutu girin:
CREATE USER ApplicationUser WITH PASSWORD = 'YourStrongPassword1';
Kullanıcıyı oluşturmak için araç çubuğunda Yürüt'e tıklayın.
Varsayılan olarak, kullanıcı veritabanına bağlanabilir ancak verileri okuma veya yazma izni yoktur. Bu izinleri vermek için aşağıdaki komutları yeni bir sorgu penceresinde yürütebilirsiniz:
ALTER ROLE db_datareader ADD MEMBER ApplicationUser; ALTER ROLE db_datawriter ADD MEMBER ApplicationUser;
Not
Yeni kullanıcı oluşturma gibi yönetici görevlerini yürütmeleri gerekmediği sürece, veritabanı düzeyinde yönetici olmayan hesaplar oluşturun.
Microsoft Entra doğrulaması
Azure SQL Veritabanı Microsoft Entra sunucu sorumlularını (oturum açma bilgileri) desteklemediğinden, Microsoft Entra hesaplarıyla oluşturulan veritabanı kullanıcıları bağımsız veritabanı kullanıcıları olarak oluşturulur. Kapsanan veritabanı kullanıcısı, aynı ada sahip bir oturum açma master
bilgisi olsa bile veritabanındaki oturum açma bilgileriyle ilişkilendirilmemiştir. Microsoft Entra kimliği tek bir kullanıcı veya grup için olabilir. Daha fazla bilgi için bkz. Kapsanan veritabanı kullanıcıları, veritabanınızı taşınabilir hale getirme ve Microsoft Entra Kimliğini kullanarak kimlik doğrulaması yapma hakkındaki Microsoft Entra öğreticisini gözden geçirin.
Not
Veritabanı kullanıcıları (yöneticiler hariç) Azure portalı kullanılarak oluşturulamaz. Microsoft Entra rolleri SQL sunucularına, veritabanlarına veya veri ambarlarına yayılmaz. Bunlar yalnızca Azure kaynaklarını yönetmek için kullanılır ve veritabanı izinlerine uygulanmaz.
Örneğin, SQL Server Katkıda Bulunanı rolü bir veritabanına veya veri ambarı'na bağlanmak için erişim izni vermez. Bu izin T-SQL deyimleri kullanılarak veritabanında verilmelidir.
Önemli
İki nokta veya :
ve &
işareti gibi özel karakterler, T-SQL CREATE LOGIN
ve CREATE USER
deyimlerindeki kullanıcı adlarında desteklenmez.
Microsoft Entra kimlik doğrulamasına sahip bir kullanıcı eklemek için:
En azından ALTER ANY USER iznine sahip bir Microsoft Entra hesabı kullanarak Azure'daki sunucunuza bağlanın .
Nesne Gezgini'da veritabanına sağ tıklayın ve Yeni Sorgu'yu seçin.
Sorgu penceresinde aşağıdaki komutu girin ve Microsoft Entra kullanıcısının asıl adını veya Microsoft Entra grubunun görünen adını değiştirin
<Azure_AD_principal_name>
:CREATE USER [<Azure_AD_principal_name>] FROM EXTERNAL PROVIDER;
Not
Microsoft Entra kullanıcıları, veritabanı meta verilerinde gruplar için tür E (EXTERNAL_USER)
ve tür X (EXTERNAL_GROUPS)
ile işaretlenir. Daha fazla bilgi için bkz . sys.database_principals.
Güvenli bağlantı dizesi
İstemci uygulaması ile SQL Veritabanı arasında güvenli ve şifreli bir bağlantı sağlamak için, bağlantı dizesi şu şekilde yapılandırılmalıdır:
- Şifreli bağlantı isteme
- Sunucu sertifikasına güvenilmiyor
Bağlantı, Aktarım Katmanı Güvenliği (TLS) kullanılarak kurulur ve ortadaki adam saldırısı riskini azaltır. Bağlantı dizeleri veritabanı başına kullanılabilir ve ADO.NET, JDBC, ODBC ve PHP gibi istemci sürücülerini destekleyecek şekilde önceden yapılandırılmıştır. TLS ve bağlantı hakkında daha fazla bilgi için bkz. TLS konuları.
Güvenli bir bağlantı dizesi kopyalamak için:
Azure portalında sol taraftaki menüden SQL veritabanları'nı seçin ve SQL veritabanları sayfasında veritabanınızı seçin.
Genel Bakış sayfasında Veritabanı bağlantı dizesi göster'i seçin.
Bir sürücü sekmesi seçin ve tüm bağlantı dizesi kopyalayın.
Güvenlik özelliklerini etkinleştirme
Azure SQL Veritabanı, Azure portalı kullanılarak erişilen güvenlik özellikleri sağlar. Bu özellikler, yalnızca veritabanında kullanılabilen veri maskeleme dışında hem veritabanı hem de sunucu için kullanılabilir. Daha fazla bilgi edinmek için bkz . SQL için Microsoft Defender, Denetim, Dinamik veri maskeleme ve Saydam veri şifreleme.
SQL için Microsoft Defender
SQL için Microsoft Defender özelliği olası tehditleri oluştukları anda algılar ve anormal etkinliklerle ilgili güvenlik uyarıları sağlar. Kullanıcılar denetim özelliğini kullanarak bu şüpheli olayları inceleyebilir ve olayın veritabanındaki verilere erişip erişmediğini, verileri ihlal edip etmediğini belirleyebilir. Kullanıcılara güvenlik açığı değerlendirmesi ile veri bulma ve sınıflandırma aracını içeren bir güvenlik genel bakışı da sağlanır.
Not
Örnek bir tehdit, saldırganların uygulama girişlerine kötü amaçlı SQL eklediği bir işlem olan SQL ekleme işlemidir. Daha sonra bir uygulama, farkında olmadan kötü amaçlı SQL'i yürütebilir ve saldırganların veritabanındaki verileri ihlal etmelerine veya değiştirmelerine izin verebilir.
SQL için Microsoft Defender'ı etkinleştirmek için:
Azure portalında sol taraftaki menüden SQL veritabanları'nı seçin ve SQL veritabanları sayfasında veritabanınızı seçin.
Genel Bakış sayfasında Sunucu adı bağlantısını seçin. Sunucu sayfası açılır.
SQL server sayfasında Güvenlik bölümünü bulun ve Bulut için Defender seçin.
Özelliği etkinleştirmek için SQL için Microsoft Defender'ın altında ON'ı seçin. Güvenlik açığı değerlendirmesi sonuçlarını kaydetmek için bir depolama hesabı seçin. Ardından Kaydet'i seçin.
Güvenlik uyarılarını, depolama ayrıntılarını ve tehdit algılama türlerini almak için e-postaları da yapılandırabilirsiniz.
Veritabanınızın SQL veritabanları sayfasına dönün ve Güvenlik bölümünden Bulut için Defender seçin. Burada veritabanı için kullanılabilen çeşitli güvenlik göstergelerini bulacaksınız.
Anormal etkinlikler algılanırsa, etkinlikle ilgili bilgileri içeren bir e-posta alırsınız. Bu, etkinliğin, veritabanının, sunucunun, olay süresinin, olası nedenlerin ve olası tehdidi araştırmak ve azaltmak için önerilen eylemlerin niteliğini içerir. Böyle bir e-posta alınırsa Azure portalını başlatmak ve olay zamanı için ilgili denetim kayıtlarını göstermek için Azure SQL Denetim Günlüğü bağlantısını seçin.
Denetim
Denetim özelliği veritabanı olaylarını izler ve olayları Azure depolama, Azure İzleyici günlüklerinde veya bir olay hub'ında bir denetim günlüğüne yazar. Denetim mevzuatla uyumluluğu korumaya, veritabanı etkinliğini anlamaya ve olası güvenlik ihlallerine işaret edebilecek farklılıklar ve anomaliler hakkında içgörü elde etmeye yardımcı olur.
Denetimi etkinleştirmek için:
Azure portalında sol taraftaki menüden SQL veritabanları'nı seçin ve SQL veritabanları sayfasında veritabanınızı seçin.
Güvenlik bölümünde Denetim'i seçin.
Denetim ayarları'nın altında aşağıdaki değerleri ayarlayın:
Denetim seçeneğini AÇIK olarak ayarlayın.
Aşağıdakilerden biri olarak Denetim günlüğü hedefini seçin:
Depolama, olay günlüklerinin kaydedildiği ve .xel dosyaları olarak indirilebilen bir Azure depolama hesabıdır
İpucu
Denetim raporu şablonlarından en iyi şekilde yararlanmak için tüm denetlenen veritabanları için aynı depolama hesabını kullanın.
Sorgu veya daha fazla analiz için olayları otomatik olarak depolayan Log Analytics
Not
Analiz, özel uyarı kuralları ve Excel veya Power BI dışarı aktarmaları gibi gelişmiş özellikleri desteklemek için Log Analytics çalışma alanı gereklidir. Çalışma alanı olmadan yalnızca sorgu düzenleyicisi kullanılabilir.
Olayların diğer uygulamalarda kullanılmak üzere yönlendirilmesine olanak tanıyan Olay Hub'ı
Kaydet'i seçin.
Artık veritabanı olay verilerini görüntülemek için Denetim günlüklerini görüntüle'yi seçebilirsiniz.
Dinamik veri maskeleme
Veri maskeleme özelliği, veritabanınızdaki hassas verileri otomatik olarak gizler.
Veri maskeleme özelliğini etkinleştirmek için:
Azure portalında sol taraftaki menüden SQL veritabanları'nı seçin ve SQL veritabanları sayfasında veritabanınızı seçin.
Güvenlik bölümünde Dinamik Veri Maskeleme'yi seçin.
Dinamik veri maskeleme ayarları'nın altında Maske ekle'yi seçerek maskeleme kuralı ekleyin. Azure, aralarından seçim yapabileceğiniz kullanılabilir veritabanı şemalarını, tablolarını ve sütunlarını otomatik olarak doldurur.
Kaydet'i seçin. Seçilen bilgiler artık gizlilik için maskelenir.
Saydam veri şifrelemesi
Şifreleme özelliği bekleyen verilerinizi otomatik olarak şifreler ve şifrelenmiş veritabanına erişen uygulamalarda değişiklik yapılmasını gerektirmez. Yeni veritabanları için şifreleme varsayılan olarak açıktır. Verileri SSMS ve Always encrypted özelliğini kullanarak da şifreleyebilirsiniz .
Şifrelemeyi etkinleştirmek veya doğrulamak için:
Azure portalında sol taraftaki menüden SQL veritabanları'nı seçin ve SQL veritabanları sayfasında veritabanınızı seçin.
Güvenlik bölümünde Saydam veri şifreleme'yi seçin.
Gerekirse Veri şifreleme'yi AÇI olarak ayarlayın. Kaydet'i seçin.
Not
Şifreleme durumunu görüntülemek için SSMS kullanarak veritabanına bağlanın ve sys.dm_database_encryption_keys görünümünün sütununu sorgularencryption_state
. durumu 3
, veritabanının şifrelenmesini gösterir.
Not
Tablo adları, nesne adları ve dizin adları gibi müşteri içeriği olarak kabul edilen bazı öğeler Microsoft tarafından destek ve sorun giderme amacıyla günlük dosyalarına aktarılabilir.
İlgili içerik
- Azure SQL Veritabanı ücretsiz deneyin (önizleme)
- Azure SQL Veritabanı'daki yenilikler
- İçerik başvurularını yapılandırma ve yönetme - Azure SQL Veritabanı
- Azure SQL Veritabanı maliyetlerini planlama ve yönetme
İpucu
.NET uygulaması geliştirmeye başlamaya hazır mısınız? Bu ücretsiz Learn modülü, basit bir veritabanı oluşturma dahil olmak üzere bir Azure SQL Veritabanı sorgulayan bir ASP.NET uygulaması geliştirmeyi ve yapılandırmayı gösterir.
Sonraki adım
Coğrafi dağıtımı uygulamayı öğrenmek için sonraki öğreticiye ilerleyin.