Share via


PostgreSQL için Azure Veritabanı için Sanal Ağ hizmet uç noktalarını ve kurallarını kullanma - Tek Sunucu

Ş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?.

Sanal ağ kuralları, PostgreSQL için Azure Veritabanı sunucunuzun sanal ağlardaki belirli alt ağlardan gönderilen iletişimleri kabul edip etmediğini denetleen bir güvenlik duvarı güvenlik özelliğidir. Bu makalede, sanal ağ kuralı özelliğinin neden bazen PostgreSQL için Azure Veritabanı sunucunuzla güvenli bir şekilde iletişime izin vermek için en iyi seçeneğiniz olduğu açıklanmaktadır.

Sanal ağ kuralı oluşturmak için öncelikle kuralın başvuracağı bir sanal ağ (VNet) ve bir sanal ağ hizmet uç noktası olmalıdır. Aşağıdaki resimde Sanal Ağ hizmet uç noktasının PostgreSQL için Azure Veritabanı ile nasıl çalıştığı gösterilmektedir:

Sanal Ağ Hizmet Uç Noktası'nın nasıl çalıştığına yönelik örnek

Not

Bu özellik, PostgreSQL için Azure Veritabanı Genel Amaçlı ve Bellek için İyileştirilmiş sunucular için dağıtıldığı Azure genel bulutunun tüm bölgelerinde kullanılabilir. Sanal ağ eşlemesi söz konusu olduğunda, trafik hizmet uç noktalarıyla ortak bir sanal ağ geçidi üzerinden akıyorsa ve eşe akışı olması gerekiyorsa, ağ geçidi sanal ağındaki Azure Sanal Makineler PostgreSQL için Azure Veritabanı sunucusuna erişmesine izin vermek için lütfen bir ACL/VNet kuralı oluşturun.

Ayrıca, bağlantılar için Özel Bağlantı kullanmayı da düşünebilirsiniz. Özel Bağlantı, PostgreSQL için Azure Veritabanı sunucusu için sanal ağınızda özel bir IP adresi sağlar.

Terminoloji ve açıklama

Sanal ağ: Azure aboneliğinizle ilişkilendirilmiş sanal ağlarınız olabilir.

