이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다젠 토토 PostgreSQL : 문서 : 17 : 20.1. pg_hba.conf 파일버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

20.1. 그만큼pg_hba.conf파일

클라이언트 인증은 구성 파일에 의해 제어되며 전통적으로 명명 된pg_hba.conf그리고 데이터베이스 클러스터의 데이터 디렉토리에 저장되어 있습니다. (HBA호스트 기반 인증을 나타냅니다.) 기본값pg_hba.conf파일이 데이터 디렉토리가 초기화 될 때에 설치됩니다initdb. 그러나 인증 구성 파일을 다른 곳에 배치 할 수 있습니다. 참조hba_file구성 매개 변수.

일반 형식pg_hba.conf파일은 한 줄 당 레코드 세트입니다. 빈 줄은 무시됩니다. 이후의 텍스트와 마찬가지로#댓글 문자. 레코드는 라인에서 계속 될 수 없습니다. 레코드는 공백 및/또는 탭으로 분리되는 여러 필드로 구성됩니다. 필드 값이 두 번 인용되는 경우 필드에는 공백이 포함될 수 있습니다. 데이터베이스, 스포츠 토토 또는 주소 필드에서 키워드 중 하나 인용 (예 :all또는복제) 단어가 특별한 의미를 잃게 만들고 해당 이름의 데이터베이스, 스포츠 토토 또는 호스트와 일치합니다.

각 레코드는 연결 유형, 클라이언트 IP 주소 범위 (연결 유형과 관련된 경우), 데이터베이스 이름, 스포츠 토토 이름 및 이러한 매개 변수와 일치하는 연결에 사용할 인증 방법을 지정합니다. 일치하는 연결 유형, 클라이언트 주소, 요청 된 데이터베이스 및 스포츠 토토 이름을 가진 첫 번째 레코드는 인증을 수행하는 데 사용됩니다. 없음Fall-Strough또는백업: 한 레코드가 선택되고 인증이 실패하면 후속 레코드가 고려되지 않습니다. 기록이 일치하지 않으면 액세스가 거부됩니다.

레코드는 7 가지 형식 중 하나를 가질 수 있습니다

Local데이터베이스  스포츠 토토  Auth-Method[Auth-options]
주인데이터베이스  스포츠 토토  주소  Auth-Method[Auth-options]
호스트데이터베이스  스포츠 토토  주소  Auth-Method[Auth-options]
hostnossl데이터베이스  13124_13130  주소  Auth-Method[Auth-options]
주인데이터베이스  스포츠 토토  ip-address  IP 마스크  Auth-Method[Auth-options]
호스트데이터베이스  스포츠 토토  IP-Address  IP 마스크  Auth-Method[Auth-options]
hostnossl데이터베이스  스포츠 토토  ip-address  IP 마스크  Auth-Method[Auth-options]

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

Local

이 레코드는 Unix-Domain 소켓을 사용한 연결 시도와 일치합니다. 이 유형에 대한 기록이 없으면 유닉스 도메인 소켓 연결이 허용되지 않습니다.

host

이 레코드는 TCP/IP를 사용하여 만든 연결 시도와 일치합니다.호스트레코드 일치 중 하나SSL또는 비SSL연결 시도.

note

원격 TCP/IP 연결은 서버에 적절한 값으로 시작되지 않으면Listen_Addresses구성 매개 변수, 기본 동작은 로컬 루프백 주소에서만 TCP/IP 연결을 듣는 것이므로LocalHost.

hostssl

이 레코드는 TCP/IP를 사용하여 만든 연결 시도와 일치하지만 연결이 이루어질 때만SSL암호화.

이 옵션을 사용하려면 서버를 구축해야합니다.SSL지원. 뿐만 아니라,SSL를 설정하여 활성화해야합니다SSL구성 매개 변수 (참조메이저 토토 사이트 PostgreSQL : 문서 : 11 : 18.9. SSL로 TCP/IP 연결 보안자세한 내용은). 그렇지 않으면hostssl연결이 일치 할 수 없다는 경고를 기록하는 것을 제외하고는 레코드가 무시됩니다.

