Veri servisleri

Veri servisi bağlantıları

Kubernetes içindeki veya dışındaki Redis, RabbitMQ, Elasticsearch ve SQL servislerini bağlayın.

İki bağlantı yolu

Kubernetes bağlantısında cluster, namespace ve Service/Pod seçersiniz; Battani gerektiğinde yalnızca sunucunun yerel döngü adresinde açılan tünel üzerinden hedefe ulaşır. Doğrudan bağlantıda ise Battani sunucusunun erişebildiği host ve port kullanılır.

Bağlantı kaydı hedef adresini, servis türünü, TLS tercihini ve erişim politikasını taşır. RabbitMQ için mesajlaşma ve yönetim endpoint’leri ayrı tanımlanabilir.

Kimlik bilgileri ve paylaşım

  • Kubernetes Secret referansı: alanlar bağlantı anında sunucu tarafında çözülür.
  • Elle girilen bilgiler: sunucuda şifrelenmiş olarak saklanır; liste yanıtları gerçek parolayı içermez.
  • Servis gerektiriyorsa TLS ve gerçek sunucu adını yapılandırma.
  • Kişisel veya sistem kapsamı; kullanıcı/ekip bazında okuma, yazma veya yönetici paylaşımı.
  • Salt okunur bağlantı seçeneği ile değiştirici işlemleri kapatma.

Yeni bağlantıyı hazırlama

SQL salt okunur erişimi için ayrı ve en az yetkili veritabanı hesabı gerekir. Ücretsiz sürüm kotası her türden 1 ve toplam 3 aktif bağlantıdır. Test etmek de ayrı bir yetkidir; hedefe gerçek bağlantı açar.

  1. Veri Servisleri bölümünde türü ve hedef bağlantı yolunu seçin.
  2. Endpoint, kimlik doğrulama ve TLS alanlarını doldurun. Önce salt okunur erişimle başlayın.
  3. Bağlantı testinde hangi aşamanın başarılı veya hatalı olduğunu kontrol edin.
  4. Kaydı açarak ilgili konsola geçin; gerekli kişilere uygun erişim seviyesini verin.

Bağlantı formu: kimlik, tür ve aktiflik

Veri Servisleri ekranındaki kayıt, bağlanılacak sunucuyu ve bu kaydı kimlerin kullanabileceğini tanımlar. İsim, açıklama, servis türü ve aktiflik bilgisini doldurun. SQL seçtiğinizde PostgreSQL, SQL Server, Oracle veya MySQL motorunu ayrıca seçin. Servis türü ile motor, kullanılacak konsolu ve sürücüyü belirler.

  • İsim: bağlantı seçicilerinde görünen açıklayıcı ad; üretim ve test ortamlarını ayırt edecek biçimde verin.
  • Açıklama: bağlantının amacı ve işletim bilgisi; parola yazmayın.
  • Aktiflik: kullanım ve ücretsiz bağlantı kotası açısından önemlidir; bir kaydı devre dışı bırakmak hedef sunucuyu kapatmaz.

Doğrudan sunucuya bağlantı

Doğrudan bağlantıda host, port ve uygun protokol tanımlanır. Adres, kullanıcının tarayıcısından değil Battani sunucusundan erişilebilir olmalıdır. Yerel bilgisayarınızdaki localhost ile sunucunun localhost adresi aynı hedef değildir. Ağ erişimi, DNS çözümü, firewall ve TLS kimliği bağlantı testinden önce birlikte kontrol edilir.

  1. Doğrudan bağlantı modunu seçin.
  2. Hedef host, port ve protokolü girin; SQL veritabanı/servis adı, RabbitMQ vhost veya Elasticsearch URL öneki gibi türe özel alanları doldurun.
  3. Kimlik doğrulama ve TLS alanlarını tamamlayın.
  4. Bağlantıyı test edin; başarısızsa son test hatasını inceleyin.

Kubernetes Service veya Pod üzerinden bağlantı

Kubernetes modunda cluster, namespace, hedef türü ve Service/Pod seçilir. Bu tür bağlantıları veya Kubernetes Secret kullanan bağlantıları tanımlamak ve değiştirmek için system:admin ya da integrations:system:manage yetkisi gerekir; yalnızca bağlantı oluşturma yetkisi yeterli değildir. Hedef portun numarası veya adı kaydedilir. Battani ihtiyaç halinde kendi sunucusunda loopback adresine bağlı bir tünel açar. Bu işlem veri servisini kendiliğinden internete açmaz.

  • Service hedefi ile tek bir Pod hedefinin yaşam döngüsü farklıdır; Pod yeniden oluşturulunca ad değişebilir.
  • Kubernetes kimliğinin hedefi bulma ve port yönlendirme izinleri bulunmalıdır.
  • Birden fazla endpoint kullanan servislerde her endpoint’in doğru hedef ve porta işaret ettiğini kontrol edin.

