logo
문의하기
서비스리소스블로그아카데미
logo
문의하기
logo

데이터와 IT 흐름을 읽는 시선,
뉴스레터 EXEM View 구독하기

Subscribe

주식회사 엑셈

서울시 강서구 마곡중앙8로5길 40

Tel 02-6203-6300 ㅣ Fax 02-6203-6301

ⓒ EXEM Co., Ltd. All Rights Reserved.
개인정보 처리방침서비스 이용약관
  • 서비스

    • Database
    • Application
    • AIOps
    • LLMOps
    • Big Data
    • All-in-One
    • Consulting
  • 신청

    • 세미나
    • 사옥 투어
  • 회사

    • 기업 소개
    • 채용 안내
    • IR
    • 오시는 길
  • 자료

    • 제품 브로슈어
    • 제품 살펴보기
    • 도서 실습자료
  • awsaws
  • microsoftmicrosoft
  • oracleoracle
  • naver-cloudnaver-cloud
PostgreSQL 참고자료 - Configuration File: pg_hba.conf
PostgreSQL 참고자료 - Configuration File: pg_hba.conf

PostgreSQL 참고자료 - Configuration File: pg_hba.conf

PostgreSQL Authentication

PostgreSQL에 접속하기 위한 Client는 인증을 획득해야하며, 인증은 $PGDATA/pg_hba.conf 파일을 통해서 이뤄집니다. 해당 파일에서 한개의 레코드는 5개의 필드값(Type, Database, User, Address, Method)으로 작성이 되며 특정 사용자에 대한 인증 혹은 특정 IP 대역의 접속 제한을 수행합니다. 해당 파일 작성시 다음과 같은 규칙을 따릅니다.
  • #(주석)문자 뒤의 내용은 무시
  • 빈줄 무시
  • 백슬래시(\)로 줄을 끝내면 레코드 다음줄로 계속 작성 가능
  • 공백 및 탭으로 필드 구분
📌 HBA란 Host-Base Authentication 의 줄임말로 호스트 기반 인증을 나타냅니다.
 

pg_hba.conf Sample

📌 127.0.0.1/32 : 로컬 루프백 주소로 자신을 나타내는 IP주소입니다. (localhost와 동일) ::1/128 : IPv6의 로컬 루프백 주소
 
 

레코드 설정 형식

pg_hba.conf 파일의 하나의 레코드는 5개의 필드 로 구성이 됩니다. 각각의 필드가 의미하는 내용과 선택 가능한 옵션은 다음과 같습니다.
 

TYPE

local, host, hostssl, hostnossl, hostgssenc, hostnogssenc 중 하나를 설정합니다.
  • local은 Unix 도메인 소켓을 사용하여 연결하는 경우에 사용 됩니다.
  • host, hostssl, hostnossl, hostgssenc, hostnogssenc는 모두 TCP/IP를 사용하여 연결하는 경우에 사용됩니다.
 

DATABASE

연결할 수 있는 Database 이름을 지정합니다. 복수 지정의 경우 쉼표(,)로 구분하여 작성합니다.
  • all로 지정한 경우 복제(Replication)을 제외한 모든 Database를 의미합니다.
  • sameuser로 지정한 경우 사용자 이름과 동일한 이름의 Database를 의미합니다.
  • samerole로 지정한 경우 연결하는 사용자가 연결하는 Database와 동일한 이름의 Role 구성원이어야 합니다.
  • replication으로 지정한 경우 복제 권한이 있는 사용자에 의한 복제 연결을 허용합니다.
  • Database 이름을 포함하는 별도의 파일은 @파일이름 으로 지정할 수 있습니다.
 

USER

연결할 수 있는 Role을 지정합니다. 복수 지정의 경우 쉼표(,)로 구분하여 작성합니다.
  • all로 지정한 경우 모든 Role를 의미합니다.
  • Database 사용자나 Group이름 앞에 +를 붙이면, 해당 User나 Group이 사용되고 있는 Role을 의미합니다.
  • Role 이름을 포함하는 별도의 파일은 파일 이름 앞에 @파일이름 으로 지정할 수 있습니다.
 

ADDRESS

연결할 수 있는 Host 이름 또는 IP 주소 범위를 지정합니다. IP주소는 IPv4의 경우 10.10.30.160/24 와 같은 형식으로, IPv6의 경우 fe80::a4e8:f42d:2556:f68a/96과 같은 형식으로 지정합니다. 또한, 별도의 Honstname(별칭)을 지정할 수 있습니다.
  • all로 지정한 경우 모든 IP 주소를 의미합니다.
  • samehost로 지정한 경우 PostgreSQL이 기동중인 서버와 동일한 IP 주소를 의미합니다.
  • samenet으로 지정한 경우 PostgreSQL 서버와 동일한 네트워크를 의미합니다.
 

METHOD

데이터베이스 연결 시 인증방법을 지정합니다.
METHOD
설명
trust
모든 Role에 암호없이 연결 가능
reject
연결 거부
scram-sha-256
encrypted password 가장 안전한 암호 인증이지만 일부 클라이언트에서 미지원
md5
암호인증
password
암호를 평문으로 전송하는 암호 인증
gss
GSSAPI를 이용한 Single SignOn. 한 번의 로그인으로 여러개의 서비스들을 이용 가능 ** GSSAPI : 인증 자체는 안전하지만, SSL을 사용하지 않을 경우 데이터베이스 연결을 통해 전송된 데이터는 암호화되지 않은 상태로 전송
sspi
SSPI를 이용한 Single SignOn ** SSPI : 보안 인증을 위한 Windows 기술
ident
Ident 인증. ident.conf를 통한 인증
peer
Peer 인증 Client OS User를 가져와 DB user로 사용. 로컬 연결에서만 지원.
ldap
ldap 인증 메커니즘 사용
radius
RADIUS 인증 메커니즘 사용. password Method와 유사하게 작동
cert SSL
Client 인증서를 사용한 인증
pam
PAM 인증 메커니즘 사용. password Method와 유사하게 작동 ** PAM : Pluggable Authentication Modules
bsd
BSD 인증 메커니즘 사용. password Method와 유사하게 작동
 
 

 
 
함께 보면 좋은 아티클
PostgreSQL 참고자료 - Configuration File : postgresql.conf | 엑셈
PostgreSQL 참고자료 - Configuration File : postgresql.conf | 엑셈
https://ex-em.com/ko/academy/configuration-file-postgresql.conf
PostgreSQL 참고자료 - Configuration File : postgresql.conf | 엑셈
 
Table of Contents
PostgreSQL Authenticationpg_hba.conf Sample레코드 설정 형식TYPEDATABASEUSERADDRESSMETHOD