hostnossl

이 레코드 유형은 반대 동작이입니다.hostssl; 사용하지 않는 TCP/IP에 대한 연결 시도와 일치합니다SSL.

데이터베이스

이 레코드가 일치하는 데이터베이스 이름을 지정합니다. 값all모든 데이터베이스와 일치하도록 지정합니다. 값Sameuser요청 된 데이터베이스가 요청 된 스포츠 토토와 동일한 이름을 갖는 경우 레코드가 일치하도록 지정합니다. 값Samerole요청 된 스포츠 토토가 요청 된 데이터베이스와 동일한 이름을 가진 역할의 구성원이어야한다고 지정합니다. (SameGroup쓸모 없지만 여전히 허용되는 철자Samerole.) 슈퍼 스포츠 토토는의 목적 상 역할의 구성원으로 간주되지 않습니다.Samerole슈퍼 유행자가 아니라 직간접 적으로 역할의 명시 적 회원이 아니라면. 값복제물리적 복제 연결이 요청 된 경우 레코드가 일치하도록 지정합니다 (복제 연결은 특정 데이터베이스를 지정하지 않음). 그렇지 않으면 이것은 특정 이름입니다PostgreSQL데이터베이스. 여러 데이터베이스 이름은 쉼표로 분리하여 제공 할 수 있습니다. 데이터베이스 이름을 포함하는 별도의 파일은 파일 이름이 선행하여 지정할 수 있습니다.@.

스포츠 토토

이 레코드가 일치하는 데이터베이스 스포츠 토토 이름을 지정합니다. 값all모든 스포츠 토토와 일치하도록 지정합니다. 그렇지 않으면 이것은 특정 데이터베이스 스포츠 토토의 이름이거나 그룹 이름이입니다.+. (스포츠 토토와 그룹 사이에 실질적인 차이가 없다는 것을 기억하십시오PostgreSQL; 에이+마크는 정말 의미이 역할의 직접 또는 간접적으로 구성원 인 역할과 일치+Mark는 해당 특정 역할 만 일치합니다.)이 목적을 위해, 슈퍼업자는 슈퍼 스포츠 토토가되는 것이 아니라 직간접 적으로 직접 또는 간접적으로 역할의 구성원 인 경우에만 역할의 구성원으로 간주됩니다. 여러 스포츠 토토 이름은 쉼표로 분리하여 제공 할 수 있습니다. 스포츠 토토 이름을 포함하는 별도의 파일은 파일 이름이 선행하여 지정할 수 있습니다.@.

주소

이 레코드가 일치하는 클라이언트 머신 주소 (ES)를 지정합니다. 이 필드는 호스트 이름, 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을 사용하십시오. 네트워크 주소에서는 후행 제로를 생략하지 마십시오.

IPv4 형식으로 제공되는 항목은 IPv4 연결 만 일치하며 IPv6 형식으로 제공되는 항목은 IPv4-in-IPV6 범위에 있더라도 IPv6 형식으로 제공되는 항목은 IPv6 연결 만 일치합니다. 시스템의 C 라이브러리에 IPv6 주소를 지원하지 않으면 IPv6 형식의 항목이 거부됩니다.

당신도 쓸 수 있습니다allIP 주소와 일치하려면Samehost서버의 자체 IP 주소와 일치하거나Samenet서버가 직접 연결된 서브넷의 모든 주소와 일치합니다.

