Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:Azure SQL Veritabanı
Sanal ağ kuralları, Azure SQL Veritabanı'deki veritabanlarınız ve esnek havuzlarınız için sunucusunun, sanal ağlardaki belirli alt ağlardan gönderilen iletişimleri kabul edip etmediğini denetleyen bir güvenlik duvarı özelliğidir. Bu makale, SQL Veritabanı'ndaki veritabanınıza güvenli şekilde iletişim sağlamak için bazen sanal ağ kurallarının en iyi seçenek olduğunu açıklar.
Not:
Bu makalede, sunucu, Azure SQL Veritabanı'de veritabanlarını barındıran mantıksal sunucuyu ifade eder.
Sanal ağ kuralı oluşturmak için öncelikle kuralın başvuracağı bir sanal ağ hizmet uç noktası olmalıdır.
Not:
Microsoft Entra ID daha önce Azure Active Directory (Azure AD) olarak biliniyordu.
Sanal ağ kuralı oluşturma
Yalnızca bir sanal ağ kuralı oluşturmak istiyorsanız, bu makalenin devamında yer alan adımlara ve açıklamaya geçebilirsiniz.
Sanal ağ kurallarıyla ilgili ayrıntılar
Bu bölümde sanal ağ kurallarıyla ilgili birkaç ayrıntı açıklanmaktadır.
Yalnızca bir coğrafi bölge
Her sanal ağ hizmet uç noktası yalnızca bir Azure bölgesine uygulanır. Uç nokta, diğer bölgelerin alt ağdan gelen iletişimi kabul etmelerini sağlamaz.
Herhangi bir sanal ağ kuralı, temel alınan uç noktasının geçerli olduğu bölgeyle sınırlıdır.
Veritabanı düzeyi değil sunucu düzeyi
Her sanal ağ kuralı yalnızca sunucudaki belirli bir veritabanı için değil, tüm sunucunuz için geçerlidir. Başka bir deyişle, sanal ağ kuralları veritabanı düzeyinde değil sunucu düzeyinde uygulanır.
Buna karşılık, IP kuralları her iki düzeyde de uygulanabilir.
Güvenlik yönetimi rolleri
Sanal ağ hizmet uç noktalarının yönetiminde güvenlik rollerinin ayrımı vardır. Aşağıdaki rollerin her birinin işlem yapması gerekmektedir:
- Ağ Yöneticisi (Ağ Katılımcısı rolü): Uç nokta cihazını açın.
- Veritabanı Yöneticisi (SQL Server Contributor rolü): Verilen alt ağı erişim denetimi listesine (ACL) eklemek için erişim denetimi listesini (ACL) güncelleştirin.
Azure RBAC alternatifi
Ağ Yöneticisi ve Veritabanı Yöneticisi rolleri, sanal ağ kurallarını yönetmek için gerekenden daha fazla özelliğe sahiptir. Yeteneklerinin sadece bir alt kümesine ihtiyacınız var.
Azure'da rol tabanlı erişim kontrolü (RBAC) kullanarak yalnızca gerekli yetenek alt kümesine sahip tek bir özel rol oluşturabilirsiniz. Ağ Yöneticisi veya Veritabanı Yöneticisini dahil etmek yerine özel rolü kullanabilirsiniz. Bir kullanıcıyı özel bir role eklerseniz, kullanıcıyı diğer iki büyük yönetici rolünden birine eklemenize kıyasla güvenlik maruziyetiniz daha az olur.
Not:
Bazı durumlarda, SQL Veritabanı'ndaki veritabanı ile sanal ağ alt ağı farklı aboneliklerdedir. Bu gibi durumlarda, aşağıdaki yapılandırmaların yapıldığından emin olmanız gerekir:
- Kullanıcı, hizmet uç noktalarını etkinleştirme ve verilen sunucuya sanal ağ alt ağı ekleme gibi işlemleri başlatmak için gerekli izinlere sahiptir.
- Her iki abonelikte de
Microsoft.Sqlsağlayıcı kayıtlıdır.
Sınırlamalar
SQL Veritabanı için sanal ağ kuralları özelliği aşağıdaki sınırlamalara sahiptir:
- SQL Veritabanı'daki veritabanınızın güvenlik duvarında her sanal ağ kuralı bir alt ağa başvuruda bulunur. Tüm bu referanslı alt ağları veritabanını barındıran aynı coğrafi bölgede barındırmalısınız.
- Her sunucunun herhangi bir sanal ağ için en fazla 128 ACL girişi olabilir.
- Sanal ağ kuralları yalnızca Azure Resource Manager sanal ağlarına uygulanır ve klasik dağıtım modeli ağlarına uygulanmaz.
- Güvenlik duvarında, IP adres aralıkları aşağıdaki ağ öğelerine uygulanır, ancak sanal ağ kuralları uygulanmaz:
- Uçtan uca (S2S) sanal özel ağ (VPN)
- Şirket içi, Azure ExpressRoute aracılığıyla
- Her iki abonelik de aynı Microsoft Entra tenant’ında olmalıdır.
Hizmet uç noktalarını kullanırken dikkat edilmesi gerekenler
SQL Veritabanı için hizmet uç noktalarını kullandığınızda aşağıdaki noktaları gözden geçirin:
- Azure SQL Veritabanı genel IP'lerine giden trafik gereklidir. Bağlantı sağlamak için ağ güvenlik gruplarını (NSG'leri) SQL Veritabanı IP'lerine açmalısınız. Bunu, SQL Veritabanı için NSG hizmet etiketlerini kullanarak yapabilirsiniz.
ExpressRoute
Eğer ExpressRoute'u bulunduğunuz yerden kullanıyorsanız, genel eşleme veya Microsoft eşleme için, kullanılan NAT IP adreslerini belirlemeniz gerekir. Genel eşleme için, her ExpressRoute devresi varsayılan olarak, trafik Microsoft Azure omurga ağına girdiğinde Azure hizmet trafiğine uygulanan iki NAT IP adresi kullanır. Microsoft eşleştirme için, kullanılan NAT IP adreslerini ya müşteri ya da hizmet sağlayıcı sağlar. Hizmet kaynaklarınıza erişime izin vermek için, bu genel IP adreslerine kaynak IP güvenlik duvarı ayarında izin vermeniz gerekir. Genel eşleme ExpressRoute devresi IP adreslerinizi bulmak için Azure portalı üzerinden ExpressRoute ile bir destek bileti açın. ExpressRoute genel ve Microsoft eşlemesi için NAT hakkında daha fazla bilgi edinmek için bkz. Azure genel eşleme için NAT gereksinimleri.
Bağlantı hattınızdan SQL Veritabanı'na iletişime izin vermek için NAT'nizin genel IP adresleri için IP ağ kuralları oluşturmanız gerekir.
Azure Depolama ile sanal ağ hizmet uç noktalarını kullanmanın etkisi
Azure Depolama, depolama hesabına bağlantıyı sınırlayan sanal ağ hizmet uç noktalarını destekler. Eğer SQL Database bu yapılandırmaya sahip bir hesap kullanıyorsa, blob denetimi üzerindeki etkisini gözden geçirin.
Azure SQL Veritabanı’in blob depolamaya denetimi
Azure SQL denetimi, SQL denetim günlüklerini kendi depolama hesabınıza yazabilir. Bu depolama hesabı sanal ağ hizmet uç noktaları özelliğini kullanıyorsa, VNet ve güvenlik duvarı arkasındaki bir depolama hesabına denetim yazmayı öğrenin.
Sunucunuza sanal ağ güvenlik duvarı kuralı ekleyin
Bu özellik geliştirilmeden önce, güvenlik duvarında canlı bir sanal ağ kuralı uygulayabilmeniz için önce sanal ağ hizmet uç noktalarını açmanız gerekiyordu. Uç noktalar, belirli bir sanal ağ alt ağını SQL Veritabanı'ndaki bir veritabanıyla ilişkilendirir. Ocak 2018 itibarıyla, IgnoreMissingVNetServiceEndpoint bayrağını ayarlayarak bu gerekliliği aşabilirsiniz. Artık sanal ağ hizmet uç noktalarını açmadan sunucunuza bir sanal ağ güvenlik duvarı kuralı ekleyebilirsiniz.
Yalnızca güvenlik duvarı kuralı ayarlamak sunucunun güvenliğini sağlamaya yardımcı olmaz. Güvenliğin etkili olması için sanal ağ hizmet uç noktalarını da açmanız gerekir. Hizmet uç noktalarını açtığınızda, sanal ağ alt ağınız kapalı olandan açık duruma geçişi tamamlayana kadar kapalı kalma süresi yaşar. Bu kapalı kalma süresi özellikle büyük sanal ağlar bağlamında geçerlidir. Geçiş sırasında kesinti süresini azaltmak veya ortadan kaldırmak için IgnoreMissingVNetServiceEndpoint bayrağını kullanabilirsiniz.
Bayrağı PowerShell kullanarak ayarlayabilirsiniz IgnoreMissingVNetServiceEndpoint . Daha fazla bilgi için bkz. SQL Veritabanı için sanal ağ hizmet uç noktası ve kuralı oluşturmak üzere PowerShell.
Sanal ağ kuralı oluşturmak için Azure portalını kullanın
Bu bölümde, SQL Veritabanı'ndaki veritabanınızda bir sanal ağ kuralı oluşturmak için Azure portalını nasıl kullanabileceğiniz gösterilmektedir. Kural, veritabanınıza, sanal ağ hizmeti uç noktası olarak etiketlediğiniz belirli bir alt ağdan iletişimi kabul etmesini söyler.
Not:
Sunucunuzun sanal ağ güvenlik duvarı kurallarına bir hizmet uç noktası eklemek için önce alt ağ için hizmet uç noktalarının açık olduğundan emin olun.
Hizmet uç noktaları alt ağ için açık değilse portal bunları etkinleştirmenizi ister. Kuralı eklediğiniz aynı bölmede Etkinleştir düğmesini seçin.
Önkoşullar
SQL Veritabanı ile ilgili belirli bir sanal ağ hizmet uç noktası type name ile etiketlenmiş bir alt ağınız zaten olmalıdır.
- İlgili uç nokta türü adı Microsoft.Sql'dir.
- Alt ağınız tür adıyla etiketlenmemiş olabilir; Alt ağınızın bir uç nokta olduğunu doğrulayın bölümüne bakın.
Azure portal adımları
Azure Portal’ında oturum açın.
SQL sunucularını arayıp seçin ve ardından sunucunuzu seçin. Güvenlik altında Ağ seçin.
Ortak erişim sekmesinin altında, Ortak ağ erişimi ayarının Seçili ağlar olarak ayarlandığından emin olun; aksi takdirde Sanal ağlar ayarları gizlenir. Sanal ağlar bölümünde + Var olan sanal ağı ekle seçeneğini belirleyin.
Yeni Oluştur/Güncelleştir bölmesinde kutuları Azure kaynaklarınızın adlarıyla doldurun.
İpucu
Alt ağınız için doğru adres ön ekini eklemeniz gerekir. Adres ön eki değerini portalda bulabilirsiniz. Tüm kaynaklarTüm türlerSanal ağlar bölümüne gidin. Filtre, sanal ağlarınızı görüntüler. Sanal ağınızı seçin ve ardından Alt ağlar'ı seçin. ADRES ARALIĞI sütununda ihtiyacınız olan adres ön eki bulunur.
Güvenlik Duvarı bölmesinde sonuçta elde edilen sanal ağ kuralına bakın.
Azure hizmetlerinin ve kaynaklarının bu sunucuya erişmesine izin ver seçeneğini Hayır olarak ayarlayın.
Önemli
Azure hizmetlerinin ve kaynaklarının bu sunucuya erişmesine izin ver seçeneğini işaretli bırakırsanız, sunucunuz Azure sınırı içindeki herhangi bir alt ağdan gelen iletişimi kabul eder. Bu iletişim, Azure veri merkezleri için tanımlanan aralıklar içinde tanınan IP adreslerinden birinden kaynaklanır. Ayarın etkin bırakılması, güvenlik açısından gereğinden fazla erişime yol açabilir. Microsoft Azure Sanal Ağ hizmet uç noktası özelliği, SQL Veritabanı sanal ağ kuralları özelliğiyle eşgüdümlü olarak saldırı yüzeyinizi azaltabilir.
Bölmenin alt kısmındaki Tamam düğmesini seçin.
Not:
Aşağıdaki durumlar veya statüler kurallar için geçerlidir:
- Hazır: Başlattığınız işlemin başarılı olduğunu gösterir.
- Başarısız oldu: Başlattığınız işlemin başarısız olduğunu gösterir.
-
Silindi: Sadece işlem
Deleteiçin geçerlidir ve kuralın silindiğini ve artık geçerli olmadığını gösterir. - InProgress: İşlemin devam ettiğini gösterir. eski kural, işlem bu durumdayken uygulanır.
Sanal ağ kuralı oluşturmak için PowerShell kullanma
PowerShell cmdlet New-AzSqlServerVirtualNetworkRule veya az network vnet create kullanarak sanal ağ kuralları oluşturmak için bir script kullanabilirsiniz. Daha fazla bilgi için bkz. SQL Veritabanı için sanal ağ hizmet uç noktası ve kuralı oluşturmak üzere PowerShell.
Sanal ağ kuralı oluşturmak için REST API kullanma
DAHILI olarak, SQL sanal ağ eylemleri için PowerShell cmdlet'leri REST API'lerini çağırır. REST API'lerini doğrudan çağırabilirsiniz. Daha fazla bilgi için bkz. Sanal ağ kuralları: İşlemler.
40914 ve 40615 hatalarını giderme
Bağlantı hatası 40914, Azure portalındaki Güvenlik Duvarı bölmesinde belirtildiği gibi sanal ağ kurallarıyla ilgilidir.
40615 hatası da benzer, ancak güvenlik duvarındaki IP adresi kurallarıyla ilgili.
Hata 40914
İleti metni: "Oturum açma isteğinde belirtilen '[sunucu-adı]' sunucusu açılamıyor. İstemcinin sunucuya erişim izni yok."
Hata açıklaması: İstemci, sanal ağ sunucusu uç noktalarına sahip bir alt ağda bulunuyor. Ancak sunucunun, alt ağa veritabanıyla iletişim kurma hakkı tanıyan bir sanal ağ kuralı yoktur.
Hata çözümlemesi: Azure portalının Güvenlik Duvarı bölmesinde, alt ağ için bir sanal ağ kuralı eklemek amacıyla sanal ağ kuralları denetimini kullanın.
40615 Hatası
İleti metni: "Oturum açma işlemi tarafından istenen '{0}' sunucusu açılamıyor. '{1}' IP adresli istemcinin sunucuya erişmesine izin verilmiyor."
Hata açıklaması: İstemci, sunucuya bağlanma yetkisi olmayan bir IP adresinden bağlanmaya çalışıyor. Sunucu güvenlik duvarı, bir istemcinin verilen IP adresinden veritabanına iletişim kurmasına izin veren bir IP adresi kuralına sahip değildir.
Hata çözümü: İstemcinin IP adresini BIR IP kuralı olarak girin. Bu adımı tamamlamak için Azure portalındaki Firewall panelini kullanın.
Azure Synapse Analytics için sanal ağ hizmet uç noktaları
Daha fazla bilgi için Azure Synapse Analytics için sanal ağ hizmet uç noktaları ve kurallarına bakın.