Öğretici: Azure SQL Veritabanında 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
  • Azure Active Directory (Azure AD) yöneticisi yapılandırma
  • SQL kimlik doğrulaması, Azure AD kimlik doğrulaması ve güvenli bağlantı dizeleriyle kullanıcı erişimini yönetme
  • SQL için Microsoft Defender, denetim, veri maskeleme ve şifreleme gibi güvenlik özelliklerini etkinleştirme

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ğine genel bakış ve özellikler makalelerine bakın.

İpucu

Bu ücretsiz Learn modülü, Azure SQL Veritabanı'nda 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:

Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.

Azure portalında oturum açın

Öğreticideki tüm adımlar için Azure portal

Güvenlik duvarı kuralları oluşturma

SQL Veritabanı'deki 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, Azure VM veya bulut hizmeti gibi bağlanması gereken kaynak için ayrılmış bir IP (klasik dağıtım) oluşturun ve yalnızca güvenlik duvarı üzerinden bu IP adresine erişime 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. Şirket ağı içinden 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:

  1. Azure portal sol taraftaki menüden SQL veritabanları'nı seçin ve SQL veritabanları sayfasında veritabanınızı seçin.

    sunucu güvenlik duvarı kuralı

    Not

    Öğreticinin devamında kullanmak üzere tam sunucu adınızı ( yourserver.database.windows.net gibi) kopyaladığınızdan emin olun.

  2. Genel Bakış sayfasında Sunucu güvenlik duvarı ayarla'yı seçin. Sunucunun Güvenlik Duvarı ayarları sayfası açılır.

    1. Geçerli IP adresinizi yeni bir güvenlik duvarı kuralına eklemek için araç çubuğunda İstemci IP'sini ekle'yi seçin. Kural, tek bir IP adresi veya ip adresi aralığı için 1433 numaralı bağlantı noktasını açabilir. Kaydet’i seçin.

      sunucu güvenlik duvarı kuralı ayarla

    2. Tamam'ı seçin ve Güvenlik duvarı ayarları sayfasını kapatın.

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 tek tek 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:

  1. Örneğin SQL Server Management Studio kullanarak veritabanına bağlanın.

  2. Nesne Gezgini'da veritabanına sağ tıklayın ve Yeni Sorgu'yu seçin.

  3. Sorgu penceresinde bu deyimi ekleyin ve IP adresini genel IP adresinizle değiştirin:

    EXECUTE sp_set_database_firewall_rule N'Example DB Rule','0.0.0.4','0.0.0.4';
    
  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 gerekse de sp_set_firewall_rule komutunu kullanarak SSMS'de sunucu düzeyinde bir güvenlik duvarı kuralı da oluşturabilirsiniz.

Azure AD yöneticisi oluşturma

Uygun Azure Active Directory (AD) yönetilen etki alanını kullandığınızdan emin olun. AD etki alanını seçmek için Azure portal sağ üst köşesini kullanın. Bu işlem hem Azure AD hem de veritabanınızı veya veri ambarınızı barındıran mantıksal SQL sunucusu için aynı aboneliğin kullanıldığını onaylar.

choose-ad

Azure AD yöneticisini ayarlamak için:

  1. Azure portal, SQL server sayfasında Active Directory yöneticisi'ni seçin. Ardından Yönetici ayarla'yı seçin.

    active directory seçme

    Önemli

    Bu görevi gerçekleştirmek için "Genel Yönetici" olmanız gerekir.

  2. Yönetici ekle sayfasında AD kullanıcısını veya grubunu arayıp seçin ve Seç'i seçin. Active Directory'nizin tüm üyeleri ve grupları listelenir ve girdiler Azure AD yöneticileri olarak desteklenmez. Bkz. Azure AD özellikleri ve sınırlamaları.

    yöneticiyi seçme

    Önemli

    Azure rol tabanlı erişim denetimi (Azure RBAC) yalnızca portal için geçerlidir ve SQL Server yayılmaz.

  3. Active Directory 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 Active Directory yönetici kutusunda görünür.

Not

Azure AD yöneticisi ayarlanırken, yeni yönetici adı (kullanıcı veya grup) ana veritabanında SQL Server oturum açma veya kullanıcı olarak bulunamaz. Varsa, kurulum başarısız olur ve değişiklikleri geri alır ve bu tür bir yönetici adının zaten var olduğunu gösterir. SQL Server oturum açma veya kullanıcı Azure AD parçası olmadığından, Azure AD kimlik doğrulamasını kullanarak kullanıcıyı bağlama çabası başarısız olur.

