Databricks Uygulamaları için ağı yapılandırma

Databricks Apps, uygulamanızın İnternet ve iç kaynaklarla nasıl iletişim kuracaklarını güvenli bir şekilde korumanıza ve yönetmenize yardımcı olmak için ayrıntılı ağ denetimini destekler. IP erişim listelerinin, ön uç özel bağlantının ve ağ ilkelerinin bir bileşimini kullanarak hem giriş (gelen) hem de çıkış (giden) trafik kurallarını yapılandırabilirsiniz.

Ağ mimarisi

Azure Databricks, uygulamaları doğrudan trafik aldıkları sunucusuz işlem düzleminde dağıtır. Bu, Model Hizmetleri ve Vektör Arama gibi rota optimize edilmiş diğer hizmetlere benzer.

Bağlantı işlemi aşağıdaki gibi çalışır:

  1. Azure Databricks bir uygulamaya yönelik ilk kullanıcı istekleri, oturumu doğrulamak ve uygulamaya erişimi yetkilendirmek için denetim düzlemiyle OAuth kimlik doğrulamasını başlatır.
  2. Kimlik doğrulaması başarılı olursa, izleyen tüm istekler kontrol düzlemi dolaşmadan doğrudan sunucusuz işlem düzlemine yönlendirilir.

Sunucusuz işlem düzlemi için yapılandırılan ağ güvenlik ilkeleri Databricks Apps trafiğine uygulanır. Buna IP erişim listeleri ve ön uç özel bağlantı yapılandırmaları dahildir.

Giriş denetimleri

genel İnternet'ten Azure Databricks çalışma alanınıza ve uygulamalarınıza erişimi sınırlamak için aşağıdaki özellikleri kullanın.

  • IP erişim listeleri: Çalışma alanı düzeyinde IP erişim listelerini etkinleştirerek bilinen ve güvenilen IP aralıklarıyla çalışma alanı ve uygulama erişimini kısıtlayın. Yalnızca yapılandırılmış IP aralıklarından gelen trafiğe izin verilir. Ayrıntılar için bkz. Çalışma alanları için IP erişim listelerini yapılandırma.
  • Front-end özel bağlantı: Uygulamalara güvenli bir şekilde erişmek için giriş trafiğini sanal ağınız üzerinden bir Azure Private Link bağlantısıyla yönlendirin.

    databricksapps.com etki alanı için koşullu DNS iletmeyi yapılandırarak özel bağlantınız aracılığıyla düzgün bir ad çözümlemesi sağlamanız gerekir. Aksi takdirde, uygulamanızın etki alanına yönelik DNS sorguları özel uç nokta yerine genel IP adreslerine çözümlenebilir. Kurulum yönergeleri için bkz. Gelen Özel Bağlantıyı Yapılandırın.

    Eski bölgesel URL'ler, uygulama kimlik doğrulaması için gerekli olan OAuth'u desteklemediğinden Databricks Uygulamaları ile desteklenmez. Ayrıntılar için bkz. Eski bölgesel URL.

Çıkış denetimleri

Uygulamanızdan giden trafiği denetlemek için bir ağ bağlantısı yapılandırması (NCC) oluşturun ve uygulamayı barındıran çalışma alanına ağ ilkeleri uygulayın.

Ağ bağlantısı yapılandırmaları

Uygulamanızı Azure hizmetlerine güvenli bir şekilde bağlamak için network bağlantı yapılandırması kullanın. NCC'ler, uygulamanızdan ve diğer sunucusuz işlemlerden erişime açıkça izin vermek için depolama hesabı güvenlik duvarına ekleyebileceğiniz kararlı alt ağ kimlikleri sağlar.

Çıkış trafiğini özel hedeflere daha fazla kısıtlamak için, Azure kaynaklar için sunucusuz özel uç noktaları yapılandırın veya trafiği sanal ağınızdaki Azure yük dengeleyici aracılığıyla yönlendirin.

Ağ ilkeleri

Databricks uygulamalarında ve diğer sunucusuz iş yüklerinde çıkış kısıtlamaları uygulamak için ağ ilkelerini kullanın. Bu, giden bağlantıyı denetlemek için kuruluş veya uyumluluk gereksinimlerini karşılamanız gerektiğinde kullanışlıdır.

Uyarı

Ağ ilkeleri yalnızca Premium katmanında kullanılabilir.

Uygulamanız şu şekildeyse bir ağ ilkesi uygulayın:

  • Erişimi belirli bir onaylanan dış etki alanları kümesiyle sınırlamalı
  • Yanlışlıkla veri sızdırmayı önlemesi gerekiyor
  • Giden İnternet trafiğini kısıtlayan güvenlik veya uyumluluk standartlarına uyması gerekir