호스트 이름이 지정된 경우 (IP 주소 범위가 아니거나 특수 키 단어가 호스트 이름으로 취급되는 경우) 해당 이름은 클라이언트 IP 주소의 반대 이름 해상도 (예 : DNS 조회, DNS가 사용되는 경우)의 결과와 비교됩니다. 호스트 이름 비교는 사례 둔감합니다. 일치가있는 경우, 전방 이름 해상도 (예 : 전방 DNS 조회)가 호스트 이름으로 수행되어 해결되는 주소가 클라이언트의 IP 주소와 동일 여부를 확인합니다. 두 방향이 일치하면 항목이 일치하는 것으로 간주됩니다. (에서 사용되는 호스트 이름pg_hba.conf클라이언트의 IP 주소의 주소 간 해상도가 반환되는 경우 라인이 일치하지 않습니다. 일부 호스트 이름 데이터베이스는 여러 호스트 이름과 IP 주소를 연관시킬 수 있지만 운영 체제는 IP 주소를 해결하도록 요청할 때만 하나의 호스트 이름 만 반환합니다.)

dot (로 시작하는 호스트 이름 사양.)는 실제 호스트 이름의 접미사와 일치합니다. 그래서.example.com일치foo.example.com(그러나example.com).

호스트 이름이 지정된 경우pg_hba.conf, 이름 해상도가 합리적으로 빠르지 않도록해야합니다. 와 같은 로컬 이름 해상도 캐시를 설정하는 것이 유리할 수 있습니다.NSCD. 또한 구성 매개 변수를 활성화 할 수 있습니다log_hostname로그에서 IP 주소 대신 클라이언트의 호스트 이름을 보려면

이 필드는에만 적용됩니다.host, hostsslhostnossl기록.

참고

스포츠 토토는 때때로 클라이언트 IP 주소의 역방향 조회를 포함하여 두 가지 이름 해상도와 함께 호스트 이름이 왜 복잡한 방식으로 처리되는지 궁금합니다. 클라이언트의 역 DNS 항목이 설정되지 않았거나 바람직하지 않은 호스트 이름을 생산하는 경우 기능의 사용을 복잡하게 만듭니다. 주로 효율성을 위해 이루어집니다.이 방법으로, 연결 시도는 최대 2 개의 리졸버 조회, 1 개의 리버스 및 1 개의 전진이 필요합니다. 일부 주소에 리졸버 문제가있는 경우 해당 클라이언트의 문제 만됩니다. 앞으로 조회 만 한 가상의 대안 구현은에 언급 된 모든 호스트 이름을 해결해야 할 것입니다.PG_HBA.conf모든 연결 시도 중. 많은 이름이 나열되면 상당히 느릴 수 있습니다. 그리고 호스트 이름 중 하나에 리졸버 문제가 있으면 모든 사람의 문제가됩니다.

또한 접미사 일치 기능을 구현하려면 역방향 조회가 필요합니다. 실제 클라이언트 호스트 이름을 패턴과 일치시키기 위해서는 알 수 있으므로.

이 동작은 Apache HTTP 서버 및 TCP 래퍼와 같은 호스트 이름 기반 액세스 제어의 다른 인기있는 구현과 일치합니다.

ip-address
IP 마스크

이 두 필드는 대안으로 사용될 수 있습니다.IP-Address/마스크 길이표기법. 마스크 길이를 지정하는 대신 실제 마스크는 별도의 열에 지정됩니다. 예를 들어,255.0.0.0IPv4 CIDR 마스크 길이는 8을 나타냅니다.255.255.255.25532의 CIDR 마스크 길이를 나타냅니다.

이 필드는에만 적용됩니다host, hostsslhostnosslRecords.

Auth-Method

연결 이이 레코드와 일치 할 때 사용할 인증 방법을 지정합니다. 가능한 선택은 여기에 요약되어 있습니다. 세부 사항은섹션 20.3. 모든 옵션은 소문자 및 처리 된 사례가 민감하게 이루어 지므로와 같은 약어조차도LDAP소문자로 지정해야합니다.

신뢰

무조건 연결을 허용합니다. 이 방법은에 연결할 수있는 모든 사람을 허용합니다.PostgreSQL로그인 할 데이터베이스 서버PostgreSQL비밀번호 나 기타 인증없이 원하는 스포츠 토토. 보다PostgreSQL : 문서 : 11 : 20.4. 신뢰 토토 베이자세한 내용.

거부

