이 인증 방법은 다음과 유사하게 작동합니다.비밀번호단, 비밀번호 확인 방법으로 LDAP를 사용한다는 점만 다릅니다. LDAP는 사용자 이름/비밀번호 쌍을 확인하는 데에만 사용됩니다. 따라서 인증에 LDAP를 사용하려면 먼저 사용자가 데이터베이스에 이미 존재해야 합니다.
LDAP 인증은 두 가지 모드로 작동할 수 있습니다. 단순 바인딩 모드라고 부르는 첫 번째 모드에서 서버는 다음과 같이 구성된 고유 이름에 바인딩됩니다.접두사 사용자 이름 접미사. 일반적으로,접두사매개변수는 지정하는 데 사용됩니다.cn=또는DOMAIN\Active Directory 환경에서.접미사비Active Directory 환경에서 DN의 나머지 부분을 지정하는 데 사용됩니다.
검색+바인딩 모드라고 부르는 두 번째 모드에서 서버는 먼저 다음으로 지정된 고정된 사용자 이름과 비밀번호를 사용하여 LDAP 디렉토리에 바인딩합니다.토토 캔binddn그리고토토 캔bindpasswd, 데이터베이스에 로그인을 시도하는 사용자에 대한 검색을 수행합니다. 사용자 및 비밀번호가 구성되지 않은 경우 디렉토리에 대한 익명 바인딩이 시도됩니다. 검색은 다음 위치의 하위 트리에 대해 수행됩니다.토토 캔basedn, 그리고에 지정된 속성과 정확히 일치하는 것을 시도합니다.토토 캔search속성. 이 검색에서 사용자를 찾으면 서버는 클라이언트가 지정한 비밀번호를 사용하여 이 사용자로 디렉터리에 다시 바인딩하여 로그인이 올바른지 확인합니다. 이 모드는 Apache와 같은 다른 소프트웨어의 LDAP 인증 체계에서 사용되는 것과 동일합니다.mod_authnz_토토 캔그리고pam_토토 캔. 이 방법을 사용하면 디렉터리에서 사용자 개체가 위치하는 위치에 훨씬 더 많은 유연성이 허용되지만 토토 캔 서버에 대한 두 개의 추가 요청이 발생하게 됩니다.
다음 구성 옵션은 두 모드 모두에서 사용됩니다:
토토 캔서버연결할 LDAP 서버의 이름 또는 IP 주소. 여러 서버를 공백으로 구분하여 지정할 수 있습니다.
토토 캔port연결할 토토 캔 서버의 포트 번호입니다. 포트가 지정되지 않으면 토토 캔 라이브러리의 기본 포트 설정이 사용됩니다.
토토 캔scheme다음으로 설정토토 캔sLDAPS를 사용합니다. 이는 일부 LDAP 서버 구현에서 지원되는 SSL을 통한 LDAP를 사용하는 비표준 방법입니다. 또한 참조하십시오.토토 캔tls대안을 위한 옵션.
토토 캔tlsPostgreSQL과 LDAP 서버 간의 연결이 TLS 암호화를 사용하도록 하려면 1로 설정하십시오. 이는 다음을 사용합니다.시작TLS작업 당RFC 4513. 또한 참조하십시오.토토 캔scheme대안을 위한 옵션.
사용에 유의하세요토토 캔scheme또는토토 캔tlsPostgreSQL 서버와 토토 캔 서버 간의 트래픽만 암호화합니다. PostgreSQL 서버와 PostgreSQL 클라이언트 간의 연결은 SSL이 사용되지 않는 한 여전히 암호화되지 않습니다.
다음 옵션은 단순 바인딩 모드에서만 사용됩니다:
토토 캔prefix단순 바인딩 인증을 수행할 때 바인딩할 DN을 구성할 때 사용자 이름 앞에 추가할 문자열.
토토 캔suffix단순 바인딩 인증을 수행할 때 바인딩할 DN을 구성할 때 사용자 이름에 추가할 문자열.
다음 옵션은 검색+바인딩 모드에서만 사용됩니다:
토토 캔basedn검색+바인딩 인증을 수행할 때 사용자 검색을 시작하는 루트 DN.
토토 캔binddn검색+바인딩 인증 시 검색을 수행하기 위해 디렉토리에 바인드할 사용자의 DN.
토토 캔bindpasswd검색+바인딩 인증 시 검색을 수행하기 위해 사용자가 디렉토리에 바인드하기 위한 비밀번호입니다.
토토 캔search속성검색+바인딩 인증을 수행할 때 검색에서 사용자 이름과 일치하는 속성입니다. 속성이 지정되지 않으면,UID속성이 사용됩니다.
토토 캔searchfilter검색+바인딩 인증을 수행할 때 사용할 검색 필터입니다. 발생 횟수$username은 사용자 이름으로 대체됩니다. 이는 다음보다 더 유연한 검색 필터를 허용합니다.토토 캔search속성.
다음 옵션은 위의 LDAP 옵션 중 일부를 보다 간결하고 표준 형식으로 작성하는 대체 방법으로 사용할 수 있습니다.
토토 캔url안RFC 4516LDAP URL. 형식은 다음과 같습니다
토토 캔[s]://호스트[:포트]/기반[?[속성][?[범위][?[필터]]]]
범위다음 중 하나여야 합니다베이스, 하나, 하위, 일반적으로 마지막입니다. (기본값은베이스, 일반적으로 이 애플리케이션에서는 유용하지 않습니다.)속성단일 속성을 지정할 수 있으며 이 경우 해당 속성은토토 캔search속성. 만일속성그럼 비어있습니다필터다음 값으로 사용할 수 있습니다.토토 캔searchfilter.
URL 구성표토토 캔sSSL을 통해 토토 캔 연결을 만들기 위해 토토 캔S 방법을 선택합니다.토토 캔scheme=토토 캔s. 다음을 사용하여 암호화된 LDAP 연결을 사용하려면시작TLS작업, 일반 URL 구성표 사용토토 캔그리고 다음을 지정하세요토토 캔tls추가 옵션토토 캔url.
비익명 바인드의 경우,토토 캔binddn그리고토토 캔bindpasswd별도의 옵션으로 지정해야 합니다.
LDAP URL은 현재 다음에서만 지원됩니다.오픈토토 캔, Windows에서는 아님.
단순 바인딩 구성 옵션과 검색+바인딩 옵션을 혼합하는 것은 오류입니다. 사용하려면토토 캔url단순 바인딩 모드에서는 URL에 다음이 포함되어서는 안 됩니다.기반또는 쿼리 요소.
검색+바인딩 모드를 사용할 때 다음으로 지정된 단일 속성을 사용하여 검색을 수행할 수 있습니다.토토 캔search속성또는 다음으로 지정된 맞춤 검색 필터 사용토토 캔searchfilter. 지정토토 캔searchattribute=foo지정하는 것과 동일합니다토토 캔searchfilter="(foo=$username)". 두 옵션 모두 지정되지 않은 경우 기본값은토토 캔searchattribute=uid.
만약PostgreSQL다음으로 컴파일됨오픈토토 캔토토 캔 클라이언트 라이브러리로서토토 캔서버설정은 생략될 수 있습니다. 이 경우 호스트 이름과 포트 목록은 다음을 통해 조회됩니다.RFC 2782DNS SRV 레코드. 이름_토토 캔._tcp.DOMAIN찾아보니 어디DOMAIN다음에서 추출됨토토 캔basedn.
다음은 단순 바인딩 LDAP 구성의 예입니다.
호스트 ... 토토 캔 토토 캔server=토토 캔.example.net 토토 캔prefix="cn=" 토토 캔suffix=", dc=example, dc=net"
데이터베이스 사용자로 데이터베이스 서버에 접속할 때someuser요청되면 PostgreSQL은 DN을 사용하여 LDAP 서버에 바인딩을 시도합니다.cn=someuser, dc=예, dc=net및 클라이언트가 제공한 비밀번호입니다. 해당 연결이 성공하면 데이터베이스 액세스 권한이 부여됩니다.
다음은 URL로 작성된 LDAPS 체계와 사용자 정의 포트 번호를 사용하는 다른 단순 바인딩 구성입니다.
호스트 ... 토토 캔 토토 캔url="토토 캔s://토토 캔.example.net:49151" 토토 캔prefix="cn=" 토토 캔suffix=", dc=example, dc=net"
이것은 지정하는 것보다 약간 더 간결합니다.토토 캔서버, 토토 캔scheme및토토 캔port별도로.
다음은 검색+바인딩 구성의 예입니다:
호스트 ... 토토 캔 토토 캔server=토토 캔.example.net 토토 캔basedn="dc=example, dc=net" 토토 캔searchattribute=uid
데이터베이스 사용자로 데이터베이스 서버에 접속할 때someuser이 요청되면 PostgreSQL은 익명으로 바인딩을 시도합니다(이후토토 캔binddn지정되지 않음)을 LDAP 서버로 검색하려면 다음을 검색하세요.(uid=someuser)지정된 기본 DN 아래. 항목이 발견되면 발견된 정보와 클라이언트가 제공한 비밀번호를 사용하여 바인딩을 시도합니다. 두 번째 바인딩이 성공하면 데이터베이스 액세스 권한이 부여됩니다.
다음은 URL로 작성된 동일한 검색+바인딩 구성입니다:
호스트 ... 토토 캔 토토 캔url="토토 캔://토토 캔.example.net/dc=example,dc=net?uid?sub"
LDAP에 대한 인증을 지원하는 일부 다른 소프트웨어는 동일한 URL 형식을 사용하므로 구성을 공유하기가 더 쉽습니다.
다음은 다음을 사용하는 검색+바인드 구성의 예입니다.토토 캔searchfilter대신토토 캔search속성사용자 ID 또는 이메일 주소로 인증을 허용하려면:
호스트 ... 토토 캔 토토 캔server=토토 캔.example.net 토토 캔basedn="dc=example, dc=net" 토토 캔searchfilter="(|(uid=$username)(mail=$username))"
다음은 DNS SRV 검색을 사용하여 도메인 이름에 대한 LDAP 서비스의 호스트 이름과 포트를 찾는 검색+바인드 구성의 예입니다.example.net:
호스트 ... 토토 캔 토토 캔basedn="dc=example,dc=net"
토토 캔는 DN의 다른 부분을 구분하기 위해 쉼표와 공백을 사용하는 경우가 많기 때문에 예에 표시된 것처럼 토토 캔 옵션을 구성할 때 큰따옴표로 묶인 매개변수 값을 사용해야 하는 경우가 많습니다.
문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.