이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.젠 토토 PostgreSQL : 문서 : 17 : 20.1. pg_hba.conf 파일버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

19.1.pg_hba.conf토토 캔

클라이언트 인증은 구성 토토 캔에 의해 제어됩니다. 전통적으로 이름이 지정됨pg_hba.conf그리고 데이터베이스에 저장됩니다 클러스터의 데이터 디렉터리. (HBA호스트 기반 인증을 나타냅니다.) 기본값pg_hba.conf토토 캔은 데이터가 설치될 때 설치됩니다. 디렉토리는 다음으로 초기화됩니다.initdb. 그것 인증 구성 토토 캔을 배치할 수 있습니다. 그러나 다른 곳에서는; 참조하세요hba_file구성 매개변수.

일반 형식pg_hba.conf토토 캔은 레코드 집합입니다. 라인. 빈 줄은 무시되며, 다음의 모든 텍스트도 무시됩니다.#댓글 문자. 기록은 다음과 같을 수 없습니다. 라인을 넘어 계속되었습니다. 레코드는 여러 필드로 구성됩니다. 공백 및/또는 탭으로 구분됩니다. 필드에는 다음이 포함될 수 있습니다. 필드 값이 인용된 경우 공백입니다. 중 하나를 인용하면 데이터베이스, 토토 캔 또는 주소 필드의 키워드(예:모두또는복제)가 만듭니다 단어는 특수 문자를 잃고 데이터베이스와 일치합니다. 토토 캔 또는 해당 이름을 가진 호스트입니다.

각 레코드는 연결 유형, 클라이언트 IP 주소를 지정합니다. 범위(연결 유형과 관련된 경우), 데이터베이스 이름, 토토 캔 이름 및 사용할 인증 방법 이 매개변수와 일치하는 연결. 와 함께한 첫 번째 기록 일치하는 연결 유형, 클라이언트 주소, 요청된 데이터베이스 및 토토 캔 이름은 인증을 수행하는 데 사용됩니다. 없습니다"탈락"또는"백업": 하나의 레코드가 선택되고 인증이 실패하면 후속 기록은 고려되지 않습니다. 만약에 일치하는 기록이 없어 접근이 거부되었습니다.

기록은 7가지 형식 중 하나를 가질 수 있습니다.

현지데이터베이스  토토 캔  인증 방법  [인증 옵션]
호스트데이터베이스  토토 캔  주소  인증 방법  [인증 옵션]
호스트sl데이터베이스  토토 캔  주소  인증 방법  [인증 옵션]
호스트노슬데이터베이스  토토 캔  주소  인증 방법  [인증 옵션]
호스트데이터베이스  토토 캔  IP-주소  IP-마스크  인증 방법  [인증 옵션]
호스트sl데이터베이스  토토 캔  IP-주소  IP-마스크  인증 방법  [인증 옵션]
호스트노슬데이터베이스  토토 캔  IP-주소  IP-마스크  인증 방법  [인증 옵션]

필드의 의미는 다음과 같습니다:

현지

이 레코드는 다음을 사용한 연결 시도와 일치합니다. Unix 도메인 소켓. 이런 종류의 기록이 없으면, Unix 도메인 소켓 연결은 허용되지 않습니다.

호스트

이 기록은 다음을 사용하여 이루어진 연결 시도와 일치합니다. TCP/IP.호스트기록이 둘 중 하나와 일치함SSL또는 비-SSL연결 시도.

참고:원격 TCP/IP 연결은 불가능합니다. 서버가 다음으로 시작되지 않는 한 가능합니다. 에 대한 적절한 값listen_addresses구성 매개변수, 기본 동작은 다음과 같습니다. 로컬에서만 TCP/IP 연결을 수신하려면 루프백 주소로컬호스트.

hostssl

이 기록은 다음을 사용하여 이루어진 연결 시도와 일치합니다. TCP/IP, 그러나 연결이 이루어진 경우에만SSL암호화.

이 옵션을 사용하려면 서버를 다음으로 구축해야 합니다.SSL지원합니다. 게다가SSL반드시 다음을 설정하여 서버 시작 시 활성화됩니다.ssl구성 매개변수(참조PostgreSQL : 문서자세한 내용은).

hostnossl

이 레코드 유형은 다음과 반대 동작을 갖습니다.hostssl; 연결 시도에만 일치합니다. 사용하지 않는 TCP/IP를 통해 생성됨SSL.