Azure AD yapılandırma hakkında bilgi için bkz:

Veritabanı erişimini yönetme

Veritabanına kullanıcı ekleyerek veya güvenli bağlantı dizeleriyle 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, kullanıcı hesaplarını veAD kimlik doğrulamasını yönetme.

Kullanıcı eklemek için veritabanı kimlik doğrulama türünü seçin:

  • SQL kimlik doğrulaması, oturum açma bilgileri için kullanıcı adı ve parola kullanın ve yalnızca sunucudaki belirli bir veritabanı bağlamında geçerlidir

  • Kimlik doğrulaması Azure AD, Azure AD tarafından yönetilen kimlikleri kullanın

SQL kimlik doğrulaması

SQL kimlik doğrulamasına sahip bir kullanıcı eklemek için:

  1. Örneğin SQL Server Management Studio kullanarak veritabanına bağlanın.

  2. Nesne Gezgini'da veritabanına sağ tıklayın ve Yeni Sorgu'yu seçin.

  3. Sorgu penceresinde aşağıdaki komutu girin:

    CREATE USER ApplicationUser WITH PASSWORD = 'YourStrongPassword1';
    
  4. Kullanıcı oluşturmak için araç çubuğunda Yürüt'e tıklayın.

  5. 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.

Azure AD kimlik doğrulaması

Azure Active Directory kimlik doğrulaması, veritabanı kullanıcılarının bağımsız olarak oluşturulmasını gerektirir. Kapsanan veritabanı kullanıcısı, veritabanıyla ilişkilendirilmiş Azure AD dizinindeki bir kimliğe eşler ve ana veritabanında oturum açma bilgileri yoktur. Azure AD kimliği tek bir kullanıcı veya grup için olabilir. Daha fazla bilgi için bkz. Bağımsız veritabanı kullanıcıları, veritabanınızı taşınabilir hale getirme ve Azure AD kullanarak kimlik doğrulaması yapma hakkında Azure AD öğreticisini gözden geçirin.

Not

Veritabanı kullanıcıları (yöneticiler hariç) Azure portal kullanılarak oluşturulamaz. Azure 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ğlanma erişimi vermez. Bu izin T-SQL deyimleri kullanılarak veritabanında verilmelidir.

Önemli

T-SQL CREATE LOGIN ve deyimlerindeki kullanıcı adlarında iki nokta üst üste : veya ve &CREATE USER işareti gibi özel karakterler desteklenmez.

Azure AD kimlik doğrulamasına sahip bir kullanıcı eklemek için:

  1. En azından ALTER ANY USER iznine sahip bir Azure AD hesabı kullanarak Azure'da sunucunuza bağlanın.

  2. Nesne Gezgini'da veritabanına sağ tıklayın ve Yeni Sorgu'yu seçin.

  3. Sorgu penceresinde aşağıdaki komutu girin ve Azure AD kullanıcının asıl adını veya Azure AD grubunun görünen adını değiştirin<Azure_AD_principal_name>:

    CREATE USER [<Azure_AD_principal_name>] FROM EXTERNAL PROVIDER;
    

Not

Azure AD 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ı dizeleri

İstemci uygulaması ile SQL Veritabanı arasında güvenli ve şifreli bir bağlantı sağlamak için, bağlantı dizesinin şu şekilde yapılandırılması gerekir:

  • Ş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ı dizesini kopyalamak için:

  1. Azure portal sol taraftaki menüden SQL veritabanları'nı seçin ve SQL veritabanları sayfasında veritabanınızı seçin.

  2. Genel Bakış sayfasında Veritabanı bağlantı dizelerini göster'i seçin.

  3. Bir sürücü sekmesi seçin ve bağlantı dizesinin tamamını kopyalayın.

    ADO.NET bağlantı dizesi

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 bulunan 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, ortaya çıkan olası tehditleri 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şme, verileri ihlal etme veya bunlardan yararlanma amaçlı olup olmadığını belirleyebilir. Kullanıcılara ayrıca güvenlik açığı değerlendirmesi ile veri bulma ve sınıflandırma aracını içeren bir güvenlik genel bakışı 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. Uygulama daha sonra 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:

  1. Azure portal sol taraftaki menüden SQL veritabanları'nı seçin ve SQL veritabanları sayfasında veritabanınızı seçin.

  2. Genel Bakış sayfasında Sunucu adı bağlantısını seçin. Sunucu sayfası açılır.

  3. SQL server sayfasında Güvenlik bölümünü bulun ve Bulut için Defender'ı seçin.

    1. Özelliği etkinleştirmek için SQL için Microsoft Defender'ın altında ON'u seçin. Güvenlik açığı değerlendirme sonuçlarını kaydetmek için bir depolama hesabı seçin. Sonra Kaydet'i seçin.

      Gezinti bölmesi

      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.

  4. Veritabanınızın SQL veritabanları sayfasına dönün ve Güvenlik bölümünün altında Bulut için Defender'ı seçin. Burada veritabanı için çeşitli güvenlik göstergeleri bulabilirsiniz.

    Tehdit durumu

