Phiên bản được hỗ trợ:hiện tại(17)16 / 15 / 14 / 13
Phiên bản phát triển:18 / Devel
Phiên bản không được hỗ trợ:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4
Tài liệu này dành cho phiên bản không được hỗ trợ của PostgreSQL.
Bạn có thể muốn xem cùng một trang chohiện tại​​Phiên bản hoặc một trong các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

20.2. Bản đồ tên người kèo bóng đá pháp#

Khi sử dụng hệ thống xác thực bên ngoài như nhận dạng hoặc GSSAPI, tên của người kèo bóng đá pháp hệ điều hành bắt đầu kết nối có thể không giống như người kèo bóng đá pháp cơ sở dữ liệu (vai trò) sẽ được sử dụng. Trong trường hợp này, bản đồ tên người kèo bóng đá pháp có thể được áp dụng để ánh xạ tên người kèo bóng đá pháp hệ điều hành cho người kèo bóng đá pháp cơ sở dữ liệu.MAP=kèo bóng đá pháp bản đồTrong trường Tùy chọn trongpg_hba.conf. Tùy chọn này được hỗ trợ cho tất cả các phương thức xác thực nhận tên người kèo bóng đá pháp bên ngoài.kèo bóng đá pháp bản đồtham số trongpg_hba.confĐể chỉ ra bản đồ nào sẽ sử dụng cho từng kết nối riêng lẻ.

Bản đồ tên người kèo bóng đá pháp được xác định trong tệp bản đồ nhận dạng, theo mặc định được đặt tênpg_ident.confvà được lưu trữ trong thư mục dữ liệu của cụm. (Tuy nhiên, có thể đặt tệp bản đồ ở nơi khác; xemIndent_FileTham số cấu hình.) Tệp bản đồ nhận dạng chứa các dòng của các biểu mẫu chung:

kèo bóng đá pháp bản đồ Hệ thống-người kèo bóng đá pháp cơ sở dữ liệu-username
Bao gồm FILE
bao gồm_if_exists Tệp
bao gồm_dir Thư mục

Nhận xét, khoảng trắng và tiếp tục dòng được xử lý theo cách tương tự như trongpg_hba.conf. Thekèo bóng đá pháp bản đồlà một kèo bóng đá pháp tùy ý sẽ được sử dụng để chỉ ánh xạ này trongpg_hba.conf. Hai trường khác chỉ định tên người kèo bóng đá pháp hệ điều hành và tên người kèo bóng đá pháp cơ sở dữ liệu phù hợp.kèo bóng đá pháp bản đồcó thể được sử dụng nhiều lần để chỉ định nhiều bản tin người kèo bóng đá pháp trong một bản đồ.

như chopg_hba.conf, Các dòng trong tệp này có thể được bao gồm các chỉ thị, tuân theo cùng các quy tắc.

Thepg_ident.confTệp được đọc khi khởi động và khi quá trình máy chủ chính nhận đượcSIGHUPTín hiệu. Nếu bạn chỉnh sửa tệp trên một hệ thống đang hoạt động, bạn sẽ cần báo hiệu cho Postmaster (sử dụngPG_CTL tải lại, Gọi hàm SQLpg_reload_conf ()hoặc sử dụngKill -hup) để làm cho nó đọc lại tệp.

Chế độ xem hệ thốngpg_ident_file_mappingscó thể hữu ích cho các thay đổi trước khi kiểm tra trướcpg_ident.confTệp hoặc để chẩn đoán các vấn đề nếu tải tệp không có hiệu ứng mong muốn. Hàng trong chế độ xem với không nullERRORCác trường biểu thị các vấn đề trong các dòng tương ứng của tệp.

Không có hạn chế nào liên quan đến số lượng người kèo bóng đá pháp cơ sở dữ liệu mà người kèo bóng đá pháp hệ điều hành nhất định có thể tương ứng với, cũng không ngược lại. Do đó, các mục trong bản đồ nên được coi là có nghĩa làNgười kèo bóng đá pháp hệ điều hành này được phép kết nối với tư cách là người kèo bóng đá pháp cơ sở dữ liệu nàyHồi, thay vì ngụ ý rằng chúng tương đương. Kết nối sẽ được cho phép nếu có bất kỳ mục nhập bản đồ nào ghép tên người kèo bóng đá pháp thu được từ hệ thống xác thực bên ngoài với tên người kèo bóng đá pháp cơ sở dữ liệu mà người kèo bóng đá pháp đã yêu cầu kết nối như.tất cảcó thể được sử dụng làmcơ sở dữ liệu-usernameĐể chỉ định rằng nếuHệ thống-người kèo bóng đá phápphù hợp, sau đó người kèo bóng đá pháp này được phép đăng nhập như bất kỳ người kèo bóng đá pháp cơ sở dữ liệu hiện có nào. Trích dẫntất cảLàm cho từ khóa mất ý nghĩa đặc biệt.

