Aracılığıyla paylaş


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

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

Azure Özel Bağlantı, Özel uç nokta aracılığıyla Azure'daki çeşitli PaaS hizmetlerine 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, Azure Synapse Analytics'teki hem Azure SQL Veritabanı hem de ayrılmış SQL havuzu (eski adı SQL DW) için geçerlidir. Bu ayarlar, sunucuyla ilişkilendirilmiş tüm SQL Veritabanı ve ayrılmış SQL havuzu (eski adı SQL DW) veritabanları için geçerlidir. Kolaylık olması için "veritabanı" terimi hem Azure SQL Veritabanı hem de Azure Synapse Analytics'teki veritabanlarını ifade eder. Benzer şekilde, 'sunucu' başvuruları, 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 iş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. Azure portalında sunucu kaynağına gidin.

  2. Özel uç nokta onay sayfasına gidin:

    • SQL server kaynağındaki Güvenlik'in altında Ağ'ı seçin. Özel erişim sekmesini seçin.
    • Synapse çalışma alanında, kaynak menüsündeki Güvenlik'in altında Özel uç nokta bağlantıları'nı seçin.
  3. Sayfada aşağıdakiler gösterilir:

    • Tüm Özel Uç Nokta Bağlantılarının (PEC) listesi
    • Özel uç noktalar (PE) oluşturuldu

    Sunucu kaynağı için özel uç nokta bağlantılarının listesinin nasıl bulunduğunu gösteren ekran görüntüsü.

  4. Özel uç nokta yoksa, Özel uç nokta oluştur düğmesini kullanarak bir uç nokta oluşturun. Aksi takdirde, listeden tek bir PEC seçerek seçin.

    Azure portalında özel uç nokta bağlantısının nasıl seçildiğini gösteren ekran görüntüsü.

  5. SQL yöneticisi PEC'yi onaylamayı veya reddetmeyi seçebilir ve isteğe bağlı olarak kısa bir metin yanıtı ekleyebilir.

    Azure portalında PEC'nin nasıl onaylandığını gösteren ekran görüntüsü.

  6. Onay veya reddedildikten sonra, liste yanıt metniyle birlikte uygun durumu yansıtır.

    Yöneticinin onayını aldıktan sonra onaylanan durumdaki PEC'yi gösteren ekran görüntüsü.

  7. Son olarak özel uç nokta adını seçin

    Uç nokta adıyla PEC ayrıntılarını gösteren ekran görüntüsü.

    Bu sizi Özel uç noktaya genel bakış sayfasına götürür. Özel uç nokta bağlantısının ağ arabirimi ayrıntılarını almak için Ağ arabirimleri bağlantısını seçin.

    Özel uç nokta bağlantısının NIC ayrıntılarını gösteren ekran görüntüsü.

    Ağ arabirimi sayfası, özel uç nokta bağlantısının özel IP adresini gösterir.

    Özel uç nokta bağlantısının Özel IP adresini gösteren 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çilmez. 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

Azure SQL Veritabanı mantıksal SQL sunucusunda, mantıksal sunucunuza tüm genel erişimi devre dışı bırakmak ve yalnızca sanal ağınızdan 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 Ağ sayfasına gidin.

  2. Genel ağ erişimini reddet onay kutusunu seçin.

    Özel uç nokta bağlantısı için genel ağ erişiminin nasıl devre dışı bırakıldığını gösteren ekran görüntüsü.

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

Bu senaryo için, ö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:

Telnet kullanarak bağlantıyı denetleme

Telnet İstemcisi , bağlantıyı test etmek için kullanılabilecek 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, aşağıdaki görüntüde gösterildiği gibi komut penceresinde boş bir ekran açar:

Boş ekranlı Telnet penceresinin diyagramı.

Bağlantıyı denetlemek için PowerShell komutunu kullanın:

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 1433 numaralı bağlantı noktası için FQDN sağlayarak PsPing'i aşağıdaki gibi çalıştırın:

PsPing.exe mysqldbsrvr.database.windows.net:1433

Bu, beklenen çıktının bir örneğidir:

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österiyor.

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

Bu, beklenen çıktının bir örneğidir:

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 () için bağlantı dizesi s içinde sunucunun Tam Etki Alanı Adını (<server>.database.windows.netFQDN) 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;

Özel uç noktalarla Yeniden yönlendirme bağlantı ilkesini kullanma