데이터베이스

이 레코드가 일치하는 데이터베이스 이름을 지정합니다. 값전체다음과 같이 지정합니다. 모든 데이터베이스와 일치합니다. 값동일토토 캔레코드가 일치함을 지정합니다. 요청한 데이터베이스의 이름이 동일한 경우 요청한 토토 캔입니다. 값사메롤요청된 토토 캔가 다음 구성원이어야 함을 지정합니다. 요청한 데이터베이스와 동일한 이름을 가진 역할입니다. (동일그룹더 이상 사용되지 않지만 여전히 허용되는 철자법은 다음과 같습니다.사메롤.) 값복제레코드가 다음과 같이 지정됩니다. 복제 연결이 요청되면 일치합니다(참고: 복제 연결은 특정 항목을 지정하지 않습니다. 데이터베이스). 그렇지 않으면 이는 특정의 이름입니다.PostgreSQL데이터베이스. 여러 데이터베이스 이름을 분리하여 제공할 수 있습니다. 쉼표로. 데이터베이스 이름을 포함하는 별도의 토토 캔은 토토 캔 이름 앞에를 붙여 지정해야 합니다.@.

토토 캔

이 레코드의 데이터베이스 토토 캔 이름을 지정합니다. 일치합니다. 값모두지정 모든 토토 캔와 일치합니다. 그렇지 않으면 이는 다음 중 하나입니다. 특정 데이터베이스 토토 캔의 이름 또는 그룹 이름이 앞에 옵니다. 으로+. (아무것도 없다는 걸 기억하세요. 토토 캔와 그룹의 실제 구별PostgreSQL; 에+마크는 정말 의미가 있습니다"직접적으로 또는 이 역할의 간접적 구성원", 이름은 a 없이+마크는 그것만 일치합니다 특정 역할.) 여러 토토 캔 이름은 다음을 통해 제공될 수 있습니다. 쉼표로 구분합니다. 다음을 포함하는 별도의 토토 캔 토토 캔 이름은 토토 캔 이름 앞에를 붙여 지정할 수 있습니다.@.

주소

클라이언트 시스템 주소를 지정합니다. 경기를 기록합니다. 이 필드에는 호스트 이름, IP 주소 범위 또는 특수 키워드 중 하나 아래에 언급되어 있습니다.

IP 주소 범위는 표준 숫자를 사용하여 지정됩니다. 범위의 시작 주소에 대한 표기법과 슬래시 (/) 및 aCIDR마스크 길이. 마스크 길이 클라이언트 IP의 상위 비트 수를 나타냅니다. 주소가 일치해야 합니다. 이것의 오른쪽에 있는 비트는 주어진 IP 주소에서 0이어야 합니다. 아무 것도 없어야합니다 IP 주소 사이의 공백,/및 CIDR 마스크 길이.

IPv4 주소 범위의 일반적인 예는 다음과 같습니다. 방법은172.20.143.89/32에 대한 단일 호스트 또는172.20.143.0/24소규모 네트워크의 경우 또는10.6.0.0/16더 큰 것. IPv6 주소 범위는 다음과 같습니다.::1/128단일 호스트의 경우(이 경우 IPv6 루프백 주소) 또는fe80::7a31:c1ff:0000:0000/96소규모의 경우 네트워크.0.0.0.0/0모두를 나타냅니다. IPv4 주소 및::0/0은 모든 IPv6 주소를 나타냅니다. 단일 호스트를 지정하려면 IPv4의 경우 마스크 길이 32를 사용하고 IPv6의 경우 128을 사용합니다. 에서 네트워크 주소 뒤에 오는 0을 생략하지 마십시오.

IPv4 형식으로 제공된 항목은 IPv4에만 일치합니다. 연결이며 IPv6 형식으로 제공된 항목은 일치합니다. 표시된 주소가 다음인 경우에도 IPv6 연결만 가능 IPv4-in-IPv6 범위에서. IPv6 형식의 항목에 유의하세요. 시스템의 C 라이브러리에 없는 경우 거부됩니다. IPv6 주소를 지원합니다.

당신도 쓸 수 있습니다모두일치하다 모든 IP 주소,동일호스트일치하다 서버의 자체 IP 주소 중 하나, 또는사메넷모든 서브넷의 모든 주소와 일치 서버가 직접 연결되어 있습니다.

