Aracılığıyla paylaş


PostgreSQL için Azure Cosmos DB'de genel erişim

ŞUNLAR IÇIN GEÇERLIDIR: PostgreSQL için Azure Cosmos DB (PostgreSQL'e citus veritabanı uzantısıyla desteklenir)

PostgreSQL için Azure Cosmos DB üç ağ seçeneğini destekler:

  • Erişim yok
    • Genel veya özel erişim etkin değilse, yeni oluşturulan küme için varsayılan değer budur. Azure'ın içinde veya dışında hiçbir bilgisayar veritabanı düğümlerine bağlanamıyor.
  • Genel erişim
    • Koordinatör düğümüne bir genel IP adresi atanır.
    • Koordinatör düğümüne erişim güvenlik duvarı tarafından korunur.
    • İsteğe bağlı olarak, tüm çalışan düğümlerine erişim etkinleştirilebilir. Bu durumda, genel IP adresleri çalışan düğümlerine atanır ve aynı güvenlik duvarı tarafından güvenlik altına alınır.
  • Özel erişim
    • Kümenin düğümlerine yalnızca özel IP adresleri atanır.
    • Her düğüm, seçilen sanal ağdaki konakların düğümlere erişmesine izin vermek için özel bir uç nokta gerektirir.
    • Erişim denetimi için ağ güvenlik grupları gibi Azure sanal ağlarının güvenlik özellikleri kullanılabilir.

Küme oluşturduğunuzda genel veya özel erişimi etkinleştirebilir veya varsayılan erişim yok seçeneğini tercih edebilirsiniz. Küme oluşturulduktan sonra genel veya özel erişim arasında geçiş yapmayı veya ikisini birden etkinleştirmeyi seçebilirsiniz.

Bu sayfada genel erişim seçeneği açıklanmaktadır. Özel erişim için bkz . PostgreSQL için Azure Cosmos DB'de özel erişim.

Güvenlik duvarına genel bakış

PostgreSQL için Azure Cosmos DB sunucu güvenlik duvarı, hangi bilgisayarların izni olduğunu belirtene kadar koordinatör düğümünüzün tüm erişimini 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 koordinatör düğümünüzü, yani aynı mantıksal sunucu içindeki tüm veritabanlarını erişmesini sağlar. Sunucu düzeyinde güvenlik duvarı kuralları Azure portalı 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.

Koordinatör düğümünüzün tüm veritabanı erişimi varsayılan olarak güvenlik duvarı tarafından engellenir. Sunucunuzu başka bir bilgisayardan kullanmaya başlamak için sunucunuza erişimi etkinleştirmek için bir veya daha fazla sunucu düzeyinde güvenlik duvarı kuralı belirtmeniz gerekir. İnternet'ten hangi IP adresi aralıklarına izin verileceğini 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 ve Azure'dan gelen bağlantı girişimlerinin PostgreSQL veritabanınıza ulaşmadan önce güvenlik duvarından geçmesi gerekir:

Uzak ve yerel sistemler ile başarısız bağlantılar arasındaki sunucu düzeyinde güvenlik duvarı kurallarını gösteren diyagram.

İnternet'ten ve Azure'dan bağlanma

Küme güvenlik duvarı, grubun koordinatör düğümüne kimlerin bağlanabileceğini denetler. Güvenlik duvarı, yapılandırılabilir bir kural listesine başvurarak erişimi belirler. Her kural, içinde izin verilen bir IP adresi veya adres aralığıdır.

Güvenlik duvarı bağlantıları engellediğinde uygulama hatalarına neden olabilir. Örneğin PostgreSQL JDBC sürücüsünün kullanılması, aşağıdaki gibi bir hata oluşturur:

java.util.concurrent.ExecutionException: java.lang.RuntimeException: org.postgresql.util.PSQLException: FATAL: no pg\_hba.conf entry for host "123.45.67.890", user "citus", database "citus", SSL

Kuralların nasıl tanımlandığını öğrenmek için bkz . Güvenlik duvarı kuralları oluşturma ve yönetme.

Veritabanı sunucusu güvenlik duvarı sorunlarını giderme

PostgreSQL için Microsoft Azure Cosmos DB hizmetine erişim beklediğiniz gibi davranmadığında şu noktaları göz önünde bulundurun:

  • İzin verme listesindeki değişiklikler henüz geçerli değildir: PostgreSQL için Azure Cosmos DB güvenlik duvarı yapılandırmasında yapılan değişikliklerin geçerli olması beş dakika kadar gecikmeli olabilir.

  • Kullanıcı yetkilendirilmediyse veya yanlış bir parola kullanıldı: Kullanıcının sunucuda izinleri yoksa veya kullanılan parola yanlışsa, sunucu bağlantısı 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 adresleme ile İnternet bağlantınız varsa ve güvenlik duvarından geçerken sorun yaşıyorsanız aşağıdaki çözümlerden birini deneyebilirsiniz:

    • Internet Servis Sağlayıcınızdan (ISS) koordinatör düğümüne erişen istemci bilgisayarlarınıza atanan IP adresi aralığını isteyin 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.

Sonraki adımlar

Sunucu düzeyinde ve veritabanı düzeyinde güvenlik duvarı kuralları oluşturma makalelerinde bkz: