클라이언트 인증은 구성 파일에 의해 제어됩니다.pg_hba.conf그리고 데이터베이스에 저장됩니다HBA호스트 기반 인증을 나타냅니다.) 기본값pg_hba.conf데이터가 설치 될 때 파일이 설치됩니다initdb. 그것hba_file구성 매개 변수.
일반 형식pg_hba.conf파일은 1 인당 레코드 세트입니다#댓글 문자. 기록은 될 수 없습니다all또는복제) MATE
각 레코드는 연결 유형, 클라이언트 IP 주소를 지정합니다."낙상"또는"백업": 한 레코드가 선택된 경우
레코드에 7 개의 형식 중 하나가있을 수 있습니다
Local데이터베이스 사용자 Auth-Method [Auth-options]데이터베이스 사용자 주소 Auth-Method [Auth-options]데이터베이스 사용자 주소 Auth-Method [Auth-options]데이터베이스 사용자 주소 Auth-Method [Auth-options]데이터베이스 사용자 ip-address IP 마스크 Auth-Method [Auth-options]데이터베이스 사용자 ip-address IP 마스크 Auth-Method [Auth-options]데이터베이스 사용자 ip-address IP 마스크 Auth-Method [Auth-options]
필드의 의미는 다음과 같습니다.
이 레코드는 연결 시도와 일치합니다
이 레코드는 사용한 연결 시도와 일치합니다host레코드 일치 중 하나SSL또는SSL연결
참고 :원격 TCP/IP 연결Listen_Addresses구성 매개 변수는 기본 동작이므로LocalHost.
이 레코드는 사용한 연결 시도와 일치합니다SSL암호화.
이 레코드 유형은 반대 동작이입니다.hostssl; 연결 시도에만 일치합니다SSL.
이 레코드가 일치하는 데이터베이스 이름을 지정합니다.all이를 지정합니다Sameuser레코드가 일치하도록 지정합니다Samerole요청 된 사용자가SameGroup쓸모 없지만Samerole.) 슈퍼 사용자는 고려되지 않습니다Samerole명시 적으로 회원이 아닌 한복제레코드를 지정합니다토토 베이데이터베이스.@.
이 레코드가 어떤 데이터베이스 사용자 이름을 지정합니다all지정+. (아니오가 없다는 것을 기억하십시오토토 베이; 에이+마크는 정말 의미"직접 또는 직접적인 역할과 일치하십시오+Mark는 그와 일치합니다@.
클라이언트 머신 주소를 지정합니다
IP 주소 범위는 표준 숫자를 사용하여 지정됩니다/) 및 ACIDR마스크 길이. 마스크 길이/및 CIDR 마스크 길이.
IPv4 주소 범위의 일반적인 예가이를 지정했습니다172.20.143.89/32a172.20.143.0/24소규모 네트워크의 경우10.6.0.0/16더 큰 것을 위해. IPv6:: 1/128단일 호스트의 경우 (이 경우Fe80 :: 7A31 : C1FF : 0000 : 0000/96작은0.0.0.0/0모든 것을 나타냅니다:: 0/0모든 IPv6 주소를 나타냅니다. 단일 호스트를 지정하려면
IPv4 형식으로 제공되는 항목은 IPv4 만 일치합니다.
당신도 쓸 수 있습니다all일치합니다Samehost일치합니다Samenet모든 서브넷의 모든 주소와 일치합니다
호스트 이름이 지정된 경우 (IP가 아닌 모든 것pg_hba.conf|
점으로 시작하는 호스트 이름 사양.)는 실제의 접미사와 일치합니다.example.com.example.com(그러나 그렇지 않습니다example.com).
호스트 이름이 지정된 경우pg_hba.conf, 그 이름을 확인해야합니다NSCD. 또한, 당신은 그것을 활성화하고 싶을 수도 있습니다log_hostname클라이언트의 호스트 이름을 보려면
이 필드는에만 적용됩니다.host, hostssl및hostnossl레코드.
이 두 필드는 대안으로 사용될 수 있습니다.ip-address/마스크 길이표기법. 마스크 길이를 지정하는 대신 실제255.0.0.0IPv4 CIDR을 나타냅니다255.255.255.255CIDR 마스크를 나타냅니다
이 필드는 적용host, hostssl및hostnossl레코드.
a섹션 19.3.
무조건 연결을 허용합니다. 이 방법토토 베이Database Server to토토 베이원하는 사용자,섹션 19.3.1
무조건 연결을 거부하십시오. 이것은"필터링"예를 들어 그룹의 특정 호스트, 예를 들어거부라인은 특정을 차단할 수 있습니다
클라이언트가 MD5 암호화를 공급하도록 요구합니다섹션 19.3.2자세한 내용.
클라이언트가 암호화되지 않은 것을 공급하도록 요구합니다섹션 19.3.2자세한 내용.
GSSAPI를 사용하여 사용자를 인증합니다. 이것은 전혀입니다섹션 19.3.3자세한 내용.
SSPI를 사용하여 사용자를 인증합니다. 이것은 전혀입니다섹션 19.3.4
Kerberos v5를 사용하여 사용자를 인증합니다. 이것은섹션 19.3.5자세한 내용.
운영 체제 사용자 이름을 얻으십시오섹션자세한 내용.
클라이언트의 운영 체제 사용자 이름을 얻습니다섹션 19.3.7
AN을 사용하여 인증ldap서버. 보다섹션 19.3.8
RADIUS 서버를 사용하여 인증. 보다섹션 19.3.9자세한 내용.
SSL 클라이언트 인증서를 사용하여 인증. 보다섹션자세한 내용.
플러그 가능한 인증을 사용하여 인증섹션 19.3.11
이후Auth-Method필드, 양식의 필드가있을 수 있습니다이름=value
파일 포함@구조는입니다#pg_hba.conf및 중첩@구성이 허용됩니다. 파일 이름이 아니라면@는 절대적인 경로입니다
이후pg_hba.conf레코드는입니다신뢰로컬 인증신뢰연결에 대한 인증
thepg_hba.conf파일을 읽습니다Sighup신호. 파일을 편집하는 경우PG_CTL Reload또는Kill -hup) 파일을 다시 읽게하려면
팁 :사용자, 사용자에 연결하려면pg_hba.conf수표이지만가 있어야합니다.Connect데이터베이스의 권한. 당신이 그것을 제한하고 싶다면Connect규칙을 넣는 것보다pg_hba.conf출품작.
의 일부 예pg_hba.conf항목예 19-1. 보다