PostgreSQL için Azure Veritabanı - Tek Sunucuda güvenlik duvarı kuralları

ŞUNLAR IÇIN GEÇERLIDIR: PostgreSQL için Azure Veritabanı - Tek Sunucu

Önemli

PostgreSQL için Azure Veritabanı - Tek Sunucu kullanımdan kaldırma yolundadır. PostgreSQL için Azure Veritabanı - Esnek Sunucu'ya yükseltmenizi kesinlikle öneririz. PostgreSQL için Azure Veritabanı - Esnek Sunucu'ya geçiş hakkında daha fazla bilgi için bkz. PostgreSQL için Azure Veritabanı Tek Sunucuya ne oluyor?.

PostgreSQL için Azure Veritabanı sunucusu varsayılan olarak güvenlidir ve siz hangi IP konaklarının erişmesine izin verileceğini belirtene kadar veritabanı sunucunuza tüm erişimi engeller. Güvenlik duvarı, her isteğin kaynak IP adresine göre sunucuya erişim verir. Güvenlik duvarınızı yapılandırmak için kabul edilebilir IP adreslerinin aralıklarını belirten güvenlik duvarı kuralları oluşturun. Sunucu düzeyinde güvenlik duvarı kuralları oluşturabilirsiniz.

Güvenlik duvarı kuralları: Bu kurallar istemcilerin PostgreSQL için Azure Veritabanı Sunucunuzun tamamına, yani aynı mantıksal sunucu içindeki tüm veritabanlarına erişmesini sağlar. Sunucu düzeyinde güvenlik duvarı kuralları, Azure portalı veya Azure CLI komutları kullanılarak yapılandırılabilir. Sunucu düzeyinde güvenlik duvarı kuralları oluşturmak için abonelik sahibi veya abonelik katkıda bulunanı olmanız gerekir.

Güvenlik duvarına genel bakış

PostgreSQL için Azure Veritabanı sunucusuna tüm erişim, varsayılan olarak güvenlik duvarı tarafından engellenir. Sunucunuza başka bir bilgisayardan/istemciden veya uygulamadan erişmek için, sunucunuza erişimi etkinleştirmek için bir veya daha fazla sunucu düzeyinde güvenlik duvarı kuralı belirtmeniz gerekir. İzin verilen genel IP adresi aralıklarını belirtmek için güvenlik duvarı kurallarını kullanın. Azure portalı web sitesine erişim, güvenlik duvarı kurallarından etkilenmez. aşağıdaki diyagramda gösterildiği gibi, İnternet'ten ve Azure'dan Bağlan denemelerinin Postgre SQL Veritabanı'nize ulaşmadan önce güvenlik duvarından geçmesi gerekir:

Güvenlik duvarının nasıl çalıştığına ilişkin örnek akış

İnternet'ten bağlanma

Sunucu düzeyinde güvenlik duvarı kuralları aynı PostgreSQL için Azure Veritabanı sunucusundaki tüm veritabanları için geçerlidir. İsteğin kaynak IP adresi sunucu düzeyinde güvenlik duvarı kurallarında belirtilen aralıklardan biri içindeyse, bağlantı verilir, aksi takdirde reddedilir. Örneğin, uygulamanız PostgreSQL için JDBC sürücüsüne bağlanıyorsa, güvenlik duvarı bağlantıyı engellediğinde bağlanmaya çalışırken bu hatayla karşılaşabilirsiniz.

java.util.concurrent.ExecutionException: java.lang.RuntimeException: org.postgresql.util.PSQLException: FATAL: no pg_hba.conf entry for host "123.45.67.890", user "adminuser", database "postgresql", SSL

Not

yerel bilgisayarınızdan PostgreSQL için Azure Veritabanı erişmek için, ağınızdaki ve yerel bilgisayarınızdaki güvenlik duvarının 5432 numaralı TCP bağlantı noktasında giden iletişime izin verin.

Azure'dan bağlanma