Anormal etkinlikler algılanırsa, etkinlikle ilgili bilgileri içeren bir e-posta alırsınız. Bu, etkinliğin niteliğini, veritabanını, sunucuyu, olay süresini, olası nedenleri ve olası tehdidi araştırmak ve azaltmak için önerilen eylemleri içerir. Böyle bir e-posta alınırsa, Azure portal başlatmak ve olayın zamanına ilişkin ilgili denetim kayıtlarını göstermek için Azure SQL Denetim Günlüğü bağlantısını seçin.

Tehdit algılama e-postası

Denetim

Denetim özelliği veritabanı olaylarını izler ve olayları Azure depolama, Azure İzleyici günlükleri 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:

  1. Azure portal sol taraftaki menüden SQL veritabanları'nı seçin ve SQL veritabanları sayfasında veritabanınızı seçin.

  2. Güvenlik bölümünde Denetim'i seçin.

  3. Denetim ayarları'nın altında aşağıdaki değerleri ayarlayın:

    1. Denetim seçeneğini AÇIK olarak ayarlayın.

    2. Denetim günlüğü hedefini aşağıdakilerden biri olarak seçin:

      • Depolama, olay günlüklerinin kaydedildiği ve .xel dosyaları olarak indirilebildiği 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'ı

    3. Kaydet’i seçin.

      Denetim ayarları

  4. Artık veritabanı olay verilerini görüntülemek için Denetim günlüklerini görüntüle'yi seçebilirsiniz.

    Denetim kayıtları

Önemli

PowerShell veya REST API kullanarak denetim olaylarını daha fazla özelleştirme hakkında denetim SQL Veritabanı bakın.

Dinamik veri maskeleme

Veri maskeleme özelliği, veritabanınızdaki hassas verileri otomatik olarak gizler.

Veri maskelemeye olanak tanımak için:

  1. Azure portal sol taraftaki menüden SQL veritabanları'nı seçin ve SQL veritabanları sayfasında veritabanınızı seçin.

  2. Güvenlik bölümünde Dinamik Veri Maskeleme'yi seçin.

  3. 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.

    Maske ayarları

  4. Kaydet’i seçin. Seçilen bilgiler artık gizlilik için maskelenmiştir.

    Maske örneği

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:

  1. Azure portal sol taraftaki menüden SQL veritabanları'nı seçin ve SQL veritabanları sayfasında veritabanınızı seçin.

  2. Güvenlik bölümünde Saydam veri şifreleme'yi seçin.

  3. Gerekirse Veri şifreleme'yiAÇI olarak ayarlayın. Kaydet’i seçin.

    Saydam Veri Şifrelemesi

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 şifrelendiğinden emin olun.

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 iletilebilir.

Sonraki adımlar

Bu öğreticide, veritabanınızın güvenliğini yalnızca birkaç basit adımla geliştirmeyi öğrendiniz. Şunları öğrendiniz:

  • Sunucu düzeyinde ve veritabanı düzeyinde güvenlik duvarı kuralları oluşturma
  • Azure Active Directory (AD) yöneticisi yapılandırma
  • SQL kimlik doğrulaması, Azure AD kimlik doğrulaması ve güvenli bağlantı dizeleriyle kullanıcı erişimini yönetme
  • SQL için Microsoft Defender, denetim, veri maskeleme ve şifreleme gibi güvenlik özelliklerini etkinleştirme

Coğrafi dağıtımı nasıl uygulayacağınızı öğrenmek için sonraki öğreticiye ilerleyin.