내 질문

내 질문

내 질문

postgres사용자가 인터넷이 아닌 TCP 로컬 호스트에서만 로그인할 수 있도록 사용자(예: )에 대한 권한을 설정할 수 있습니까 ?

신뢰할 수 있는 소켓과 원격 암호

로컬 사용자가 비밀번호 없이 로그인하고 원격 호스트가 비밀번호로 로그인할 수 있도록 postgres를 초기화할 수 있다는 것을 알게 되었습니다.

initdb \
            -D "$POSTGRES_DATA_DIR/" \
            --username postgres --pwfile "$PWFILE" \
            --auth-local=trust --auth-host=password

인트라넷과 인터넷

인터넷을 통해 연결되는 모든 시스템에 대해 매우 강력한(기억할 수 없는) 임의의 128비트 문자열을 가진 사용자를 사용하고 싶습니다.

그러나 로컬 및 인트라넷 액세스의 경우 기억하고 입력할 수 있는 사용자 이름과 비밀번호를 갖고 싶습니다.

이렇게 할 수 있나요... 아니면 연결이 허용된 시스템당 한 명의 사용자만 설정해야 합니까 .pgpass?
(컴퓨터 간에 일반 텍스트 파일의 키를 공유하고 싶지 않습니다.)

답변1

PostgreSQL 버전에 대한 정보를 제공하지 않았습니다. PostgreSQL 12를 사용하고 있다고 가정합니다.

사용자가 인터넷이 아닌 TCP 로컬 호스트에서만 로그인할 수 있도록 사용자(예: postgres)에 대한 권한을 설정할 수 있습니까?

네, 사용하세요pg_hba.conf. 다음을 통해 이것을 먼저 로드할 수도 있습니다.hba_file런타임 구성.

그러나 로컬 및 인트라넷 액세스의 경우 기억하고 입력할 수 있는 사용자 이름과 비밀번호를 갖고 싶습니다.

비밀번호로 보호되는 로컬 전용 사용자를 추가하려면 다음을 추가하세요.

local <database_name> <local-only_user_name> scram-sha-256 

당신의 pg_hba.conf.

다음을 통해 먼저 사용자를 생성하고 싶을 것입니다 CREATE ROLE.

CREATE ROLE username LOGIN ENCRYPTED PASSWORD 'insert-your-password-here';

인트라넷 및 인터넷 기반 인증을 구성하기 위해 추가할 항목을 확인 host하고 기록 할 수도 있습니다 .hostsslpg_hba.conf

자세한 내용은 링크된 문서를 확인하세요.

관련 정보