무조건 연결을 거부하십시오. 이것은에 유용합니다필터링예를 들어 그룹의 특정 호스트, 예를 들어거부라인은 특정 호스트가 연결을 차단할 수 있지만, 이후 줄은 특정 네트워크의 나머지 호스트가 연결할 수 있도록합니다.

Scram-Sha-256

Scram-SHA-256 인증을 수행하여 스포츠 토토의 비밀번호를 확인하십시오. 보다PostgreSQL : 문서 : 11 : 20.5. 암호 토토 꽁 머니자세한 내용.

MD5

Scram-SHA-256 또는 MD5 인증을 수행하여 스포츠 토토의 비밀번호를 확인하십시오. 보다PostgreSQL : 문서 : 11 : 20.5. 암호 토토 꽁 머니자세한 내용.

비밀번호

클라이언트가 인증을 위해 암호화되지 않은 암호를 제공하도록 요구합니다. 비밀번호는 네트워크를 통해 명확한 텍스트로 전송되므로 신뢰할 수없는 네트워크에서 사용해서는 안됩니다. 보다PostgreSQL : 문서 : 11 : 20.5. 암호 토토 꽁 머니자세한 내용.

gss

GSSAPI를 사용하여 스포츠 토토를 인증합니다. 이것은 TCP/IP 연결에만 사용할 수 있습니다. 보다PostgreSQL : 문서 : 11 : 20.6. GSSAPI 토토자세한 내용.

SSPI

SSPI를 사용하여 스포츠 토토를 인증합니다. 이것은 Windows에서만 사용할 수 있습니다. 보다메이저 토토 사이트 PostgreSQL : 문서 : 11 : 20.7. SSPI 인증자세한 내용.

ID

클라이언트의 ID 서버에 연락하여 클라이언트의 운영 체제 스포츠 토토 이름을 얻고 요청 된 데이터베이스 스포츠 토토 이름과 일치하는지 확인하십시오. ID 인증은 TCP/IP 연결에서만 사용할 수 있습니다. 로컬 연결에 지정되면 대신 피어 인증이 사용됩니다. 보다PostgreSQL : 문서 : 11 : 20.8. ID 메이저 토토 사이트자세한 내용.

피어

운영 체제에서 클라이언트 운영 체제 스포츠 토토 이름을 얻고 요청 된 데이터베이스 스포츠 토토 이름과 일치하는지 확인하십시오. 이것은 로컬 연결에만 사용할 수 있습니다. 보다PostgreSQL : 문서 : 11 : 20.9. 피어 범퍼카 토토자세한 내용.

LDAP

AN을 사용하여 인증LDAP서버. 보다섹션 20.10자세한 내용.

반경

RADIUS 서버를 사용하여 인증. 보다PostgreSQL : 문서 : 11 : 20.11. 토토 사이트 순위 인증자세한 내용.

cert

SSL 클라이언트 인증서를 사용하여 인증. 보다PostgreSQL : 문서 : 11 : 20.12. 스포츠 토토 베트맨 인증자세한 내용.

PAM

운영 체제에서 제공하는 PAM (Pluggable Authentication Modules) 서비스를 사용하여 인증. 보다PostgreSQL : 문서 : 11 : 20.13. 토토 핫 인증자세한 내용.

BSD

운영 체제가 제공하는 BSD 인증 서비스를 사용하여 인증. 보다PostgreSQL : 문서 : 11 : 20.14. BSD 사설 토토 사이트자세한 내용.

Auth-options

이후Auth-Method필드, 양식의 필드가있을 수 있습니다이름=value인증 방법에 대한 옵션을 지정합니다. 어떤 인증 방법이 아래에 표시되는지에 대한 세부 정보.

아래에 나열된 메소드 별 옵션 외에도 하나의 메소드 독립적 인증 옵션이 있습니다.ClientCert.hostssl레코드. 로 설정된 경우1,이 옵션은 클라이언트가 인증 방법의 다른 요구 사항 외에도 유효한 (신뢰할 수있는) SSL 인증서를 제시해야합니다.

