TLS, uingiaji wa mtandao na haki za SQL hujibu maswali tofauti
Kusimba muunganisho, kuruhusu chanzo na kutoa jedwali ni maamuzi matatu. Yapitie kwa mpangilio kabla ya kuuliza kama TLS inaweza kuchukua nafasi ya VPN.
Mtu anapendekeza kumpa mteja kuingia kwenye PostgreSQL ili ombi la gharama lisafiri likiwa limesimbwa kutoka mwanzo hadi mwisho. Msimamizi wa hifadhidata anahitaji kikao halisi cha SQL, na mtu mwingine anapendekeza fomu ya wavuti badala yake. Mapendekezo yote mawili yanatatua tatizo lisilofaa, kwa sababu hakuna hata moja lililoanza na operesheni ambayo mteja hufanya kwa kweli. Yapitie maamuzi matatu kwa mpangilio na swali la kama TLS inaweza kuchukua nafasi ya VPN litajijibu lenyewe.
Anza na operesheni ambayo mteja anaihitaji
Andika kile ambacho mteja anapaswa kufikia. Kuwasilisha ombi, kusoma safu moja ya ripoti na kuendesha hoja ya papo hapo ni operesheni tatu tofauti zenye profaili tatu tofauti za hatari.
Kisha andika ni nani anayefanya ombi. Mteja, wakala wa msaada na msimamizi hawabadilishani hata wanapogusa jedwali moja. Tofauti hiyo huamua ni kiasi gani cha lugha ya hoja ambacho mteja anapaswa kuona.
Jozi ya majibu huamua kiolesura. Kila kitu kinachofuata ni utekelezaji, na mijadala mingi kuhusu usimbaji fiche kwa kweli ni mijadala kuhusu kiolesura kipi kilichochaguliwa.
Vidhibiti vitatu, maamuzi matatu
TLS iliyothibitishwa hulinda muunganisho na huamua ni vitambulisho vipi vya TLS vinavyokubaliwa. Uingiaji wa mtandao huamua ni vyanzo vipi vinavyoweza kufikia msikilizaji. Uidhinishaji wa hifadhidata huamua ni vitu na vitendo vipi ambavyo jukumu linaweza kutumia.
Hakuna hata moja kati ya matatu inayochukua nafasi ya nyingine, jambo ambalo jedwali hulifafanua.
| Control | What it decides | What it leaves open |
|---|---|---|
| Authenticated TLS | Connection protection and which TLS identities are accepted | Which tables a database user may touch |
| Restricted network entry | Which sources reach the listener | Whether an authenticated user should run a given statement |
| Database authorization | Which objects and actions a role may use | Whether the connection arrived by an approved path |
Soma safu unayoitumaini kabla ya kuondoa nyingine. Mengi ya miundo hii hushindwa kwa sababu udhibiti ulidhaniwa badala ya kusanidiwa.
SQL ya moja kwa moja huiacha sera ya hifadhidata ikiwa na jukumu
Kwa muunganisho wa moja kwa moja ulioidhinishwa, weka uthibitishaji wa utambulisho wa huduma na sera ya ufikiaji iliyokusudiwa. Kuwasha TLS hufanya miunganisho iliyosimbwa ipatikane; haikatai isiyosimbwa isipokuwa usanidi wa ufikiaji unasema hivyo kupitia maingizo ya hostssl.
Tofauti hiyo inafaa kuhakikiwa katika usanidi unaoendesha na si katika kiolezo. Seva inayotoa TLS na kukubali maandishi wazi si muundo ambao wengi wanafikiri wameusambaza. Soma kanuni za ufikiaji na uone ni maingizo gani yanayohitaji hilo kwa kweli. Ukaguzi mmoja huo hutenganisha seva inayoweza kusimba na seva iliyosimbwa pekee.
Tumia majukumu yenye haki zinazohitajika na kazi pekee, na pitia umiliki, uanachama wa kurithi na ruhusa zilizotolewa kwa upana. Mfumo wa haki za PostgreSQL ni mpaka wa mamlaka kwa vitu vya hifadhidata.
VPN inaweza kuzuia ni vifaa vipi vinavyofikia huduma kabla ya uthibitishaji wa hifadhidata kutokea, na lango la ufikiaji linaweza kufanya kitu kama hicho. Hakuna hata moja inayoondoa hitaji la kudumisha sehemu iliyo wazi, kusimamia vitambulisho na kupunguza matumizi ya rasilimali.
Vyeti vya mteja ni kitambulisho, si ACL
Cheti cha mteja kinaweza kuongeza sharti wakati wa muunganisho. Mpangilio wa clientcert unaweza kuhitaji cheti kinachoaminika na, katika hali kali zaidi, uhusiano kati ya jina la cheti na mtumiaji wa hifadhidata.
Hicho ni kitambulisho chenye nguvu zaidi. Si orodha ya uidhinishaji, na haifanyi seva kuwa isiyoonekana, kwa sababu sehemu inayokubali muunganisho bado huchakata trafiki ya mtandao na kupeana mikono. Kuchukulia cheti kama orodha ya ufikiaji huacha ruhusa halisi bila kuguswa. Pia huwa na tabia ya kupanua usambazaji wa vyeti, jambo ambalo huzaa tatizo linalofuata.
Cheti imara kilichounganishwa na jukumu lenye haki nyingi huzalisha msimamizi aliyethibitishwa vizuri. Kagua jukumu kabla ya kusherehekea cheti.
Chagua kiolesura chembamba zaidi kinapofaa
Kwa ombi la gharama, kituo cha mwisho cha programu kinachokubali ombi, kutekeleza kanuni za biashara na kurudisha matokeo yaliyoruhusiwa ya mtumiaji huyo huwakilisha operesheni vizuri zaidi kuliko akaunti ya jumla ya SQL.
Kisha programu hutumia utambulisho wake mwenyewe uliozuiwa katika hifadhidata, na mteja hupokea lugha ya hoja kama kipengele kamwe. Hiyo ni uso mdogo wenye njia chache za kukosea.
Hili ni chaguo la muundo na si dai kwamba msimbo wa programu ni salama kiotomatiki. Msimbo huo lazima uthibitishe wanaouta, uidhinishe kila kitendo na uhakiki ingizo lake, na ruhusa zake mwenyewe za hifadhidata bado ni muhimu.
SQL ya moja kwa moja inabaki sahihi kwa watu na zana ambazo kazi yao iliyoidhinishwa inahitaji hilo. Punguza muundo huo kwa majukumu, wigo wa mtandao na mipaka ya uendeshaji, na uwaache wateja wengine wabakie na kiolesura chembamba. Kuchanganya makundi mawili katika jukumu moja ndipo mijadala huanza.