다음 하위 섹션에서는 인증 방법을 설명합니다. 좀 더 자세히.
언제신뢰배트맨 토토은 지정됨,포스트그레SQL가정 서버에 연결할 수 있는 모든 사람에게 권한이 부여됩니다. 어떤 데이터베이스 사용자 이름으로든 데이터베이스에 액세스합니다. 지정합니다(수퍼유저 포함). 물론, 제한 사항은데이터베이스그리고사용자열은 여전히 적용됩니다. 이 방법은 적절한 운영 체제 수준이 있는 경우에만 사용됩니다. 서버 연결을 보호합니다.
신뢰인증이 적절합니다 단일 사용자의 로컬 연결에 매우 편리합니다. 워크스테이션. 일반적으로아님그 자체로 적합함 다중 사용자 기계. 그러나 다음을 사용할 수 있습니다.신뢰다중 사용자 시스템에서도 다음을 사용하여 서버의 Unix 도메인 소켓 파일에 대한 액세스를 제한합니다. 파일 시스템 권한. 이렇게 하려면unix_socket_permissions(아마도unix_socket_group) 구성 매개변수 설명됨PostgreSQL :. 또는 다음을 설정할 수도 있습니다.unix_socket_directory구성 매개변수 적절하게 제한된 디렉토리에 소켓 파일을 배치하십시오.
파일 시스템 권한 설정은 Unix 소켓에만 도움이 됩니다 연결. 로컬 TCP/IP 연결은 이에 의해 제한되지 않습니다. 따라서 로컬에 대한 파일 시스템 권한을 사용하려는 경우 보안, 삭제하세요.호스트 ... 127.0.0.1 ...행에서pg_hba.conf또는 비-로 변경하세요.신뢰배트맨 토토 방법.
신뢰인증은 단지 모든 사용자를 신뢰하는 경우 TCP/IP 연결에 적합합니다. 에 의해 서버에 연결이 허용된 모든 머신pg_hba.conf지정하는 라인신뢰. 사용하는 것이 거의 합리적이지 않습니다.신뢰모든 TCP/IP 연결의 경우 기타 그보다로컬호스트 (127.0.0.1).
비밀번호 기반 인증 방법은 다음과 같습니다.md5, 암호및비밀번호. 이러한 방법은 작동 비밀번호가 전송되는 방식을 제외하고는 유사합니다. 연결: 각각 MD5 해시, 암호화 암호화 및 일반 텍스트. 제한 사항은 다음과 같습니다.암호메소드가 다음 비밀번호로는 작동하지 않습니다. 암호화되었습니다.pg_authid.
비밀번호가 걱정된다면"냄새를 맡는 중"다음 공격md5바람직함, 다음과 함께암호지원해야 하는 경우에만 사용됩니다. 7.2 이전 클라이언트. 일반비밀번호해야 한다 특히 개방형 인터넷을 통한 연결은 피하세요. (사용하지 않는 한SSL, SSH또는 다른 연결 주변의 통신 보안 래퍼).
배트맨 토토데이터베이스 비밀번호는 운영 체제 사용자 비밀번호와 별개입니다. 각 데이터베이스 사용자의 비밀번호는pg_authid시스템 카탈로그. 비밀번호는 다음과 같습니다. SQL 명령으로 관리됨사용자 생성그리고사용자 변경예:비밀번호 '비밀'을 사용하여 foo 사용자 생성;. 작성자: 기본값, 즉 비밀번호가 설정되지 않은 경우 저장된 비밀번호는 null이며 비밀번호 인증은 항상 실패합니다. 해당 사용자에 대해.
케르베로스은 산업 표준 보안 배트맨 토토 시스템에 적합 공용 네트워크를 통한 분산 컴퓨팅. 에 대한 설명케르베로스시스템이 멀다 이 문서의 범위를 벗어나는 것 전체적으로는 그럴 수 있다. 꽤 복잡하지만 (아직 강력함)케르베로스FAQ또는MIT 케르베로스 페이지탐험을 위한 좋은 출발점이 될 수 있습니다. 여러 출처케르베로스배포판이 존재합니다.케르베로스보안 인증을 제공하지만 쿼리를 암호화하지 않거나 네트워크를 통해 전달되는 데이터; 그 용도로SSL.
배트맨 토토지원 Kerberos 버전 5. 다음 경우에 Kerberos 지원을 활성화해야 합니다.배트맨 토토이 건설되었습니다. 참조14장더 보기 정보.
포스트그레SQL다음과 같이 작동합니다 일반 Kerberos 서비스. 서비스 주체의 이름은 다음과 같습니다.서비스 이름/호스트 이름@영역.
서비스 이름설정 가능 서버 측은krb_srvname구성 매개변수 및 클라이언트측에서는krbsrvname연결 매개변수. (참조 또한PostgreSQL : 문서 : 8.2 : 데이터베이스 토토 베이 제어 기능.) 설치 기본값은 기본값에서 변경될 수 있습니다.포스트그레스빌드 시 다음을 사용하여./configure --with-krb-srvnam=무엇이든. 대부분의 경우 환경에서는 이 매개변수를 변경할 필요가 없습니다. 그러나 여러 개를 지원하려면배트맨 토토동일한 호스트에 설치 그것은 필요하다. 일부 Kerberos 구현에는 다음이 필요할 수도 있습니다. Microsoft Active Directory와 같은 다른 서비스 이름 서비스 이름은 대문자()여야 합니다.포스트그레스).
호스트 이름완전히 서버 시스템의 정규화된 호스트 이름입니다. 서비스 주체의 영역은 서버의 기본 영역입니다. 기계.
클라이언트 주체는 다음을 가져야 합니다.배트맨 토토데이터베이스 사용자 이름을 예를 들어 첫 번째 구성요소pgusername/otherstuff@realm. 현재는 클라이언트의 영역은 다음으로 확인되지 않습니다.포스트그레SQL; 따라서 교차 영역이 있는 경우 인증이 활성화된 다음 해당 영역의 모든 주체 당신과 의사소통할 수 있는 것은 받아들여질 것입니다.
서버 keytab 파일을 읽을 수 있는지 확인하십시오(그리고 읽기만 가능함) by the배트맨 토토서버 계정. (또한 참조젠 토토 : 문서 : 8.2 : 젠 토토 사용자 계정.) 위치 키 파일은 다음으로 지정됩니다.krb_server_keyfile구성 매개변수. 기본값은/usr/local/pgsql/etc/krb5.keytab(또는 어느 쪽이든) 디렉토리는 다음과 같이 지정되었습니다.sysconfdir빌드 시).
keytab 파일은 Kerberos 소프트웨어에 의해 생성되었습니다. 참조 자세한 내용은 Kerberos 설명서를 참조하세요. 다음 예 MIT 호환 Kerberos 5 구현용입니다.
kadmin%ank -randkey postgres/server.my.domain.org kadmin%ktadd -k krb5.keytab postgres/server.my.domain.org
데이터베이스에 연결할 때 티켓이 있는지 확인하십시오 요청된 데이터베이스 사용자 이름과 일치하는 주체에 대해 에 대한 예, 데이터베이스 사용자 이름의 경우프레드, 둘 다 교장fred@EXAMPLE.COM그리고fred/users.example.com@EXAMPLE.COM데이터베이스 서버를 인증하는 데 사용될 수 있습니다.
사용하는 경우mod_auth_kerb그리고mod_perl당신의아파치웹 서버를 사용할 수 있습니다배트맨 토토 유형 KerberosV5SaveCredentials와mod_perl스크립트. 이것은 웹을 통한 보안 데이터베이스 액세스, 추가 비밀번호 없음 필수입니다.
신원 인증 방법은 클라이언트의 운영 체제 사용자 이름을 확인한 다음 데이터베이스 사용자 이름을 나열하는 맵 파일을 사용하여 허용된 데이터베이스 사용자 이름 해당 이름 쌍이 허용됩니다. 결정 클라이언트의 사용자 이름은 보안에 중요한 포인트이며 연결 유형에 따라 다르게 작동합니다.
그"식별 프로토콜"다음에 설명되어 있습니다.RFC 1413. 사실상 모든 Unix 계열 운영 체제에는 ident 서버가 함께 제공됩니다. 기본적으로 TCP 포트 113에서 수신 대기합니다. 기본 ident 서버의 기능은 다음과 같은 질문에 답하는 것입니다."어떤 사용자가 연결을 시작했는지 항구 밖으로 나간다X그리고 내 포트에 연결됩니다.Y?". 이후포스트그레SQL둘 다 알고 있음X그리고Y물리적 연결이 설정되면 질의할 수 있습니다. 연결 클라이언트 호스트의 ident 서버 및 이론적으로 운영 체제 사용자를 결정할 수 있습니다. 어떤 주어진 연결도 이런 식으로 이루어집니다.
이 절차의 단점은 다음에 따라 달라진다는 것입니다. 클라이언트의 무결성: 클라이언트 시스템을 신뢰할 수 없는 경우 또는 공격자가 손상되면 거의 모든 프로그램을 실행할 수 있습니다. 포트 113에서 그가 선택한 사용자 이름을 반환합니다. 이 따라서 인증 방법은 다음에만 적합합니다. 각 클라이언트 시스템이 긴밀하게 연결되어 있는 폐쇄형 네트워크 데이터베이스 및 시스템 관리자가 제어하는 위치 긴밀한 접촉으로 운영됩니다. 즉, 당신은 신뢰해야합니다 ident 서버를 실행하는 머신. 경고에 유의하세요.
| 
             식별 프로토콜은 다음 목적으로 사용되지 않습니다. 승인 또는 액세스 제어 프로토콜.  | 
          ||