파일 포함@구조물은 이름 목록으로 읽히고, 공백 또는 쉼표로 분리 할 수 ​​있습니다. 댓글은에 의해 소개됩니다.#pg_hba.conf및 중첩@구성이 허용됩니다. 파일 이름을 따르는 경우@절대적인 경로이며, 참조 파일을 포함하는 디렉토리와 관련이 있습니다.

이후PG_HBA.conf레코드는 각 연결 시도에 대해 순차적으로 검사됩니다. 레코드의 순서는 중요합니다. 일반적으로, 이전 레코드는 긴밀한 연결 일치 매개 변수와 약한 인증 방법을 갖는 반면, 나중에 레코드에는 느슨한 일치 매개 변수와 더 강력한 인증 방법이 있습니다. 예를 들어, 사용하고 싶을 수도 있습니다신뢰로컬 TCP/IP 연결에 대한 인증이지만 원격 TCP/IP 연결에는 비밀번호가 필요합니다. 이 경우 레코드를 지정신뢰127.0.0.1의 연결에 대한 인증은 더 넓은 범위의 허용 클라이언트 IP 주소에 대한 비밀번호 인증을 지정하는 레코드 전에 나타납니다..

thepg_hba.conf파일은 시작시, 기본 서버 프로세스가 a를받을 때 읽습니다.Sighup신호. 활성 시스템에서 파일을 편집하면 우체국 장에 신호를 보내야합니다 (사용PG_CTL Reload, SQL 기능 호출pg_reload_conf ()또는 사용Kill -hup) 파일을 다시 읽게하려면

Note

앞의 진술은 Microsoft Windows에서 사실이 아닙니다.pg_hba.conf파일은 후속 새 연결에 의해 즉시 적용됩니다.

시스템보기PG_HBA_FILE_RULES사전 테스트 변경에 도움이 될 수 있습니다pg_hba.conf파일 또는 파일로드에 원하는 효과가없는 경우 문제를 진단합니다. 널이없는 관점에서 줄오류필드는 파일의 해당 줄에 문제를 나타냅니다.

특정 데이터베이스에 연결하려면 스포츠 토토는를 전달할뿐만 아니라pg_hba.conf수표이지만가 있어야합니다.Connect데이터베이스의 권한. 어떤 데이터베이스를 연결할 수 있는지 제한하려면 일반적으로 부여/취소를 통해이를 제어하는 ​​것이 더 쉽습니다Connect규칙을 넣는 것보다pg_hba.conf항목.

일부 예pg_hba.conf항목이 표시됩니다예 20.1. 다른 인증 방법에 대한 자세한 내용은 다음 섹션을 참조하십시오.

예 20.1. 예PG_HBA.conf항목

# 로컬 시스템의 모든 스포츠 토토가 모든 데이터베이스에 연결하도록 허용합니다.
# Unix-Domain 소켓을 사용하는 모든 데이터베이스 스포츠 토토 이름 (로컬의 기본값
# 연결).
틀
# 데이터베이스 스포츠 토토 주소 방법을 입력합니다
모든 신뢰

# 로컬 루프백 TCP/IP 연결을 사용하여 동일합니다.
틀
# 데이터베이스 스포츠 토토 주소 방법을 입력합니다
모든 127.0.0.1/32 신탁을 모두 호스트하십시오

# 이전 줄과 동일하지만 별도의 Netmask 열을 사용합니다.
틀
# 데이터베이스 유형 스포츠 토토 IP-Dress IP-MASK 메소드
모든 127.0.0.1 255.255.255.255 신탁을 모두 호스트하십시오

# IPv6과 동일합니다.
틀
# 데이터베이스 스포츠 토토 주소 방법을 입력합니다
모든 것을 호스트하십시오 :: 1/128 신뢰