호스트 이름이 지정된 경우(IP가 아닌 모든 것) 주소 범위 또는 특수 키워드는 호스트로 간주됩니다. 이름), 해당 이름은 역순 결과와 비교됩니다. 클라이언트 IP 주소의 이름 확인(예: 역방향) DNS 조회(DNS가 사용되는 경우). 호스트 이름 비교는 대/소문자입니다. 무감각하다. 일치하는 항목이 있으면 전달 이름 확인(예: 정방향 DNS 조회)은 해결되는 주소가 있는지 확인하기 위한 호스트 이름 클라이언트의 IP 주소와 동일합니다. 양방향이라면 일치하면 항목이 일치하는 것으로 간주됩니다. (호스트 사용되는 이름pg_hba.conf주소-이름 확인이 가능한 것이어야 합니다. 클라이언트의 IP 주소가 반환됩니다. 그렇지 않으면 회선이 반환되지 않습니다. 일치합니다. 일부 호스트 이름 데이터베이스는 IP 연결을 허용합니다. 여러 호스트 이름을 가진 주소이지만 운영 체제 IP 확인을 요청하면 하나의 호스트 이름만 반환합니다. 주소.)

점으로 시작하는 호스트 이름 사양 (.)은 실제의 접미사와 일치합니다. 호스트 이름. 그래서.example.com아마도 일치foo.example.com(그러나 그렇지 않음 그냥example.com).

호스트 이름이 다음에 지정된 경우pg_hba.conf, 그 이름을 확인해야 합니다 해결 속도가 상당히 빠릅니다. 에 유리할 수 있습니다 다음과 같은 로컬 이름 확인 캐시를 설정합니다.nscd. 또한 구성 매개변수로그_호스트 이름클라이언트의 호스트 이름을 보려면 로그의 IP 주소 대신.

이 필드는 다음에만 적용됩니다.호스트, hostsslhostnossl기록.

IP-주소
IP-마스크

이 두 필드는 다음 대신 사용할 수 있습니다.IP-주소/마스크 길이표기법. 마스크 길이를 지정하는 대신 실제 마스크는 별도의 열에 지정됩니다. 예를 들어,255.0.0.0IPv4 CIDR을 나타냅니다. 마스크 길이는 8이고255.255.255.255CIDR 마스크를 나타냅니다. 길이는 32입니다.

이 필드는 다음에만 적용됩니다.호스트, hostsslhostnossl기록.

인증 방법

다음 경우에 사용할 인증 방법을 지정합니다. 연결이 이 레코드와 일치합니다. 가능한 선택은 다음과 같습니다 여기에 요약되어 있습니다. 자세한 내용은 다음을 참조하세요.섹션 19.3.

신뢰

무조건 연결을 허용합니다. 이 방법 에 연결할 수 있는 모든 사람을 허용합니다.포스트그레SQL데이터베이스 서버 다른 이름으로 로그인하세요PostgreSQL그들이 원하는 토토 캔, 비밀번호나 다른 어떤 것도 필요 없이 인증. 참조섹션 19.3.1용 세부사항.

거부