Uygulama dağıtımı için gerekli çıkış ağ alanları

Kısıtlı çıkış ağ ilkelerini kullandığınızda, uygulama derlemelerinin veya çalışma zamanının başarılı olması için belirli etki alanlarını izin verilenler listesine eklemelisiniz. Bu etki alanları olmadan uygulama dağıtımları başarısız olur çünkü derleme işlemi bağımlılıkları indiremez veya gerekli hizmetlerle iletişim kuramaz.

Tüm Databricks uygulamaları dağıtımları için aşağıdaki etki alanları gereklidir:

Alan adı Amaç
*.databricksapps.com Uygulama sunma ve kullanıcı bağlantısı
pypi.org, files.pythonhosted.org Uygulama oluşturma sırasında Python paket indirmeleri (uygulamanız requirements.txt kullanıyorsa gereklidir)
registry.npmjs.org Uygulama oluşturma aşamasında Node.js paket indirmeleri (uygulamanız package.json kullanıyorsa gereklidir)

:::

Ayrıca, Azure dağıtımları şu etki alanlarını gerektirebilir:

Alan adı Amaç
*.blob.core.windows.net Azure Blob Storage'a bağlanan uygulamalar tarafından kullanılan uç noktalar
*.dfs.core.windows.net Azure Data Lake Storage uç noktaları, ADLS'ye bağlanan uygulamalar tarafından kullanılır.

:::

:::

Uygulamanız, belirli bağımlılıklarınıza veya çağırmış olduğu dış API'lere bağlı olarak ek etki alanları gerektirebilir. Örneğin, uygulamanız bir üçüncü taraf REST API çağırırsa bu API'nin etki alanını izin verilenler listesine ekleyin.

Önemli

Sınırlı çıkışa sahip Private Link ortamlarda, eksik etki alanı izin listesi girişleri genellikle uygulama dağıtım hatalarına neden olur. Uygulamanız dağıtılamazsa, hangi etki alanlarının system.access.outbound_network ekleneceğini belirlemek için sistem tablosunda reddedilen bağlantı girişimleri olup olmadığını denetleyin. Bkz. Reddetme günlüklerini kontrol et.

Ağ ilkelerini yapılandırmaya yönelik en iyi yöntemler

İstenmeyen kesintileri önlemek ve uygulamalarınızın gerekli kaynaklara erişebildiğinden emin olmak için şu yönergeleri izleyin:

  • Yalnızca gerekli hedeflere izin ver. Uygulamanızın ihtiyaç duyduğu genel veya özel kaynaklar için tam etki alanı adları (FQDN) ekleyin. Uygulama dağıtımı için gerekli olan asgari etki alanı kümesini görmek için gerekli çıkış etki alanlarını inceleyin.
  • Paket depolarını gerektiği gibi dahil edin. Uygulamanız genel Python veya Node.js paketleri yüklüyorsa, Python için pypi.org veya Node için registry.npmjs.org gibi etki alanlarına izin vermeniz gerekebilir. Uygulamanız, belirli bağımlılıklarınıza bağlı olarak ek veya farklı etki alanları gerektirebilir. Bu depolar olmadan, requirements.txt ya da package.json'e bağlı uygulama derlemeleri başarısız olabilir.
  • Ağ ilkenizi doğrulamak için kuru çalıştırma modunu kullanın. Bu mod, trafiği engellemeden ilke uygulamasını simüle eder.
  • system.access.outbound_network tablosunu kullanarak reddedilen bağlantı girişimlerini gözden geçirin. Bu, izin vermeniz gerekebilecek etki alanlarını belirlemenize yardımcı olur. Bkz. Reddetme günlüklerini kontrol et.
  • Unity Kataloğu'nda kayıtlı olmayan güvenilen API'ler veya Azure depolama hesapları gibi gerekli dış etki alanlarını ekleyin.

Çalışma alanınız ön uç özel bağlantı kullanıyorsa Databricks uygulamalarını dağıtmak ve kullanmak için ek yapılandırma adımlarını tamamlamanız gerekir. Bu yapılandırma olmadan uygulama dağıtımları başarısız olabilir veya kullanıcılar uygulamaya ulaşamayabilir.

DNS yapılandırması

Uygulama URL'lerinin genel IP adresleri yerine özel IP adreslerine çözümlenmesi için etki alanı için databricksapps.com koşullu DNS iletmeyi yapılandırmanız gerekir. Bu yapılandırma olmadan, özel ağın arkasındaki kullanıcılar dağıtılan uygulamalara erişemez.

Azure DNS sunucunuza aşağıdaki etki alanları için koşullu iletme kuralları ekleyin:

  • *.databricksapps.com
  • *.azuredatabricks.net
  • *.privatelink.azuredatabricks.net