# 호스트 이름을 사용하여 동일합니다 (일반적으로 IPv4와 IPv6을 모두 포함합니다).
틀
# 데이터베이스 스포츠 토토 주소 방법을 입력합니다
모든 LocalHost 신탁을 모두 호스트하십시오

# IP 주소가있는 호스트의 모든 스포츠 토토가 192.168.93.x를 연결하도록 허용합니다.
# "postgres"로 # 보고서를 확인하는 동일한 스포츠 토토 이름과
# 연결 (일반적으로 운영 체제 스포츠 토토 이름).
틀
# 데이터베이스 스포츠 토토 주소 방법을 입력합니다
호스트 Postgres 모든 192.168.93.0/24 ID

# Host 192.168.12.10의 모든 스포츠 토토가 데이터베이스에 연결하도록 허용합니다.
# "Postgres"스포츠 토토의 암호가 올바르게 제공되는 경우.
틀
# 데이터베이스 스포츠 토토 주소 방법을 입력합니다
호스트 Postgres 모든 192.168.12.10/32 SCRAM-SHA-256

# example.com 도메인의 호스트의 모든 스포츠 토토가 연결하도록 허용합니다.
# 스포츠 토토의 암호가 올바르게 제공되는 경우 모든 데이터베이스.
틀
# 대부분의 스포츠 토토에게는 SCRAM 인증이 필요하지만 예외를 만드십시오.
# SCRAM을 지원하지 않는 이전 클라이언트를 사용하는 스포츠 토토 'Mike'의 경우
# 인증.
틀
# 데이터베이스 스포츠 토토 주소 방법을 입력합니다
모든 mike .example.com md5 호스트
모든 all .example.com Scram-SHA-256을 호스트하십시오

# 앞의 "호스트"라인이없는 경우이 두 줄은
# 192.168.54.1에서 모든 연결을 거부합니다 (그 항목은
# 먼저 일치하지만 다른 곳에서 GSSAPI 연결을 허용합니다.
# 인터넷에서.  제로 마스크는 호스트 IP의 비트를 유발하지 않습니다.
# 주소를 고려할 주소는 모든 호스트와 일치합니다.
틀
# 데이터베이스 스포츠 토토 주소 방법을 입력합니다
모든 192.168.54.1/32 모두 거부하십시오
모든 0.0.0.0/0 GSS를 모두 호스트하십시오

# 192.168.x.x 스포츠 토토가 데이터베이스에 연결할 수 있도록 허용합니다.
# 그들은 신원 확인을 통과합니다.  예를 들어 Ident가 스포츠 토토가 있다고 말하면
# "Bryanh"및 그는 PostgreSQL 스포츠 토토 "Guest1"으로 연결하도록 요청합니다.
# MAP의 PG_INDENT.CONF 항목이 있으면 연결이 허용됩니다.
# "Bryanh"라는 "Omicron"은 "Guest1"으로 연결할 수 있습니다.
틀
# 데이터베이스 스포츠 토토 주소 방법을 입력합니다
모든 192.168.0.0/16 모두를 호스트합니다. ID MAP = OMICRON

# 이것이 로컬 연결을위한 유일한 세 줄인 경우
# 로컬 스포츠 토토가 자신의 데이터베이스 (데이터베이스)에만 연결하도록 허용합니다.
# 데이터베이스 스포츠 토토 이름과 동일한 이름을 가진) 관리자를 제외하고
# 및 모든 데이터베이스에 연결할 수있는 역할 "지원"멤버.  파일
# $ pgdata/Admins에는 관리자 이름 목록이 포함되어 있습니다.  비밀번호
# 모든 경우에 필요합니다.
틀
# 데이터베이스 스포츠 토토 주소 방법을 입력합니다
로컬 동일한 사람 모두 MD5
로컬 모든 @admins md5
로컬 all +지원 MD5

# 위의 마지막 두 줄은 한 줄로 결합 할 수 있습니다.
Local All @Admins,+지원 MD5

# 데이터베이스 열은 목록 및 파일 이름도 사용할 수도 있습니다.
로컬 db1, db2,@demodbs all md5