무조건 연결을 거부합니다. 이것은 유용함"필터링 중"그룹의 특정 호스트(예: a거부라인은 특정 항목을 차단할 수 있습니다. 호스트가 연결하는 것을 방지하고 이후 라인에서는 연결할 특정 네트워크의 나머지 호스트.

md5

클라이언트가 MD5 암호화된 데이터를 제공하도록 요구합니다. 인증을 위한 비밀번호. 참조섹션 19.3.2자세한 내용은.

비밀번호

클라이언트가 암호화되지 않은 데이터를 제공하도록 요구합니다. 인증을 위한 비밀번호. 비밀번호는 이므로 네트워크를 통해 일반 텍스트로 전송되면 안 됩니다. 신뢰할 수 없는 네트워크에서 사용하세요. 참조섹션 19.3.2자세한 내용은.

gss

GSSAPI를 사용하여 토토 캔를 인증하세요. 이것은 단지 TCP/IP 연결에 사용할 수 있습니다. 참조섹션 19.3.3자세한 내용은.

sspi

SSPI를 사용하여 토토 캔를 인증하세요. 이것은 단지 Windows에서 사용 가능합니다. 보다섹션 19.3.4용 세부사항.

krb5

Kerberos V5를 사용하여 토토 캔를 인증하세요. 이것은 TCP/IP 연결에만 사용할 수 있습니다. 참조섹션 19.3.5자세한 내용은.

ident

다음의 운영 체제 토토 캔 이름을 얻습니다. 클라이언트의 ident 서버에 접속하여 클라이언트 요청한 데이터베이스 토토 캔와 일치하는지 확인하십시오. 이름. ID 인증은 TCP/IP에서만 사용할 수 있습니다. 연결. 로컬 연결에 지정된 경우 대신 피어 인증이 사용됩니다. 참조섹션 19.3.6자세한 내용은.

동료

클라이언트의 운영 체제 토토 캔 이름을 얻습니다. 운영 체제에서 해당 버전과 일치하는지 확인하세요. 요청한 데이터베이스 토토 캔 이름입니다. 이것만 가능해요 로컬 연결을 위해. 참조섹션 19.3.7용 세부사항.

ldap

다음을 사용하여 인증LDAP서버. 참조섹션 19.3.8용 세부사항.

반경

RADIUS 서버를 사용하여 인증하세요. 참조섹션 19.3.9자세한 내용은.

인증서

SSL 클라이언트 인증서를 사용하여 인증합니다. 참조섹션 19.3.10자세한 내용은.

플러그형 인증을 사용하여 인증 운영업체에서 제공하는 모듈(PAM) 서비스 시스템. 참조섹션 19.3.11용 세부사항.

인증 옵션

이후인증 방법필드, 다음 형식의 필드가 있을 수 있습니다.이름=그것 인증 방법에 대한 옵션을 지정합니다. 세부정보 어떤 인증에 어떤 옵션을 사용할 수 있는지에 대해 아래에 메서드가 표시됩니다.

다음에 포함된 토토 캔@구조물은 다음 중 하나로 구분할 수 있는 이름 목록으로 읽습니다. 공백 또는 쉼표. 댓글은 다음으로 소개됩니다.#, 마찬가지로pg_hba.conf및 중첩@구조가 허용됩니다. 토토 캔명이 아니면 다음@은 절대 경로입니다. 참조를 포함하는 디렉토리에 상대적인 것으로 간주됩니다. 토토 캔.

이후pg_hba.conf레코드는 다음과 같습니다. 각 연결 시도에 대해 순차적으로 검사되며, 기록이 중요해요. 일반적으로 이전 기록에는 엄격한 연결 일치 매개변수 및 약한 인증 이후의 레코드에는 더 느슨한 일치 매개변수가 포함됩니다. 그리고 더 강력한 인증 방법. 예를 들어, 사용하다신뢰로컬 인증 TCP/IP 연결이지만 원격 TCP/IP에는 비밀번호가 필요합니다. 연결. 이 경우에는 다음을 지정하는 레코드입니다.신뢰다음의 연결에 대한 인증 127.0.0.1은 비밀번호를 지정하는 레코드 앞에 나타납니다. 더 넓은 범위의 허용된 클라이언트 IP에 대한 인증 주소.

pg_hba.conf토토 캔을 읽은 위치 시작 및 기본 서버 프로세스가 수신될 때SIGHUP신호. 토토 캔을 편집하는 경우 활성 시스템인 경우 포스트마스터에게 신호를 보내야 합니다( 사용).pg_ctl 다시 로드또는죽여 -HUP) 토토 캔을 다시 읽도록 합니다.

팁:특정 데이터베이스에 연결하려면 토토 캔 다음을 통과해야 할 뿐만 아니라pg_hba.conf확인하지만 다음이 있어야 합니다연결데이터베이스에 대한 권한입니다. 제한하고 싶은 경우 토토 캔는 어떤 데이터베이스에 연결할 수 있지만 일반적으로 승인/취소를 통해 이를 제어합니다.연결규칙을 넣는 것보다 특권pg_hba.conf항목.

몇 가지 예pg_hba.conf항목 에 표시됩니다.예 19-1. 참조 다른 인증에 대한 자세한 내용은 다음 섹션을 참조하세요. 방법.

예 19-1. 예시pg_hba.conf항목

# 로컬 시스템의 모든 토토 캔가 다음을 사용하여 모든 데이터베이스에 연결할 수 있도록 허용합니다.
# Unix 도메인 소켓을 사용하는 모든 데이터베이스 토토 캔 이름(로컬의 기본값)
# 연결).
#
# 유형 데이터베이스 토토 캔 주소 방법
로컬 모두 모두 신뢰

