| PostgreSQL 9.1.24 문서 | ||||
|---|---|---|---|---|
| PostgreSQL : 문서 : 9.1 : PG_HBA.conf 토토 캔 | 위로 | 19장. 클라이언트 인증 | PostgreSQL : 문서 : 9.1 : 와이즈 토토 방법 | |
Ident 또는 Ident와 같은 외부 인증 시스템을 사용하는 경우 GSSAPI는 작업을 시작한 운영 체제 사용자의 이름입니다. 연결이 필요한 데이터베이스 사용자와 동일하지 않을 수 있습니다. 다음과 같이 연결합니다. 이 경우 사용자 이름 맵을 맵에 적용할 수 있습니다. 운영 체제 사용자 이름을 데이터베이스 사용자에게 전달합니다. 사용자를 사용하려면 이름 매핑, 지정지도=지도 이름옵션 필드에서pg_hba.conf. 이 옵션은 모든 사용자에게 지원됩니다. 외부 사용자 이름을 수신하는 인증 방법입니다. 이후 서로 다른 연결에는 서로 다른 매핑이 필요할 수 있습니다. 사용할 지도의 이름은에 지정됩니다.지도-이름매개변수pg_hba.conf각각에 사용할 지도를 나타냅니다. 개별 연결.
사용자 배트맨 토토 맵은 ident 맵 파일에 정의되어 있습니다. 기본값은 배트맨 토토이 지정됩니다.pg_ident.conf그리고 클러스터의 데이터 디렉터리에 저장됩니다. (배치는 가능해요 그러나 지도 파일은 다른 곳에 있습니다. 참조하세요ident_file구성 매개변수.) ident 맵 파일에는 다음 행이 포함되어 있습니다. 일반적인 형식:
지도-이름 시스템-사용자 배트맨 토토 데이터베이스-사용자 배트맨 토토
주석과 공백은 다음과 같은 방식으로 처리됩니다.pg_hba.conf.지도 이름임의의 배트맨 토토입니다. 에서 이 매핑을 참조하는 데 사용됨pg_hba.conf. 다른 두 필드는 운영 체제 사용자 배트맨 토토과 일치하는 데이터베이스 사용자 배트맨 토토. 는 같은지도-이름사용 가능 단일 내에서 여러 사용자 매핑을 지정하기 위해 반복적으로 지도.
데이터베이스 사용자 수에는 제한이 없습니다. 주어진 운영 체제 사용자는 해당 운영 체제에 대응할 수 있으며 그 반대도 마찬가지입니다. 따라서 지도의 항목은 다음과 같은 의미로 생각되어야 합니다."이 운영 체제 사용자는 다음이 허용됩니다. 이 데이터베이스 사용자로 연결하세요.", 그런 암시보다는 그것들은 동등합니다. 다음이 있는 경우 연결이 허용됩니다. 외부에서 얻은 사용자 이름과 쌍을 이루는 모든 맵 항목 사용자가 지정한 데이터베이스 사용자 이름을 사용한 인증 시스템 님이 다음 계정으로 연결을 요청했습니다.
만약에시스템-사용자 배트맨 토토필드 슬래시로 시작합니다(/), 나머지 필드의 내용은 정규식으로 처리됩니다. (참조섹션 9.7.3.1자세한 내용은포스트그레SQL의 정규식 구문.) 정규식은 단일 캡처를 포함하거나 괄호로 묶을 수 있습니다. 하위 표현식은 다음에서 참조될 수 있습니다.데이터베이스-사용자 배트맨 토토필드:\1(백슬래시-1). 이를 통해 매핑이 가능해집니다. 한 줄에 여러 사용자 배트맨 토토이 들어 있습니다. 특히 간단한 구문 대체에 유용합니다. 예를 들어, 이러한 항목
mymap /^(.*)@mydomain\.com$ \1 mymap /^(.*)@otherdomain\.com$ 손님
시스템 사용자 이름을 가진 사용자의 도메인 부분을 제거합니다. 다음으로 끝나는 것@mydomain.com, 허용 시스템 이름이 다음으로 끝나는 모든 사용자@otherdomain.com다음 계정으로 로그인하려면손님.
팁:기본적으로 일반 표현식은 문자열의 일부만 일치할 수 있습니다. 평소엔 현명한데 사용하다^그리고$, 위의 예에 표시된 것처럼 전체 시스템 사용자 배트맨 토토과 일치합니다.
그pg_ident.conf파일을 읽은 위치 시작 및 기본 서버 프로세스가 수신될 때SIGHUP신호. 파일을 편집하는 경우 활성 시스템인 경우 포스트마스터에게 신호를 보내야 합니다( 사용).pg_ctl 다시 로드또는죽여 -HUP) 파일을 다시 읽도록 합니다.
A pg_ident.conf다음과 같은 파일이 있을 수 있습니다. 와 함께 사용됨pg_hba.conf파일 입력예 19-1이다 에 표시됨예 19-2. 이 예에서는 누구나 192.168의 컴퓨터에 로그인했습니다. 운영 체제 사용자 배트맨 토토이 없는 네트워크브라이언, 앤또는로버트액세스가 허용되지 않습니다. 유닉스 사용자로버트접근만 허용됩니다 그가 연결을 시도할 때PostgreSQL사용자밥, 그렇지 않음로버트또는 다른 사람.앤만 허용됩니다 다음으로 연결하려면앤. 사용자브라이언둘 중 하나로 연결이 허용됩니다브라이언또는손님1.