Müşterilerin daha düşük gecikme süresi ve geliştirilmiş aktarım hızı için Yeniden yönlendirme bağlantısı ilkesiyle özel bağlantıyı kullanmalarını öneririz. Bağlantıların bu modu kullanması için istemcilerin aşağıdaki önkoşulları karşılaması gerekir:

  • 1433 ile 65535 arasında bir bağlantı noktasına özel uç noktayı barındıran sanal ağa gelen iletişime izin verin.

  • İstemciyi barındıran sanal ağdan 1433 ile 65535 arasında bağlantı noktasına giden iletişime izin verin.

  • Yerleşik yeniden yönlendirme desteğine sahip sürücülerin en son sürümünü kullanın. Odbc, OLEDB, NET SqlClient Veri Sağlayıcısı, Core .NET SqlClient Veri Sağlayıcısı ve JDBC (sürüm 9.4 veya üzeri) sürücülerine yeniden yönlendirme desteği dahildir. Diğer tüm sürücülerden kaynaklanan bağlantılar ara sunucudan geçer.

Önkoşulu karşıladıktan sonra istemcilerin bağlantı ilkesini yeniden yönlendir'i açıkça seçmesi gerekir.

Güvenlik duvarı ayarlarını 1433-65535 bağlantı noktası aralığında giden erişime izin verecek şekilde değiştirmek mümkün değilse, alternatif bir çözüm bağlantı ilkesini Ara Sunucu olarak değiştirmektir.

Varsayılan bağlantı ilkesi kullanan mevcut özel uç noktalar, 1433 numaralı bağlantı noktasıyla Ara Sunucu bağlantı ilkesini kullanacak. Bunu yapmanın nedeni, yeniden yönlendirmenin açık olmaması için gerekli bağlantı noktası aralıkları nedeniyle istemci trafiğinin SQL Veritabanı ulaşmasını önlemektir.

Not

Ayrılmış SQL havuzları için özel uç noktaları kullanırken bağlantı ilkesi her zaman Proxy'dir. Ayarın değiştirilmesi, özel uç noktalar kullanılırken ayrılmış SQL havuzlarını etkilemez.

Ö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 erişim sağlayabilir. Müşteriler daha sonra 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ğdan sanal ağ bağlantısına özel uç noktaya bağlanabilir. Ayrıca, istemciler ExpressRoute, özel eşleme veya VPN tüneli kullanarak şirket içinden bağlanabilir. Aşağıdaki basitleştirilmiş diyagramda yaygın kullanım örnekleri gösterilmektedir.

Bağlantı seçeneğinin diyagramı.

Buna ek olarak, doğrudan sanal ağda çalışmayan ancak bununla tümleştirilmiş hizmetler (örneğin, App Service web uygulamaları veya İşlevleri) veritabanına özel bağlantı da sağlayabilir. Bu özel kullanım örneği hakkında daha fazla bilgi için bkz . Azure SQL veritabanı mimarisine özel bağlantı içeren Web uygulaması senaryosu.

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 azure vm'sinden 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 bir 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:

HIZMETIN FQDN'sinin genel IP adresine çözümlenebileceği gibi DNS yapılandırma senaryolarını da 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ı Özel Uç Noktalar, Hizmet Uç Noktaları veya IP tabanlı güvenlik duvarları aracılığıyla yalnızca bir sanal ağ alt ağı kümesine erişimi sınırlarsa, PolyBase'den ve COPY deyiminden hesaba olan bağlantı kesilir. Azure Synapse Analytics'in sanal ağa güvenli hale getirilen Azure Depolama'ya bağlanmasıyla 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ı 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 Microsoft dışı bir varlığa ait bir depolama hesabına taşır.

SQL Veritabanı'deki veritabanına bağlanan bir Azure sanal makinesinde SQL Server Management Studio (SSMS) çalıştıran bir kullanıcının olduğu bir senaryo düşünün. Bu veritabanı Batı ABD veri merkezindedir. Aşağıdaki örnekte, ağ erişim denetimlerini kullanarak SQL Veritabanı üzerinde genel uç noktalarla erişimin nasıl sınırlandırılması 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. Azure SQL Veritabanı ve Azure Synapse Analytics ağ erişim denetimleri.
  2. Yalnızca vm'nin Özel IP adresini kullanarak SQL Veritabanı veritabanına giden 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 verir.
    • Hizmet Etiketi = SQL - tüm bölgelerdeki SQL Veritabanı bağlantıları reddeden trafiği reddetmek için bir NSG kuralı (daha yüksek öncelikli) belirtin.

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 indirgemiş 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ü amaçlı bir insider yalnızca eşlenen PaaS kaynağına (örneğin, SQL Veritabanı'deki bir veritabanı) erişebilir ve başka bir kaynağa erişemez.