Referensi hook untuk Trusted Language Extensions for PostgreSQL - Amazon Aurora

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 username ...PASSWORD – Untuk informasi selengkapnya, lihat CREATE ROLE dalam dokumentasi PostgreSQL.

  • ALTER ROLE username...PASSWORD – Untuk informasi selengkapnya, lihat ALTER ROLE dalam dokumentasi PostgreSQL.

  • \password username – Metacommand psql interaktif ini secara aman mengubah kata sandi untuk pengguna yang ditentukan dengan hashing kata sandi sebelum menggunakan sintaks ALTER ROLE ... PASSWORD secara transparan. Metacommand adalah pembungkus aman untuk perintah ALTER ROLE ... PASSWORD, sehingga hook diterapkan untuk perilaku metacommand psql.

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 dalam password_type.

  • password_type – Menentukan format pgtle.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 nilai timestamptz.

  • valid_null – Jika Boolean ini diatur ke true, opsi valid_until diatur ke NULL.

Konfigurasi

Fungsi pgtle.enable_password_check mengontrol apakah hook passcheck aktif. Hook passcheck memiliki tiga pengaturan yang memungkinkan.

  • off – Menonaktifkan hook pemeriksaan kata sandi passcheck. Ini adalah nilai default.

  • on – Mengaktifkan hook pemeriksaan kata sandi passcode 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-name your-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-name your-custom-parameter-group ^ --parameters "ParameterName=pgtle.enable_password_check,ParameterValue=on,ApplyMethod=immediate"