Alt ağ: Sanal ağ alt ağlar içerir. Sanal ağ içindeki tüm Azure sanal makineleri (VM'ler) bir alt ağa atanır. Alt ağ birden çok VM ve/veya diğer işlem düğümleri içerebilir. Güvenliğinizi erişime izin verecek şekilde yapılandırmadığınız sürece sanal ağınızın dışındaki işlem düğümleri sanal ağınıza erişemez.

hizmet uç noktasını Sanal Ağ:Sanal Ağ hizmet uç noktası, özellik değerleri bir veya daha fazla resmi Azure hizmet türü adı içeren bir alt ağdır. Bu makalede, SQL Veritabanı adlı Azure hizmetine başvuran Microsoft.Sql tür adıyla ilgileniyoruz. Bu hizmet etiketi PostgreSQL için Azure Veritabanı ve MySQL hizmetleri için de geçerlidir. Microsoft.Sql hizmet etiketini bir sanal ağ hizmet uç noktasına uygularken Azure Veritabanı Hizmetleri için hizmet uç noktası trafiğini yapılandıracağını unutmayın: SQL Veritabanı, Azure Synapse Analytics, PostgreSQL için Azure Veritabanı ve MySQL için Azure Veritabanı sunucuları alt ağı seçin.

Sanal ağ kuralı: PostgreSQL için Azure Veritabanı sunucunuz için sanal ağ kuralı, PostgreSQL için Azure Veritabanı sunucunuzun erişim denetimi listesinde (ACL) listelenen bir alt ağdır. PostgreSQL için Azure Veritabanı sunucunuzun ACL'sinde olmak için alt ağın Microsoft.Sql tür adını içermesi gerekir.

Sanal ağ kuralı, PostgreSQL için Azure Veritabanı sunucunuza alt ağdaki her düğümden gelen iletişimleri kabul etmelerini söyler.

Sanal ağ kuralının avantajları

Siz eyleme geçinceye kadar alt ağlarınızdaki VM'ler PostgreSQL için Azure Veritabanı sunucunuzla iletişim kuramaz. İletişimi oluşturan bir eylem, bir sanal ağ kuralı oluşturmaktır. Sanal ağ kuralı yaklaşımını seçme mantığı, güvenlik duvarı tarafından sunulan rakip güvenlik seçeneklerini içeren karşılaştırma ve karşıtlık tartışması gerektirir.

Azure hizmetlerine erişim izni verme

Bağlan ion güvenlik bölmesinde Azure hizmetlerine erişime izin ver etiketli bir AÇMA/KAPATMA düğmesi vardır. ON ayarı tüm Azure IP adreslerinden ve tüm Azure alt ağlarından gelen iletişimlere izin verir. Bu Azure IP'leri veya alt ağları size ait olmayabilir. Bu AÇIK ayarı büyük olasılıkla PostgreSQL için Azure Veritabanı Veritabanınızın olmasını istediğinizden daha açık. Sanal ağ kuralı özelliği çok daha ayrıntılı denetim sunar.

IP kuralları

PostgreSQL için Azure Veritabanı güvenlik duvarı, PostgreSQL için Azure Veritabanı Veritabanı'na gelen iletişimlerin kabul edildiği IP adresi aralıklarını belirtmenize olanak tanır. Bu yaklaşım, Azure özel ağının dışındaki kararlı IP adresleri için uygundur. Ancak Azure özel ağının içindeki birçok düğüm dinamik IP adresleriyle yapılandırılır. Vm'nizin yeniden başlatılması gibi dinamik IP adresleri değişebilir. Üretim ortamında bir güvenlik duvarı kuralında dinamik IP adresi belirtmek çok kolay olabilir.

VM'niz için statik bir IP adresi alarak IP seçeneğini kurtarabilirsiniz. Ayrıntılar için bkz . Azure portalını kullanarak sanal makine için özel IP adreslerini yapılandırma.

Bununla birlikte, statik IP yaklaşımının yönetilmesi zor olabilir ve büyük ölçekte yapıldığında pahalıya patlar. Sanal ağ kurallarının oluşturulması ve yönetilmesi daha kolaydır.

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.

Tüm sanal ağ kuralları, temel alınan uç noktasının geçerli olduğu bölgeyle sınırlıdır.

Veritabanı düzeyinde değil sunucu düzeyinde

Her sanal ağ kuralı yalnızca sunucudaki belirli bir veritabanına değil, tüm PostgreSQL için Azure Veritabanı sunucunuza uygulanır. Başka bir deyişle, sanal ağ kuralı veritabanı düzeyinde değil sunucu düzeyinde uygulanır.

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 biri için eylem gereklidir:

  • Ağ Yönetici: Uç noktayı açın.
  • Veritabanı Yönetici: Verilen alt ağı PostgreSQL için Azure Veritabanı sunucusuna eklemek için erişim denetimi listesini (ACL) güncelleştirin.

Azure RBAC alternatifi:

Ağ Yönetici ve Veritabanı Yönetici rolleri, sanal ağ kurallarını yönetmek için gerekenden daha fazla özelliğe sahiptir. Yeteneklerinin yalnızca bir alt kümesi gereklidir.

Yalnızca gerekli yetenek alt kümesine sahip tek bir özel rol oluşturmak için Azure'da Azure rol tabanlı erişim denetimini (Azure RBAC) kullanma seçeneğiniz vardır. Ağ Yönetici veya Veritabanı Yönetici dahil etmek yerine özel rol kullanılabilir. Bir kullanıcıyı özel bir role eklerseniz, diğer iki ana yönetici rolüne eklemek yerine güvenlik açıklarınızın yüzey alanı daha düşüktür.

Not

Bazı durumlarda PostgreSQL için Azure Veritabanı ve sanal ağ alt ağı farklı aboneliklerdedir. Bu durumlarda aşağıdaki yapılandırmalardan emin olmanız gerekir:

  • Her iki abonelik de aynı Microsoft Entra kiracısında olmalıdır.
  • 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 aboneliğin de Microsoft.Sql ve Microsoft.DBforPostgreSQL kaynak sağlayıcısının kayıtlı olduğundan emin olun. Daha fazla bilgi için bkz. resource-manager-registration

Sınırlamalar

PostgreSQL için Azure Veritabanı için sanal ağ kuralları özelliği aşağıdaki sınırlamalara sahiptir:

  • Web Uygulaması, bir sanal ağ/alt ağ içindeki özel IP'ye eşlenebilir. Hizmet uç noktaları verilen sanal ağdan/alt ağdan AÇILSA bile, Web Uygulamasından sunucuya yapılan bağlantıların sanal ağ/alt ağ kaynağı değil Azure genel IP kaynağı olur. Web Uygulamasından sanal ağ güvenlik duvarı kuralları olan bir sunucuya bağlantıyı etkinleştirmek için Azure hizmetlerinin sunucudaki sunucuya erişmesine izin vermelisiniz.

  • PostgreSQL için Azure Veritabanı güvenlik duvarında her sanal ağ kuralı bir alt ağa başvurur. Başvuruda bulunılan tüm alt ağlar, PostgreSQL için Azure Veritabanı barındıran coğrafi bölgede barındırılmalıdır.

  • Her PostgreSQL için Azure Veritabanı sunucusu, belirli bir sanal ağ için en fazla 128 ACL girdisine sahip olabilir.

  • Sanal ağ kuralları yalnızca Azure Resource Manager sanal ağlarına uygulanır; ve klasik dağıtım modeli ağlarına değil.

  • Microsoft.Sql hizmet etiketini kullanarak sanal ağ hizmet uç noktalarını PostgreSQL için Azure Veritabanı açmak, tüm Azure Veritabanı hizmetleri için uç noktaları da etkinleştirir: MySQL için Azure Veritabanı, PostgreSQL için Azure Veritabanı, Azure SQL Veritabanı ve Azure Synapse Analytics.

  • Sanal ağ hizmet uç noktaları için destek yalnızca Genel Amaçlı ve Bellek için İyileştirilmiş sunucular içindir.

  • Microsoft.Sql bir alt ağda etkinleştirildiyse, bağlanmak için yalnızca sanal ağ kurallarını kullanmak istediğinizi gösterir. Bu alt ağdaki kaynakların sanal ağ dışı güvenlik duvarı kuralları çalışmaz.

  • Güvenlik duvarında IP adresi aralıkları aşağıdaki ağ öğelerine uygulanır, ancak sanal ağ kuralları geçerli değildir:

ExpressRoute

Ağınız ExpressRoute kullanarak Azure ağına bağlıysa, her bağlantı hattı Microsoft Edge'de iki genel IP adresiyle yapılandırılır. İki IP adresi, Azure Genel Eşlemesi kullanılarak Azure Depolama gibi Microsoft Hizmetlerine bağlanmak için kullanılır.

Bağlantı hattınızdan PostgreSQL için Azure Veritabanı iletişimine izin vermek için, bağlantı hatlarınızın genel IP adresleri için IP ağ kuralları oluşturmanız gerekir. ExpressRoute bağlantı hattınızın genel IP adreslerini bulmak için Azure portalını kullanarak ExpressRoute ile bir destek bileti açın.

Sanal Ağ Hizmet Uç Noktalarını açmadan sunucunuza sanal ağ güvenlik duvarı kuralı ekleme

Yalnızca bir sanal ağ güvenlik duvarı kuralı ayarlamak sunucunun sanal ağa güvenliğini sağlamaya yardımcı olmaz. Güvenliğin etkili olması için sanal ağ hizmet uç noktalarını da Açık duruma getirmek gerekir. Hizmet uç noktalarını Açık duruma getirince, sanal ağınız Kapalı'dan Açık'a geçişi tamamlayana kadar kapalı kalma süresi yaşar. Bu durum özellikle büyük sanal ağlar bağlamında gerçekleşir. Geçiş sırasında kapalı kalma süresini azaltmak veya ortadan kaldırmak için IgnoreMissingServiceEndpoint bayrağını kullanabilirsiniz.

Azure CLI veya portalı kullanarak IgnoreMissingServiceEndpoint bayrağını ayarlayabilirsiniz.

Sonraki adımlar

Sanal ağ kuralları oluşturma makalelerinde bkz: