PostgreSQL용 신뢰할 수 있는 언어 확장에 대한 후크 참조 - Amazon Aurora

PostgreSQL용 신뢰할 수 있는 언어 확장에 대한 후크 참조

PostgreSQL용 신뢰할 수 있는 언어 확장은 PostgreSQL 후크를 지원합니다. 후크는 PostgreSQL의 핵심 기능을 확장하기 위해 개발자가 사용할 수 있는 내부 콜백 메커니즘입니다. 개발자는 후크를 사용하여 다양한 데이터베이스 작업 중에 사용할 자체 함수 또는 프로시저를 구현하여 PostgreSQL의 동작을 일정 방식으로 수정할 수 있습니다. 예를 들어 passcheck 후크를 사용하면 사용자(역할)의 암호를 생성하거나 변경할 때 제공된 암호를 PostgreSQL이 처리하는 방법을 사용자 지정할 수 있습니다.

TLE 확장에 사용할 수 있는 암호 확인 후크에 대해 알아보려면 다음 설명서를 참조하세요.

암호-확인 후크(passcheck)

passcheck 후크는 다음 SQL 명령 및 psql 메타 명령에 대한 암호 확인 프로세스 도중 PostgreSQL 동작을 사용자 지정하는 데 사용됩니다.

  • CREATE ROLE username ...PASSWORD - 자세한 내용은 PostgreSQL 설명서의 CREATE ROLE을 참조하세요.

  • ALTER ROLE username...PASSWORD - 자세한 내용은 PostgreSQL 설명서의 ALTER ROLE을 참조하세요.

  • \password username - 이 대화형 psql 메타 명령은 ALTER ROLE ... PASSWORD 구문을 투명하게 사용하기 전에 암호를 해시하여 지정된 사용자의 암호를 안전하게 변경합니다. 메타 명령은 ALTER ROLE ... PASSWORD 명령의 보안 래퍼이므로 후크는 psql 메타 명령의 동작에 적용됩니다.

예시는 암호 확인 후크 코드 목록을 확인하세요.

함수 프로토타입

passcheck_hook(username text, password text, password_type pgtle.password_types, valid_until timestamptz, valid_null boolean)

인수

passcheck 후크 함수는 다음 인수를 사용합니다.

  • username - 암호를 설정하는 역할(사용자 이름)의 이름(텍스트)입니다.

  • password - 일반 텍스트 또는 해시된 암호입니다. 입력한 암호는 password_type에서 지정한 유형과 일치해야 합니다.

  • password_type - 암호의 pgtle.password_type 형식을 지정합니다. 이 형식은 다음 옵션 중 하나일 수 있습니다.

    • PASSWORD_TYPE_PLAINTEXT - 일반 텍스트 암호입니다.

    • PASSWORD_TYPE_MD5 - MD5(message digest 5) 알고리즘을 사용하여 해시된 암호입니다.

    • PASSWORD_TYPE_SCRAM_SHA_256 - SCRAM-SHA-256 알고리즘을 사용하여 해시된 암호입니다.

  • valid_until - 암호가 무효가 되는 시간을 지정합니다. 이 인수는 선택 사항입니다. 이 인수를 사용하는 경우 시간을 timestamptz 값으로 지정하세요.

  • valid_null - 이 부울이 true로 설정된 경우 valid_until 옵션은 NULL로 설정됩니다.

구성

함수 pgtle.enable_password_check는 암호 확인 후크가 활성 상태인지 여부를 제어합니다. 암호 확인 후크에서 세 가지 설정이 가능합니다.

  • off - passcheck 암호 확인 후크를 해제합니다. 이것이 기본값입니다.

  • on - 테이블과 비교해 암호를 검사할 수 있도록 passcode 암호 확인 후크를 켭니다.

  • require - 암호 확인 후크를 정의해야 합니다.

사용 노트

passcheck 후크를 켜거나 해제하려면 Aurora PostgreSQL DB 클러스터의 라이터 인스턴스에 대한 사용자 지정 DB 파라미터 그룹을 수정해야 합니다.

대상 LinuxmacOS, 또는Unix:

aws rds modify-db-parameter-group \ --region aws-region \ --db-parameter-group-name your-custom-parameter-group \ --parameters "ParameterName=pgtle.enable_password_check,ParameterValue=on,ApplyMethod=immediate"

Windows의 경우:

aws rds modify-db-parameter-group ^ --region aws-region ^ --db-parameter-group-name your-custom-parameter-group ^ --parameters "ParameterName=pgtle.enable_password_check,ParameterValue=on,ApplyMethod=immediate"