Azure SQL Veritabanı ve Azure Synapse Analytics için Azure Özel Bağlantısı

Şunlar için geçerlidir: Azure SQL Veritabanı Azure Synapse Analytics (yalnızca ayrılmış SQL havuzu (eski adı SQL DW)

Özel Bağlantı, Azure'daki çeşitli PaaS hizmetlerine özel bir uç nokta üzerinden bağlanmanızı sağlar. Özel Bağlantı işlevselliği destekleyen PaaS hizmetlerinin listesi için Özel Bağlantı Belgeleri sayfasına gidin. Özel uç nokta, belirli bir sanal ağ ve alt ağ içindeki özel bir IP adresidir.

Önemli

Bu makale hem Azure SQL Veritabanı hem de Azure Synapse Analytics'teki ayrılmış SQL havuzu (eski adı SQL DW) için geçerlidir. Bu ayarlar, sunucuyla ilişkili tüm SQL Veritabanı ve ayrılmış SQL havuzu (eski adıyla SQL DW) veritabanları için geçerlidir. Kolaylık olması için "veritabanı" terimi hem Azure SQL Veritabanı'ndaki hem de Azure Synapse Analytics'teki veritabanlarını ifade eder. Benzer şekilde, 'sunucu' başvurusu da Azure Synapse Analytics'te Azure SQL Veritabanı ve ayrılmış SQL havuzunu (eski adı SQL DW) barındıran mantıksal sunucuya başvurur. Bu makale, Azure Synapse Analytics çalışma alanlarındaki Azure SQL Yönetilen Örneği veya ayrılmış SQL havuzları için geçerli değildir.

Oluşturma İşlemi

Özel Uç Noktalar Azure portal, PowerShell veya Azure CLI kullanılarak oluşturulabilir:

Onay işlemi

Ağ yöneticisi Özel Uç Noktayı (PE) oluşturduktan sonra SQL yöneticisi Özel Uç Nokta Bağlantısı'nı (PEC) SQL Veritabanı yönetebilir.

  1. Aşağıdaki ekran görüntüsünde gösterilen adımlara göre Azure portal sunucu kaynağına gidin

    • (1) Sol bölmede Özel uç nokta bağlantılarını seçin
    • (2) Tüm Özel Uç Nokta Bağlantılarının (PECs) listesini gösterir
    • (3) Karşılık gelen Özel Uç Nokta (PE) tarafından oluşturulan tüm PEC'lerin ekran görüntüsü
  2. Listeden tek bir PEC'yi seçerek seçin. Seçili PEC'nin ekran görüntüsü

  3. SQL yöneticisi bir PEC'yi onaylamayı veya reddetmeyi seçebilir ve isteğe bağlı olarak kısa bir metin yanıtı ekleyebilir. PEC onayı ekran görüntüsü

  4. Onay veya ret sonrasında, liste yanıt metniyle birlikte uygun durumu da yansıtır. Onaydan sonra tüm NIC'lerin ekran görüntüsü

  5. Son olarak özel uç nokta adına tıklanması PEC ayrıntılarının ekran görüntüsü

    Ağ Arabirimi ayrıntılarına yol açar NIC ayrıntılarının ekran görüntüsü

    son olarak özel uç noktanın IP adresine yol açar Özel IP'nin ekran görüntüsü

Önemli

Özel uç nokta bağlantısı eklediğinizde, mantıksal sunucunuza genel yönlendirme varsayılan olarak engellenmez. Güvenlik duvarı ve sanal ağlar bölmesinde, Genel ağ erişimini reddet ayarı varsayılan olarak seçili değildir. Genel ağ erişimini devre dışı bırakmak için Genel ağ erişimini reddet'i seçtiğinizden emin olun.

Mantıksal sunucunuza genel erişimi devre dışı bırakma

Bu senaryoda, mantıksal sunucunuza tüm genel erişimi devre dışı bırakmak ve yalnızca sanal ağınızdan gelen bağlantılara izin vermek istediğinizi varsayalım.

İlk olarak, özel uç nokta bağlantılarınızın etkinleştirildiğinden ve yapılandırıldığından emin olun. Ardından, mantıksal sunucunuza genel erişimi devre dışı bırakmak için:

  1. Mantıksal sunucunuzun sayfasına gidin.
  2. Genel ağ erişimini reddet onay kutusunu seçin.

Genel ağ erişimini reddet seçeneğinin seçilmesini gösteren ekran görüntüsü.

Aynı sanal ağdaki bir Azure VM'sinden SQL Veritabanı bağlantısını test etme

Bu senaryoda, özel uç noktayla aynı sanal ağda Windows'un son sürümünü çalıştıran bir Azure Sanal Makinesi (VM) oluşturduğunuzu varsayalım.

  1. Uzak Masaüstü (RDP) oturumu başlatın ve sanal makineye bağlanın.

  2. Ardından, aşağıdaki araçları kullanarak VM'nin özel uç nokta üzerinden SQL Veritabanı bağlandığından emin olmak için bazı temel bağlantı denetimleri yapabilirsiniz:

    1. Telnet
    2. Psping
    3. Nmap
    4. SQL Server Management Studio (SSMS)

Telnet kullanarak Bağlantıyı Denetleme

Telnet İstemcisi , bağlantıyı test etmek için kullanılabilen bir Windows özelliğidir. Windows işletim sisteminin sürümüne bağlı olarak, bu özelliği açıkça etkinleştirmeniz gerekebilir.

Telnet'i yükledikten sonra bir Komut İstemi penceresi açın. Telnet komutunu çalıştırın ve SQL Veritabanı'da veritabanının IP adresini ve özel uç noktasını belirtin.

>telnet 10.9.0.4 1433

Telnet başarıyla bağlandığında komut penceresinde aşağıdaki görüntüye benzer boş bir ekran görürsünüz:

Telnet diyagramı

Bağlantıyı denetlemek için PowerShell komutunu kullanma

Test-NetConnection -computer myserver.database.windows.net -port 1433

Psping kullanarak bağlantıyı denetleme

Psping , özel uç noktanın 1433 numaralı bağlantı noktasındaki bağlantıları dinleyip dinlemediğini denetlemek için aşağıdaki gibi kullanılabilir.

Mantıksal SQL sunucusu ve bağlantı noktası 1433 için FQDN'yi sağlayarak psping'i aşağıdaki gibi çalıştırın:

>psping.exe mysqldbsrvr.database.windows.net:1433
...
TCP connect to 10.9.0.4:1433:
5 iterations (warmup 1) ping test:
Connecting to 10.9.0.4:1433 (warmup): from 10.6.0.4:49953: 2.83ms
Connecting to 10.9.0.4:1433: from 10.6.0.4:49954: 1.26ms
Connecting to 10.9.0.4:1433: from 10.6.0.4:49955: 1.98ms
Connecting to 10.9.0.4:1433: from 10.6.0.4:49956: 1.43ms
Connecting to 10.9.0.4:1433: from 10.6.0.4:49958: 2.28ms

Çıktı, Psping'in özel uç noktayla ilişkili özel IP adresine ping atabileceğini gösterir.

Nmap kullanarak bağlantıyı denetleme

Nmap (Ağ Eşleyicisi), ağ bulma ve güvenlik denetimi için kullanılan ücretsiz ve açık kaynak bir araçtır. Daha fazla bilgi ve indirme bağlantısı için adresini ziyaret edin https://nmap.org. Özel uç noktanın 1433 numaralı bağlantı noktasındaki bağlantıları dinlediğinden emin olmak için bu aracı kullanabilirsiniz.

Özel uç noktayı barındıran alt ağın adres aralığını sağlayarak Nmap'i aşağıdaki gibi çalıştırın.

>nmap -n -sP 10.9.0.0/24
...
Nmap scan report for 10.9.0.4
Host is up (0.00s latency).
Nmap done: 256 IP addresses (1 host up) scanned in 207.00 seconds

Sonuç, bir IP adresinin açıldığını gösterir; özel uç noktanın IP adresine karşılık gelir.

SQL Server Management Studio (SSMS) kullanarak bağlantıyı denetleme

Not

İstemcileriniz<server>.database.windows.net () için bağlantı dizelerinde sunucunun Tam Etki Alanı Adını (FQDN) kullanın. Doğrudan IP adresine yapılan veya özel bağlantı FQDN'sini (<server>.privatelink.database.windows.net) kullanan tüm oturum açma girişimleri başarısız olacaktır. Özel uç nokta trafiği bölgedeki SQL Gateway'e yönlendirdiğinden ve oturum açmaların başarılı olması için doğru FQDN'nin belirtilmesi gerektiğinden bu davranış tasarım gereğidir.

SSMS kullanarak SQL Veritabanı bağlanmak için buradaki adımları izleyin. SSMS kullanarak SQL Veritabanı bağlandıktan sonra aşağıdaki sorgu, bağlandığınız Azure VM'nin özel IP adresiyle eşleşen client_net_address yansıtacaktır:

select client_net_address from sys.dm_exec_connections 
where session_id=@@SPID

Sınırlamalar

Özel uç noktaya bağlantılar, bağlantı ilkesi olarak yalnızca Ara Sunucuyu destekler

Özel eşleme üzerinde şirket içi bağlantısı

Müşteriler şirket içi makinelerden genel uç noktaya bağlandığında, IP adreslerinin Sunucu düzeyinde güvenlik duvarı kuralı kullanılarak IP tabanlı güvenlik duvarına eklenmesi gerekir. Bu model geliştirme veya test iş yükleri için tek tek makinelere erişime izin vermek için iyi çalışsa da, üretim ortamında yönetmek zordur.

müşteriler Özel Bağlantı expressroute, özel eşleme veya VPN tüneli kullanarak özel uç noktaya şirket içi ve dışı erişimi etkinleştirebilir. Müşteriler genel uç nokta üzerinden tüm erişimi devre dışı bırakabilir ve IP adreslerine izin vermek için IP tabanlı güvenlik duvarını kullanamaz.

İstemciler, aynı sanal ağdan, aynı bölgedeki eşlenmiş sanal ağdan veya bölgeler arasında sanal ağ bağlantısı üzerinden Özel uç noktaya bağlanabilir. Ayrıca, istemciler ExpressRoute, özel eşleme veya VPN tüneli kullanarak şirket içinden bağlanabilir. Aşağıda yaygın kullanım örneklerini gösteren basitleştirilmiş bir diyagram yer almaktadır.

Bağlantı seçeneklerinin diyagramı

Buna ek olarak, doğrudan sanal ağda çalışmayan ancak onunla tümleştirilen hizmetler de (örneğin, web uygulamaları veya İşlevler App Service) veritabanına özel bağlantı sağlayabilir. Bu özel kullanım örneği hakkında daha fazla bilgi için bkz. Azure SQL veritabanı mimarisi senaryosuna özel bağlantısı olan Web uygulaması.

Eşlenmiş Sanal Ağ bir Azure VM'sinden bağlanma

Eşlenmiş bir sanal ağdaki Azure VM'sinden SQL Veritabanı bağlantı kurmak için sanal ağ eşlemesini yapılandırın.

Sanal ağdaki bir Azure VM'den sanal ağ ortamına bağlanma

Farklı bir bölgedeki veya abonelikteki Azure VM'sinden SQL Veritabanı bir veritabanına bağlantı kurmak için sanal ağdan sanal ağa VPN ağ geçidi bağlantısını yapılandırın.

VPN üzerinden şirket içi ortamdan bağlanma

Şirket içi ortamdan SQL Veritabanı'daki veritabanına bağlantı kurmak için seçeneklerden birini seçin ve uygulayın:

DNS yapılandırma senaryolarının yanı sıra hizmetin FQDN'sinin genel IP adresine çözümlenebileceğini de göz önünde bulundurun.

Polybase ve COPY deyimini kullanarak Azure Synapse Analytics'ten Azure Depolama'ya bağlanma

PolyBase ve COPY deyimi genellikle Azure Depolama hesaplarından Azure Synapse Analytics'e veri yüklemek için kullanılır. Verileri yüklemekte olduğunuz Azure Depolama hesabı erişimi yalnızca Özel Uç Noktalar, Hizmet Uç Noktaları veya IP tabanlı güvenlik duvarları aracılığıyla bir dizi sanal ağ alt ağıyla sınırlarsa, PolyBase'den ve COPY deyiminden hesaba olan bağlantı kesilir. sanal ağa güvenli Azure Synapse Azure Depolama'ya bağlanan Azure Synapse Analytics ile hem içeri hem de dışarı aktarma senaryolarını etkinleştirmek için burada sağlanan adımları izleyin.

Veri sızdırmayı önleme

Azure SQL Veritabanında veri sızdırma, veritabanı yöneticisi gibi bir kullanıcının verileri bir sistemden ayıklayıp kuruluş dışında başka bir konuma veya sisteme taşıyabilmesidir. Örneğin, kullanıcı verileri üçüncü tarafa ait bir depolama hesabına taşır.

Azure sanal makinesinde SQL Server Management Studio (SSMS) çalıştıran bir kullanıcının SQL Veritabanı'daki bir veritabanına bağlandığını düşünün. Bu veritabanı Batı ABD veri merkezindedir. Aşağıdaki örnekte, ağ erişim denetimlerini kullanarak SQL Veritabanı'da genel uç noktalarla erişimi sınırlama gösterilmektedir.

  1. Azure Hizmetlerine İzin Ver ayarını KAPALI olarak ayarlayarak genel uç nokta üzerinden SQL Veritabanı tüm Azure hizmet trafiğini devre dışı bırakın. Sunucu ve veritabanı düzeyinde güvenlik duvarı kurallarında IP adreslerine izin verilmediğinden emin olun. Daha fazla bilgi için bkz. Veritabanı ve Azure Synapse Analytics ağ erişim denetimlerini Azure SQL.
  2. Yalnızca VM'nin Özel IP adresini kullanarak SQL Veritabanı'da veritabanına gelen trafiğe izin verin. Daha fazla bilgi için Hizmet Uç Noktası ve sanal ağ güvenlik duvarı kuralları makalelerine bakın.
  3. Azure VM'de Ağ Güvenlik Grupları (NSG) ve Hizmet Etiketleri'ni kullanarak giden bağlantı kapsamını aşağıda gösterildiği gibi daraltın
    • Hizmet Etiketi = SQL trafiğine izin vermek için bir NSG kuralı belirtin. WestU'lar - yalnızca Batı ABD'deki SQL Veritabanı bağlantılarına izin verme
    • Hizmet Etiketi = SQL için trafiği reddetmek için bir NSG kuralı (daha yüksek öncelikli) belirtin - tüm bölgelerdeki SQL Veritabanı bağlantıları reddeder

Bu kurulumun sonunda Azure VM yalnızca Batı ABD bölgesindeki SQL Veritabanı bir veritabanına bağlanabilir. Ancak, bağlantı SQL Veritabanı'daki tek bir veritabanıyla sınırlı değildir. VM, aboneliğin parçası olmayan veritabanları da dahil olmak üzere Batı ABD bölgesindeki herhangi bir veritabanına bağlanmaya devam edebilir. Yukarıdaki senaryoda veri sızdırma kapsamını belirli bir bölgeye indirmiş olsak da, bunu tamamen ortadan kaldırmadık.

Özel Bağlantı sayesinde müşteriler artık özel uç noktaya erişimi kısıtlamak için NSG'ler gibi ağ erişim denetimleri ayarlayabilir. Tek tek Azure PaaS kaynakları daha sonra belirli özel uç noktalara eşlenir. Kötü niyetli bir insider yalnızca eşlenen PaaS kaynağına (örneğin, SQL Veritabanı'deki bir veritabanı) erişebilir ve başka hiçbir kaynağa erişemez.

Sonraki adımlar