PostgreSQL 客戶端認(rèn)證

2021-08-31 14:53 更新

當(dāng)一個(gè)客戶端應(yīng)用連接一個(gè)數(shù)據(jù)庫服務(wù)器時(shí),它將指定以哪個(gè)PostgreSQL 數(shù)據(jù)庫用戶名連接,就像我們以一個(gè)特定用戶登錄一臺(tái) Unix 計(jì)算機(jī)一樣。在 SQL 環(huán)境中,活動(dòng)的數(shù)據(jù)庫用戶名決定對(duì)數(shù)據(jù)庫對(duì)象的訪問權(quán)限 — 詳見第 21 章。因此,它本質(zhì)上是哪些數(shù)據(jù)庫用戶可以連接。

注意

第 21 章中所釋,PostgreSQL實(shí)際上以角色來進(jìn)行權(quán)限管理。在本章中,我們用數(shù)據(jù)庫用戶表示 擁有LOGIN權(quán)限的角色

認(rèn)證是數(shù)據(jù)庫服務(wù)器建立客戶端身份的過程,并且服務(wù)器決定客戶端應(yīng)用(或者運(yùn)行客戶端應(yīng)用的用戶)是否被允許以請(qǐng)求的數(shù)據(jù)庫用戶名來連接。

PostgreSQL提供多種不同的客戶端認(rèn)證方式。被用來認(rèn)證一個(gè)特定客戶端連接的方法可以基于(客戶端)主機(jī)地址、數(shù)據(jù)庫和用戶來選擇。

PostgreSQL數(shù)據(jù)庫用戶名在邏輯上是和服務(wù)器運(yùn)行的操作系統(tǒng)中的用戶名相互獨(dú)立的。如果一個(gè)特定服務(wù)器的所有用戶在那臺(tái)服務(wù)器的機(jī)器上也有帳號(hào),那么分配與操作系統(tǒng)用戶名匹配的數(shù)據(jù)庫用戶名是有意義的。不過,一個(gè)接受遠(yuǎn)程連接的服務(wù)器可能有許多沒有本地操作系統(tǒng)帳號(hào)的用戶,并且在這種情況下數(shù)據(jù)庫用戶和操作系統(tǒng)用戶名之間不必有任何聯(lián)系。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)