| --RFC 1413 | ||
일부 ident 서버에는 다음을 유발하는 비표준 옵션이 있습니다. 반환된 사용자 이름은 암호화할 키를 사용하여 원래 시스템의 관리자는 알고 있습니다. 이 옵션해서는 안 됩니다사용됩니다 ident 서버를 사용할 때배트맨 토토, 이후배트맨 토토할 수 있는 방법이 없습니다 실제 사용자를 확인하기 위해 반환된 문자열을 해독합니다. 이름.
지원하는 시스템에서SO_PEERCREDUnix 도메인 소켓에 대한 요청(현재리눅스, FreeBSD, NetBSD, 오픈BSD및BSD/OS), 신원 배트맨 토토도 가능합니다. 로컬 연결에 적용됩니다. 이 경우 보안 위험은 없습니다. ID 배트맨 토토을 사용하여 추가됩니다. 실제로 그것은 이러한 시스템의 로컬 연결에 선호되는 선택입니다.
다음이 없는 시스템에서SO_PEERCRED요청, ID 인증은 TCP/IP에서만 가능합니다. 연결. 해결 방법으로 다음을 지정할 수 있습니다.로컬호스트주소127.0.0.1그리고 만들다 이 주소로 연결됩니다. 이 방법은 신뢰할 수 있는 로컬 ID 서버를 신뢰하는 정도.
ID 기반 인증을 사용할 때, 운영 체제 사용자의 이름을 확인했습니다. 연결을 시작했습니다.배트맨 토토해당 사용자가 다음인지 확인합니다. 그가 요청한 데이터베이스 사용자로 연결할 수 있습니다 다음과 같이 연결합니다. 이는 ident 맵 인수에 의해 제어됩니다. 다음을 따른다ident키워드pg_hba.conf파일. 있다 사전 정의된 ID 맵동일사용자, 모든 운영 체제 사용자가 데이터베이스로 연결할 수 있도록 허용 동일한 이름의 사용자(후자가 존재하는 경우) 다른 지도는 반드시 수동으로 생성됩니다.
다음 이외의 ID 맵동일사용자기본적으로 이름이 지정된 ident 맵 파일에 정의되어 있습니다.pg_ident.conf클러스터의 데이터에 저장됩니다. 디렉토리. (지도 파일을 다른 곳에 두는 것도 가능하지만, 그러나; 참조하세요ident_file구성 매개변수.) ident 맵 파일에 다음 줄이 포함되어 있습니다. 일반적인 형식:
지도 이름 ident-사용자 이름 데이터베이스-사용자 이름
주석과 공백은 다음과 같은 방식으로 처리됩니다.pg_hba.conf.지도 이름임의의 이름입니다. 이 매핑을 참조하는 데 사용됩니다.pg_hba.conf. 다른 두 필드는 다음을 지정합니다. 어떤 운영 체제 사용자가 어떤 사용자로 연결할 수 있는지 데이터베이스 사용자. 같은지도 이름반복적으로 사용할 수 있습니다. 단일 맵 내에서 더 많은 사용자 매핑을 지정합니다. 없다 특정 데이터베이스 사용자 수에 대한 제한 운영 체제 사용자는 해당할 수도 있고 그 반대일 수도 있습니다.
그pg_ident.conf파일을 읽었습니다. 시작 시 및 기본 서버 프로세스가 다음을 수신할 때SIGHUP신호. 활성 상태에서 파일을 편집하는 경우 시스템에서는 서버에 신호를 보내야 합니다(pg_ctl 다시 로드또는죽여라 -HUP) 파일을 다시 읽도록 합니다.
A pg_ident.conf할 수 있는 파일 와 함께 사용됩니다.pg_hba.conf파일 입력예 20-1다음에 표시됨예 20-2. 이 예제 설정에서는 누구나 컴퓨터에 로그인했습니다. 192.168 Unix 사용자 이름이 없는 네트워크브라이언, 앤, 또는로버트아마도 접근 권한이 부여되지 않습니다. 유닉스 사용자로버트그가 다음 경우에만 접근이 허용됩니다. 다음으로 연결을 시도합니다.포스트그레SQL사용자밥, 그렇지 않음로버트또는 다른 사람.앤단지 다음으로 연결이 허용됨앤. 사용자브라이언연결이 허용됩니다 둘 중 하나로서브라이언자신 또는 다른 사람손님1.
이 인증 방법은 다음과 유사하게 작동합니다.비밀번호단, LDAP를 배트맨 토토 방법. LDAP는 사용자를 확인하는 데에만 사용됩니다. 이름/비밀번호 쌍. 따라서 사용자는 이미 존재해야 합니다. LDAP 이전의 데이터베이스를 인증에 사용할 수 있습니다. 는 사용된 서버 및 매개변수는 뒤에 지정됩니다.ldap파일의 키워드pg_hba.conf. 이 매개변수의 형식 다음과 같습니다:
ldap[s]://서버 이름[:포트]/기본 dn[;접두사[;접미사]]
쉼표는 여러 항목을 지정하는 데 사용됩니다.ldap컴포넌트. 그러나 인용되지 않은 쉼표 때문에 에서 항목 구분 기호로 처리됩니다.pg_hba.conf, 다음을 큰따옴표로 묶는 것이 좋습니다.ldap쉼표를 보존하기 위한 URL 현재, 예:
"ldap://ldap.example.net/dc=example,dc=net;EXAMPLE\"
만약ldaps대신에 지정됨ldap, TLS 암호화가 활성화됩니다 연결을 위해. 이 경우에만 암호화됩니다. 배트맨 토토 서버와 LDAP 서버 간의 연결. 클라이언트와 배트맨 토토 서버 간의 연결은 다음과 같습니다. 이 설정의 영향을 받지 않습니다. TLS 암호화를 사용하려면, 구성하기 전에 LDAP 라이브러리를 구성해야 할 수도 있습니다. 배트맨 토토. 암호화된 LDAP는 다음과 같은 경우에만 사용할 수 있습니다. 플랫폼의 LDAP 라이브러리가 이를 지원합니다.
포트가 지정되지 않으면 기본 포트는 LDAP 라이브러리가 사용됩니다.
서버는 다음과 같이 지정된 고유 이름에 바인딩됩니다.기본 dn사용자 이름 사용 중 클라이언트가 제공합니다. 만일접두사그리고접미사이 지정되면 앞에 추가됩니다. 바인드 전에 사용자 이름에 추가됩니다. 일반적으로, 접두사 매개변수는 지정하는 데 사용됩니다.cn=, 또는도메인\Active Directory에서 환경.
이 인증 방법은 다음과 유사하게 작동합니다.비밀번호PAM(플러그형)을 사용한다는 점은 제외 인증 모듈)을 인증 메커니즘으로 사용합니다. 는 기본 PAM 서비스 이름은 다음과 같습니다.배트맨 토토. 선택적으로 직접 제공할 수 있습니다. 서비스 이름 뒤에는팸키워드 파일pg_hba.conf. PAM이 사용됩니다 사용자 이름/비밀번호 쌍의 유효성을 검사하는 데에만 사용됩니다. 따라서 사용자는 PAM을 사용하려면 먼저 데이터베이스에 이미 존재해야 합니다. 인증. PAM에 대한 자세한 내용은 다음을 읽어보세요.리눅스-PAM페이지그리고솔라리스팸 페이지.