Herhangi bir uygulamanın veya hizmetin giden IP adresini bulmanız ve bu tek tek IP adreslerine veya aralıklarına açıkça erişime izin vermenizi öneririz. Örneğin, bir Azure Uygulaması Hizmetinin giden IP adresini bulabilir veya bir sanal makineye veya başka bir kaynağa bağlı genel IP kullanabilirsiniz (hizmet uç noktaları üzerinden sanal makinenin özel IP'sine bağlanma hakkında bilgi için aşağıya bakın).

Azure hizmetinizde sabit bir giden IP adresi yoksa, tüm Azure veri merkezi IP adreslerinden bağlantıları etkinleştirmeyi düşünebilirsiniz. Bu ayar, Bağlan ion güvenlik bölmesinden Azure hizmetlerine erişime izin ver seçeneği AÇıK olarak ayarlanıp Kaydet'e basılarak Azure portalından etkinleştirilebilir. Azure CLI'dan, başlangıç ve bitiş adresi 0.0.0.0'a eşit olan bir güvenlik duvarı kuralı ayarı eşdeğerdir. Bağlantı girişimi güvenlik duvarı kuralları tarafından reddedilirse, PostgreSQL için Azure Veritabanı sunucusuna ulaşmaz.

Önemli

Azure hizmetlerine erişime izin ver seçeneği, diğer müşterilerin aboneliklerinden gelen bağlantılar dahil Azure’dan tüm bağlantılara izin verecek şekilde güvenlik duvarınızı yapılandırır. Bu seçeneği belirlerken, oturum açma ve kullanıcı izinlerinizin erişimi yalnızca yetkili kullanıcılarla sınırladığından emin olun.

Portalda Azure hizmetlerine erişime izin ver'i yapılandırma

Sanal ağdan Bağlan

Bir sanal ağdan PostgreSQL için Azure Veritabanı sunucunuza güvenli bir şekilde bağlanmak için sanal ağ hizmet uç noktalarını kullanmayı göz önünde bulundurun.

Güvenlik duvarı kurallarını programlı bir şekilde yönetme

Azure portalına ek olarak, güvenlik duvarı kuralları Azure CLI kullanılarak program aracılığıyla yönetilebilir. Ayrıca bkz. Azure CLI kullanarak PostgreSQL için Azure Veritabanı güvenlik duvarı kuralları oluşturma ve yönetme

Güvenlik duvarı sorunlarını giderme

Microsoft PostgreSQL için Azure Veritabanı Server hizmetine erişim beklediğiniz gibi davranmadığında aşağıdaki noktaları göz önünde bulundurun:

  • İzin ver listesinde yapılan değişiklikler henüz geçerli değildir: PostgreSQL için Azure Veritabanı Sunucusu güvenlik duvarı yapılandırmasındaki değişikliklerin geçerli olması beş dakika kadar gecikmeli olabilir.

  • Oturum açma yetkisi yok veya yanlış bir parola kullanıldı: Oturum açma PostgreSQL için Azure Veritabanı sunucusunda izinlere sahip değilse veya kullanılan parola yanlışsa, PostgreSQL için Azure Veritabanı sunucusuna bağlantı reddedilir. Güvenlik duvarı ayarı oluşturmak yalnızca istemcilere sunucunuza bağlanmayı deneme fırsatı sağlar; her istemci yine de gerekli güvenlik kimlik bilgilerini sağlamalıdır.

    Örneğin, bir JDBC istemcisi kullanarak aşağıdaki hata görüntülenebilir.

    java.util.concurrent.ExecutionException: java.lang.RuntimeException: org.postgresql.util.PSQLException: FATAL: password authentication failed for user "yourusername"

  • Dinamik IP adresi: Dinamik IP adresiyle kurulmuş bir İnternet bağlantınız varsa ve güvenlik duvarını aşmakta sorun yaşıyorsanız aşağıdaki çözümlerden birini deneyebilirsiniz:

    • İnternet Servis Sağlayıcınıza (ISS) PostgreSQL için Azure Veritabanı Sunucusuna erişen istemci bilgisayarlarınıza atanan IP adresi aralığını sorun ve ardından IP adresi aralığını güvenlik duvarı kuralı olarak ekleyin.

    • İstemci bilgisayarlarınız için bunun yerine statik IP adresi alın ve ardından statik IP adresini güvenlik duvarı kuralı olarak ekleyin.

  • Sunucunun IP'sinin genel olduğu görülüyor: PostgreSQL için Azure Veritabanı sunucusuna yönelik Bağlan yonlar genel olarak erişilebilen bir Azure ağ geçidi üzerinden yönlendirilir. Bununla birlikte gerçek sunucu IP'si güvenlik duvarı tarafından korunur. Daha fazla bilgi için bağlantı mimarisi makalesi adresini ziyaret edin.

  • İzin verilen IP ile Azure kaynağından bağlanılamıyor: Bağlandığınız alt ağ için Microsoft.Sql hizmet uç noktasının etkinleştirilip etkinleştirilmediğini denetleyin. Microsoft.Sql etkinse, bu alt ağda yalnızca VNet hizmet uç noktası kurallarını kullanmak istediğinizi gösterir.

    Örneğin, Microsoft.Sql'in etkinleştirildiği ancak buna karşılık gelen bir sanal ağ kuralı olmayan bir alt ağda bulunan bir Azure VM'den bağlanıyorsanız aşağıdaki hatayı görebilirsiniz:FATAL: Client from Azure Virtual Networks is not allowed to access the server

  • Güvenlik duvarı kuralı IPv6 biçiminde kullanılamaz: Güvenlik duvarı kuralları IPv4 biçiminde olmalıdır. Güvenlik duvarı kurallarını IPv6 biçiminde belirtirseniz doğrulama hatası gösterir.

Sonraki adımlar