Client kimlik doğrulaması (authentication ), pg_hba.conf olarak adlandırılan ve $PGDATA’da depolanan bir yapılandırma dosyası tarafından kontrol edilir. (HBA, host-based authentication anlamına gelir.) pg_hba.conf dosyası varsayılan olarak initdb aşamasında $PGDATA dizininde oluşturulduğunu söyledik eğer istersek  hba_file parametresi ile başka bir dizinde belirtebiliriz.

Dosyada ki her kayıt bağlantı tipi, client ip adres aralığı(bağlantı tipi için uygunsa), veritabanı adı, kullanıcı adı ve bu parametrelerle eşleşen kimlik doğrulama(authentication) yöntemini belirtir. Dosyadaki kayıtlar aşağıdaki örnekler gibi birkaç farklı biçimde olabilir.

 local         database  user  auth-method [auth-options]
host          database  user  address     auth-method  [auth-options]
hostssl       database  user  address     auth-method  [auth-options]
hostnossl     database  user  address     auth-method  [auth-options]
hostgssenc    database  user  address     auth-method  [auth-options]
hostnogssenc  database  user  address     auth-method  [auth-options]
host          database  user  IP-address  IP-mask      auth-method  [auth-options]
hostssl       database  user  IP-address  IP-mask      auth-method  [auth-options]
hostnossl     database  user  IP-address  IP-mask      auth-method  [auth-options]
hostgssenc    database  user  IP-address  IP-mask      auth-method  [auth-options]
hostnogssenc  database  user  IP-address  IP-mask      auth-method  [auth-options]
  • local : Bu kayıt, Unix domain soketleri kullanan bağlantı girişimleriyle eşleşir. Bu tür bir kayıt olmadan, Unix domain soket bağlantılarına izin verilmez dolayısıyla localhost’dan gelen isteklerde başarısız olur.
  • host : TCP/IP protokolü ile veri tabanına bağlantı kurmak isteyen clientlar için kural tanımlamayı sağlar.
  • hostssl : TCP/IP protokolü kullanılarak sadece SSL bağlantı taleplerine karşılık vermek için kullanılan tanımlamadır. Bu seçeneği kullanmak için sunucu SSL desteği ile oluşturulmalıdır. SSL yapılandırma parametresi ayarlanarak etkinleştirilmelidir. Aksi takdirde, hostssl kaydı, herhangi bir bağlantıyla eşleşemeyeceğine dair bir uyarı loga yazılması dışında yok sayılır.
  • hostnossl : SSL kullanmadan sadece TCP/IP üzerinden gelen bağlantı taleplerini karşılamak için kullanılan tanımlamadır.
  • hostgssenc : Bu kayıt, TCP / IP kullanılarak yapılan bağlantı girişimleriyle eşleşir, ancak yalnızca bağlantı GSSAPI şifrelemesiyle yapıldığında gerçekleşir. Bu seçenekten yararlanmak için sunucu GSSAPI desteği ile oluşturulmalıdır. GSSAPI şifrelemesiyle kullanılmak üzere desteklenen authentication yöntemlerinin gss, reject ve trust olduğunuda bilmeliyiz.
  • hostnogssenc : Bu kayıt türü, hostgssenc’in ters davranışına sahiptir; yalnızca GSSAPI şifrelemesini kullanmayan TCP / IP üzerinden yapılan bağlantı girişimleriyle eşleşir.

NOT : Sunucu, listen_addresses yapılandırma parametresi için uygun bir değerle başlatılmadıkça TCP / IP bağlantıları mümkün olmayacaktır, çünkü varsayılan davranış TCP / IP bağlantılarını yalnızca local loopback adresinde localhost’da dinlemektir. (continue reading…)

Loading