GSSAPI은 다음에 정의된 보안 인증을 위한 업계 표준 프로토콜입니다.RFC 2743. 포스트그레SQL지원GSSAPI스포츠 토토 베트맨, 통신 암호화 또는 둘 다를 위해.GSSAPI이를 지원하는 시스템에 자동 인증(Single Sign-On)을 제공합니다. 인증 자체는 안전합니다. 만약에GSSAPI암호화 또는SSL암호화가 사용되면 데이터베이스 연결을 통해 전송된 데이터가 암호화됩니다. 그렇지 않으면 그렇지 않습니다.
GSSAPI 지원은 다음 경우에 활성화되어야 합니다.포스트그레SQL이 건설되었습니다; 보다16장더 많은 정보를 원하시면.
언제GSSAPI사용케르베로스, 표준 서비스 주체(인증 ID) 이름을 다음 형식으로 사용합니다.. 특정 설치에서 사용되는 주체 이름은포스트그레SQL어떤 방식으로든 서버; 오히려 그것은키탭서버가 자신의 신원을 확인하기 위해 읽는 파일입니다. keytab 파일에 여러 주체가 나열되어 있으면 서버는 그 중 하나를 허용합니다. 서버의 영역 이름은 서버에 액세스할 수 있는 Kerberos 구성 파일에 지정된 기본 영역입니다.서비스 이름/호스트 이름@영역
연결할 때 클라이언트는 연결하려는 서버의 주체 이름을 알아야 합니다. 그만큼서비스 이름주체의 일부는 일반적으로포스트그레, 그러나 다음을 통해 다른 값을 선택할 수 있습니다.libpq'skrbsrvname연결 매개변수. 그만큼호스트 이름부분은 정규화된 호스트 이름입니다.libpq연결하라는 메시지가 표시됩니다. 영역 이름은 클라이언트가 액세스할 수 있는 Kerberos 구성 파일에 지정된 기본 영역입니다.
클라이언트는 자신의 신원에 대한 주체 이름도 갖게 됩니다(그리고 이 주체에 대한 유효한 티켓이 있어야 합니다). 사용하려면GSSAPI인증을 위해 클라이언트 주체는 다음과 연결되어야 합니다.포스트그레SQL데이터베이스 사용자 이름. 그만큼pg_ident.conf구성 파일을 사용하여 주체를 사용자 이름에 매핑할 수 있습니다. 예를 들어,pgusername@realm다음에 매핑될 수 있음pgususername. 또는 전체를 사용할 수 있습니다.사용자 이름@렐름principal을 역할 이름으로포스트그레SQL매핑 없음.
포스트그레SQL또한 주체에서 영역을 제거하여 클라이언트 주체를 사용자 이름에 매핑하는 것을 지원합니다. 이 방법은 이전 버전과의 호환성을 위해 지원되며 동일한 사용자 이름을 사용하지만 다른 영역에서 온 여러 사용자를 구별하는 것이 불가능하므로 사용하지 않는 것이 좋습니다. 이를 활성화하려면 다음을 설정하십시오.include_realmto 0. 간단한 단일 영역 설치의 경우 다음 설정과 결합하여 수행합니다.krb_realm매개변수(주체의 영역이 다음에 있는 영역과 정확히 일치하는지 확인합니다.krb_realm매개변수)는 여전히 안전합니다. 그러나 이는 명시적인 매핑을 지정하는 것에 비해 능력이 떨어지는 접근 방식입니다.pg_ident.conf.
서버의 keytab 파일 위치는 다음에 의해 지정됩니다.krb_server_keyfile구성 매개변수. 보안상의 이유로 전용 키탭을 사용하는 것이 좋습니다.PostgreSQL서버가 시스템 키탭 파일을 읽도록 허용하지 않습니다. 다음을 통해 서버 keytab 파일을 읽을 수 있는지 확인하십시오(읽기만 가능하고 쓰기는 불가능함).PostgreSQL서버 계정. (또한 참조PostgreSQL : 문서 : 12 : 18.1. PostgreSQL 토토 사이트 추천 계정.)
keytab 파일은 Kerberos 소프트웨어를 사용하여 생성됩니다. 자세한 내용은 Kerberos 설명서를 참조하세요. 다음 예에서는를 사용하여 이 작업을 수행하는 방법을 보여줍니다.kadminMIT 호환 Kerberos 5 구현 도구:
kadmin%addprinc -randkey postgres/server.my.domain.orgkadmin%ktadd -k krb5.keytab postgres/server.my.domain.org
다음 인증 옵션이 지원됩니다.GSSAPI스포츠 토토 베트맨 방법:
include_realm0으로 설정하면 인증된 사용자 주체의 영역 이름이 사용자 이름 매핑을 통과하기 전에 제거됩니다. (PostgreSQL : 문서 : 12 : 20.2. 배트맨 토토 이름지도). 이는 권장되지 않으며 주로 이전 버전과의 호환성을 위해 사용 가능합니다. 다음을 제외하면 다중 영역 환경에서는 안전하지 않기 때문입니다.krb_realm도 사용됩니다. 떠나는 것이 좋습니다.include_realm기본값(1)으로 설정하고 명시적인 매핑을 제공합니다.pg_ident.conf주요 이름을 다음으로 변환포스트그레SQL사용자 이름.
지도클라이언트 주체에서 데이터베이스 사용자 이름으로의 매핑을 허용합니다. 보다PostgreSQL : 문서 : 12 : 20.2. 배트맨 토토 이름지도14493_14550사용자 이름@EXAMPLE.COM(또는 덜 일반적으로,사용자 이름/hostbased@EXAMPLE.COM), 매핑에 사용되는 사용자 이름은사용자 이름@EXAMPLE.COM(또는사용자 이름/hostbased@EXAMPLE.COM, 각각), 그렇지 않은 경우include_realm이 경우 0으로 설정되었습니다.사용자 이름(또는사용자 이름/호스트 기반)은 매핑 시 시스템 사용자 이름으로 표시되는 것입니다.
krb_realm사용자 주체 이름과 일치할 영역을 설정합니다. 이 매개변수가 설정되면 해당 영역의 사용자만 허용됩니다. 설정되지 않은 경우 모든 영역의 사용자는 사용자 이름 매핑이 수행되는 대로 연결할 수 있습니다.
이러한 설정 외에도 각 항목마다 다를 수 있습니다.pg_hba.conf항목, 서버 전체에 해당 항목이 있습니다krb_caseins_users구성 매개변수. true로 설정되면 클라이언트 주체가 대소문자를 구분하지 않고 사용자 맵 항목과 일치됩니다.krb_realm, 설정된 경우 대소문자를 구분하지 않고 일치합니다.