Kimlik doğrulama: manuel, Secret ve anonim

Manuel kimlik doğrulamada girilen alanlar sunucuda şifreli saklanır; kayıt yeniden okunduğunda alanların değerleri yerine hangi alanların tanımlı olduğu bildirilir. Kubernetes Secret yönteminde Secret’ın cluster, namespace, adı ve mantıksal alanlara karşılık gelen anahtar adları seçilir; değerler bağlantı kurulurken çözülür.

  • Secret içindeki username/password/sertifika anahtar adını doğru eşleyin; Secret adını parola alanına yazmayın.
  • Kimlik doğrulamasız seçenek yalnızca hedef servis gerçekten anonim erişime izin veriyorsa kullanılabilir.
  • Mevcut kaydı düzenlerken boş bırakılan, korunan ve açıkça değiştirilen kimlik alanlarını formun açıklamalarına göre ayırın.

TLS seçenekleri ve sunucu adı

TLS tercihi yalnızca trafiğin şifrelenmesiyle sınırlı değildir; sertifikanın hangi otoriteden geldiği ve hangi sunucuya ait olduğu da doğrulanabilir. Tam doğrulama, CA doğrulaması, doğrulamayı atlayan bağlantı ve TLS kapalı seçenekleri aynı güvenceyi sağlamaz.

  • Tam doğrulamada sertifikadaki gerçek servis adı TLS server name alanıyla eşleşmelidir. Kubernetes tünelinin 127.0.0.1 adresi sertifikadaki servis adı yerine geçmez.
  • Kurum içi CA kullanılıyorsa ilgili CA sertifikasını tanımlayın.
  • Sürücü bir TLS birleşimini güvenilir biçimde desteklemiyorsa bağlantı reddedilebilir; bunu sessizce daha zayıf doğrulamaya geçiş olarak yorumlamayın.

Kişisel ve sistem kapsamı, kullanıcı ve ekip paylaşımı

Kişisel bağlantının görünürlüğü oluşturan kişi, sahibi ekip ve açık paylaşımlarla belirlenir. Sistem bağlantısını ilgili servis görüntüleme yetkisi olan kullanıcılar varsayılan olarak okuma düzeyinde görebilir; paylaşımlar bu düzeyi yükseltebilir. integrations:system:manage yetkisi sistem bağlantılarında ayrıca admin düzeyi sağlar; system:admin kullanıcısı owner düzeyinde erişir. Sistem bağlantılarını tanımlamak ve yönetmek için bu yönetim yetkilerinden biri gerekir.

  • Read: izin verilen görüntüleme ve okuma işlemleri.
  • Write: bağlantının salt okunur kilidi kapalıysa ve işlem yetkisi varsa veri değişikliği.
  • Admin: bağlantının yönetim düzeyi gerektiren işlemleri; yine servis hesabının kendi yetkileri uygulanır.
  • Bir kullanıcıya kaynak paylaşmak, o kullanıcıya bütün modül izinlerini otomatik olarak vermez.

Salt okunur kilit ve SQL yetki kapsamları

Bağlantıdaki salt okunur anahtar, kullanıcıya yazma yetkisi verilmiş olsa bile değişiklik işlemlerini engeller. SQL’de okuma ve yazma için ayrı kimlik bilgileri tanımlanabilir. Veritabanı, şema ve sunucu yönetimi izinleri de bağlantı düzeyindeki paylaşımın üzerine uygulanır.

  1. Önce kullanıcının modül/işlem yetkisini doğrulayın.
  2. Bağlantıdaki paylaşım düzeyini ve SQL kapsam izinlerini inceleyin.
  3. Salt okunur durumunu ve oturumun read/write modunu kontrol edin.
  4. Hedef veritabanı hesabının gerçek izinlerini doğrulayın; arayüz yetkisi hedef veritabanında GRANT oluşturmaz.

Zaman aşımı, sayfalama ve bağlantı testi

Bağlantı zaman aşımı bağlantının kurulmasını; istek zaman aşımı servisteki işlemi; boşta kapatma süresi kullanılmayan bağlantının yaşamını sınırlar. Azami sayfa boyutu bir listeleme/sorgu isteğinin tek seferde getireceği veri için kullanılır. Büyük değerler daha çok kaynak tüketebilir; hedef servis kapasitesine göre belirlenir.

  • Son test zamanı, başarı durumu ve hata metnini okuyun; eski başarılı test yeni ağ veya yetki değişikliklerini kanıtlamaz.
  • Bağlantı testi her konsol işleminin yetkisini tek tek sınamaz.
  • Ücretsiz kullanımda tür başına 1, toplam 3 aktif veri bağlantısı sınırı vardır; ikinci bir SQL motoru da SQL türü kotasına dahildir.