# 로컬 루프백 TCP/IP 연결을 사용하는 것과 동일합니다.
#
# 유형 데이터베이스 토토 캔 주소 방법
모두 호스트 127.0.0.1/32 신뢰

# 이전 줄과 동일하지만 별도의 넷마스크 열을 사용합니다.
#
# 유형 데이터베이스 토토 캔 IP-주소 IP-마스크 방법
모두 호스트 모두 127.0.0.1 255.255.255.255 신뢰

# IPv6에서도 마찬가지입니다.
#
# 유형 데이터베이스 토토 캔 주소 방법
모두 호스트::1/128 신뢰

# 호스트 이름을 사용하는 것과 동일합니다(일반적으로 IPv4와 IPv6 모두 포함).
#
# 유형 데이터베이스 토토 캔 주소 방법
호스트 모두 모두 localhost 신뢰

# IP 주소가 192.168.93.x인 모든 호스트의 모든 토토 캔가 연결하도록 허용합니다.
# ident가 보고하는 것과 동일한 토토 캔 이름으로 "postgres" 데이터베이스에
# 연결(일반적으로 운영 체제 토토 캔 이름).
#
# 유형 데이터베이스 토토 캔 주소 방법
호스트 postgres 모두 192.168.93.0/24 ident

# 호스트 192.168.12.10의 모든 토토 캔가 데이터베이스에 연결하도록 허용
# 토토 캔의 비밀번호가 올바르게 제공되면 "postgres"입니다.
#
# 유형 데이터베이스 토토 캔 주소 방법
호스트 postgres 모두 192.168.12.10/32 md5

# example.com 도메인에 있는 호스트의 모든 토토 캔가 다음에 연결하도록 허용합니다.
# 토토 캔의 비밀번호가 올바르게 제공되면 모든 데이터베이스.
#
# 유형 데이터베이스 토토 캔 주소 방법
모두 모두 호스팅 .example.com md5

# 앞의 "host" 줄이 없으면 이 두 줄은
# 192.168.54.1의 모든 연결을 거부합니다(해당 항목은
# 먼저 일치), 그러나 다른 곳에서는 Kerberos 5 연결을 허용합니다.
#인터넷에서.  제로 마스크로 인해 호스트 IP 비트가 발생하지 않습니다.
# 주소를 고려해야 하므로 모든 호스트와 일치합니다.
#
# 유형 데이터베이스 토토 캔 주소 방법
모두 호스트 모두 192.168.54.1/32 거부
모두 모두 호스팅 0.0.0.0/0 krb5

# 192.168.x.x 호스트의 토토 캔가 모든 데이터베이스에 연결할 수 있도록 허용합니다.
# 신원 확인을 통과했습니다.  예를 들어, ident가 토토 캔를 다음과 같이 말한다면
# "bryanh" 그리고 그는 PostgreSQL 토토 캔 "guest1"로 연결을 요청합니다.
# pg_ident.conf에 맵에 대한 항목이 있으면 연결이 허용됩니다.
# "bryanh"이라고 표시된 "omicron"은 "guest1"로 연결이 허용됩니다.
#
# 유형 데이터베이스 토토 캔 주소 방법
모두 호스트 192.168.0.0/16 ident map=omicron

# 로컬 연결에 이 세 개의 회선만 있는 경우
# 로컬 토토 캔가 자신의 데이터베이스(데이터베이스)에만 연결하도록 허용합니다.
# 데이터베이스 토토 캔 이름과 동일한 이름을 가짐) 관리자 제외
# 및 모든 데이터베이스에 연결할 수 있는 "지원" 역할의 구성원입니다.  토토 캔
# $PGDATA/admins에는 관리자 이름 목록이 포함되어 있습니다.  비밀번호
#은 모든 경우에 필요합니다.
#
# 유형 데이터베이스 토토 캔 주소 방법
로컬 동일 토토 캔 모두 md5
로컬 모든 @admins md5
로컬 모두 +md5 지원

# 위의 마지막 두 줄은 한 줄로 결합될 수 있습니다.
로컬 모든 @admins,+md5 지원

# 데이터베이스 열에는 목록과 토토 캔 이름도 사용할 수 있습니다.
로컬 db1,db2,@demodbs 모든 md5