Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Referensi hook untuk Trusted Language Extensions for PostgreSQL
Trusted Language Extensions for PostgreSQL mendukung hook PostgreSQL. Hook adalah mekanisme panggilan balik internal yang tersedia bagi developer untuk memperluas fungsionalitas inti PostgreSQL. Dengan hook, developer dapat mengimplementasikan fungsi atau prosedurnya sendiri untuk digunakan dalam berbagai operasi basis data, sehingga mengubah perilaku PostgreSQL dalam beberapa cara. Misalnya, Anda dapat menggunakan hook passcheck
untuk menyesuaikan cara PostgreSQL menangani kata sandi yang diberikan saat membuat atau mengubah kata sandi untuk pengguna (peran).
Lihat dokumentasi berikut untuk mempelajari kait passcheck yang tersedia untuk ekstensi TLE Anda. Untuk mempelajari lebih lanjut tentang kait yang tersedia termasuk hook autentikasi klien, lihat kait Ekstensi Bahasa Tepercaya
Hook pemeriksaan kata sandi (passcheck)
Hook passcheck
digunakan untuk menyesuaikan perilaku PostgreSQL selama proses pemeriksaan kata sandi untuk perintah SQL dan metacommand psql
berikut.
-
CREATE ROLE
– Untuk informasi selengkapnya, lihat CREATE ROLEusername
...PASSWORDdalam dokumentasi PostgreSQL. -
ALTER ROLE
– Untuk informasi selengkapnya, lihat ALTER ROLEusername
...PASSWORDdalam dokumentasi PostgreSQL. -
\password
– Metacommandusername
psql
interaktif ini secara aman mengubah kata sandi untuk pengguna yang ditentukan dengan hashing kata sandi sebelum menggunakan sintaksALTER ROLE ... PASSWORD
secara transparan. Metacommand adalah pembungkus aman untuk perintahALTER ROLE ... PASSWORD
, sehingga hook diterapkan untuk perilaku metacommandpsql
.
Untuk contohnya, lihat Daftar kode hook pemeriksaan kata sandi.
Prototipe fungsi
passcheck_hook(username text, password text, password_type pgtle.password_types, valid_until timestamptz, valid_null boolean)
Argumen
Fungsi hook passcheck
memiliki argumen berikut.
-
username
– Nama (sebagai teks) dari peran (nama pengguna) yang mengatur kata sandi. -
password
– Kata sandi yang di-hash atau teks biasa. Kata sandi yang dimasukkan harus sesuai dengan jenis yang ditentukan dalampassword_type
. -
password_type
– Menentukan formatpgtle.password_type
kata sandi. Format ini dapat berupa salah satu opsi berikut.-
PASSWORD_TYPE_PLAINTEXT
– Kata sandi teks biasa. -
PASSWORD_TYPE_MD5
— Kata sandi yang telah di-hash menggunakan algoritma MD5 (message digest 5). -
PASSWORD_TYPE_SCRAM_SHA_256
– Kata sandi yang telah di-hash menggunakan algoritma SCRAM-SHA-256.
-
-
valid_until
– Menentukan waktu ketika kata sandi menjadi tidak valid. Argumen ini opsional. Jika Anda menggunakan argumen ini, tentukan waktu sebagai nilaitimestamptz
. -
valid_null
– Jika Boolean ini diatur ketrue
, opsivalid_until
diatur keNULL
.
Konfigurasi
Fungsi pgtle.enable_password_check
mengontrol apakah hook passcheck aktif. Hook passcheck memiliki tiga pengaturan yang memungkinkan.
-
off
– Menonaktifkan hook pemeriksaan kata sandipasscheck
. Ini adalah nilai default. -
on
– Mengaktifkan hook pemeriksaan kata sandipasscode
sehingga kata sandi diperiksa di tabel. -
require
– Memerlukan hook pemeriksaan kata sandi untuk didefinisikan.
Catatan penggunaan
Untuk mengaktifkan atau menonaktifkan hook passcheck
, Anda perlu memodifikasi grup parameter DB kustom untuk instans penulis klaster DB Aurora PostgreSQL Anda.
Untuk Linux, macOS, atau Unix:
aws rds modify-db-parameter-group \ --region
aws-region
\ --db-parameter-group-nameyour-custom-parameter-group
\ --parameters "ParameterName=pgtle.enable_password_check,ParameterValue=on,ApplyMethod=immediate"
Untuk Windows:
aws rds modify-db-parameter-group ^ --region
aws-region
^ --db-parameter-group-nameyour-custom-parameter-group
^ --parameters "ParameterName=pgtle.enable_password_check,ParameterValue=on,ApplyMethod=immediate"