Sanal ağınızın Azure Private DNS Bölgesi'ne bağlandığını doğrulayın. Ayrıntılı DNS kurulum yönergeleri için bkz. Özel DNS yapılandırması.

Çıkış gereksinimleri

Sınırlı çıkışa sahip Private Link ortamlarda, uygulamalar hem derleme zamanında hem de çalışma zamanında belirli etki alanlarına giden bağlantı gerektirir. Uygulama dağıtımı için gerekli çıkış etki alanlarının tam listesini görmek için izin verilenler listesine bakınız.

Private Link bir ortamdaki uygulamalar için çıkış yapılandırmak için:

  1. Bir ağ bağlantısı yapılandırması (NCC) oluşturun veya güncelleştirin ve uygulamanızı barındıran çalışma alanına ekleyin.
  2. Gerekli etki alanlarını izin verilenler listesine eklemek için bir ağ ilkesi oluşturun veya güncelleştirin.
  3. Trafiği engellemeden yapılandırmanızı doğrulamak için önce kuru çalıştırma modunu kullanın.
  4. system.access.outbound_network Uygulama dağıtımı sırasında reddedilen bağlantı girişimleri için sistem tablosunu gözden geçirin.

Uygulamanız Private Link bir ortamda dağıtılamazsa:

  1. Çıkış reddetme günlüklerini denetleyin. system.access.outbound_network Son reddetme olayları için sistem tablosunu sorgulayın. Bkz. Reddetme günlüklerini kontrol et.

    SELECT *
    FROM system.access.outbound_network
    WHERE event_time >= CURRENT_TIMESTAMP() - INTERVAL 2 HOUR
    ORDER BY event_time DESC;
    
  2. DNS çözümlemeyi doğrulayın. Uygulamanızın URL'sinin genel bir IP adresine değil, özel bir IP adresine çözümlendiğini onaylayın. Özel ağınızın içinden nslookup kullanarak aşağıdakileri denetleyin.

    nslookup <your-app-name>.databricksapps.com
    
  3. Ağ ilkesi yapılandırmasını gözden geçirin. Gerekli etki alanlarının izin verilenler listesinde olduğunu doğrulayın. Paket depoları için eksik etki alanları (pypi.org, registry.npmjs.org) derleme hatalarının en yaygın nedenidir.

  4. Uygulamayı yeniden başlatın. Ağ ilkelerini güncelleştirdikten sonra, güncelleştirilmiş ilkelerin etkili olması için uygulamayı yeniden dağıtın veya yeniden başlatın. Bkz. Sunucusuz iş yüklerini yeniden başlatma veya yeniden dağıtma.

Şifreleme ve trafik yönlendirme

Databricks Apps, ağ iletişimlerinin güvenliğini sağlamak ve verileri korumak için ayrılmış yönlendirme yollarını ve birden çok şifreleme katmanını kullanır.

Trafik yönlendirme

Azure Databricks kontrol düzlemi, işlem düzlemi, diğer Azure Databricks kaynakları ve bulut hizmetleri arasındaki trafik bulut sağlayıcısının genel ağı üzerinden hareket eder ve genel İnternet'ten geçiş yapmaz.

Kullanıcılar ile databricksapps.com arasındaki trafik, kullanıcının ağ konumuna bağlı olarak genel İnternet üzerinden geçebilir. Genel İnternet yönlendirmesini önlemek için ön uç özel bağlantısını yapılandırın.

Aktarım sırasında şifreleme

Uygulamalara gelen ve uygulamalardan gelen tüm ağ iletişimleri şifrelenir:

  • Kullanıcı trafiği: Kullanıcılar arasındaki iletişim ve databricksapps.com Aktarım Katmanı Güvenliği (TLS) 1.3 şifrelemesi kullanılır.
  • Control düzlemi trafiği: Azure Databricks denetim düzlemi ile işlem düzlemi arasındaki iletişim, uygulama oluşturma, güncelleştirmeler ve silme gibi yönetim işlemleri için karşılıklı TLS (mTLS) kullanır.

Bekleyen şifreleme

Databricks Apps aşağıdaki yöntemleri kullanarak depolanan verileri şifreler:

  • Application code: Azure Databricks uygulama kodunu çalışma alanı dosyalarında depolar ve not defterleri ve diğer çalışma alanı dosyalarıyla aynı şifrelemeyi kullanır.
  • İşlem depolama alanı: Uygulamalar, AES-256 ile şifrelenmiş kısa ömürlü konak işletim sistemi disklerini ve bulut sağlayıcısının varsayılan şifreleme uygulamasını kullanır.