NếuCơ sở dữ liệu-usernameBắt đầu bằng một+Nhân vật, sau đó người kèo bóng đá pháp hệ điều hành có thể đăng nhập như bất kỳ người kèo bóng đá pháp nào thuộc về vai trò đó, tương tự như cách tên người kèo bóng đá pháp bắt đầu bằng+được xử lý trongpg_hba.conf. Do đó, A+Mark có nghĩa làPhù hợp với bất kỳ vai trò nào là thành viên trực tiếp hoặc gián tiếp của vai trò nàyHồi, trong khi kèo bóng đá pháp không có+Mark chỉ phù hợp với vai trò cụ thể đó. Trích dẫn tên người kèo bóng đá pháp bắt đầu bằng một+làm cho+mất ý nghĩa đặc biệt của nó.

NếuHệ thống-USernameTrường bắt đầu bằng dấu gạch chéo (/), phần còn lại của trường được coi là một biểu thức chính quy. (Nhìn thấyPhần 9.7.3.1Để biết chi tiếtPostgreSQLS Cú pháp biểu thức chính quy.) Biểu thức chính quy có thể bao gồm một biểu hiện phụ, hoặc biểu hiện phụ, sau đó có thể được tham chiếu trongCơ sở dữ liệu-usernametrường AS\ 1(Backslash-one). Điều này cho phép ánh xạ của nhiều tên người kèo bóng đá pháp trong một dòng, đặc biệt hữu ích cho các thay thế cú pháp đơn giản.

mymap /^(.*)@mydomain\.com$ \ 1

sẽ xóa phần miền cho người kèo bóng đá pháp có tên người kèo bóng đá pháp hệ thống kết thúc bằng@mydomain.comvà cho phép bất kỳ người kèo bóng đá pháp nào có tên hệ thống kết thúc bằng@othomain.comđể đăng nhập ASkhách. Trích dẫn ACơ sở dữ liệu-usernamechứa\ 1 khônglàm\ 1Mất nghĩa đặc biệt của nó.

NếuCơ sở dữ liệu-usernameTrường bắt đầu bằng dấu gạch chéo (/), phần còn lại của trường được coi là một biểu thức chính quy (xemPhần 9.7.3.1Để biết chi tiếtPOSTGRESQLS Cú pháp biểu thức chính quy). Không thể sử dụng\ 1Để sử dụng chụp từ biểu thức thông thường trênSystem-usernamecho biểu thức chính quy trêncơ sở dữ liệu-username.

Tip

Hãy nhớ rằng theo mặc định, một biểu thức chính quy có thể khớp với chỉ một phần của chuỗi. Nó thường là khôn ngoan khi sử dụng^$, như được hiển thị trong ví dụ trên, để buộc khớp với toàn bộ tên người kèo bóng đá pháp hệ thống.

Apg_ident.confTệp có thể được sử dụng cùng vớipg_hba.confTệp trongVí dụ 20.1được hiển thị trongVí dụ 20.2. Trong ví dụ này, bất kỳ ai đã đăng nhập vào máy trên mạng 192.168 không có tên người kèo bóng đá pháp hệ điều hànhBryanh, AnnhoặcRobertsẽ không được cấp quyền truy cập. Unix userRobertChỉ được phép truy cập khi anh ta cố gắng kết nối nhưPostgreSQLngười kèo bóng đá phápBob, không phảiRoberthoặc bất kỳ ai khác.Annsẽ chỉ được phép kết nối dưới dạngAnn. Người kèo bóng đá phápBryanhsẽ được phép kết nối nhưBryanhhoặc asGuest1.

Ví dụ 20.2. Một ví dụpg_ident.confFILE

# MapName System-username PG-username