本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Postgre 的可信任語言擴充功能的掛接參考 SQL
Postgre 的受信任語言擴充功能SQL支援 Postgre 掛SQL接。鉤子是開發人員可用於擴展 Postgre 核心功能SQL的內部回調機制。通過使用鉤子,開發人員可以實現自己的功能或過程,以便在各種數據庫操作中使用,從而以某種方式修改 Postgre SQL 的行為。例如,您可以使用passcheck
掛接來自訂 Postgre 在為使用者 (角色) 建立或變更密碼時如何SQL處理所提供的密碼。
請檢視下列文件,以瞭解可用於您的TLE擴充功能的密碼檢查勾點。
密碼檢查掛鉤 (passcheck)
passcheck
鉤子用於在以下SQL命令和元數據和密碼檢查過程中自定義 Postgre SQL 行為。psql
CREATE ROLE
— 如需詳細資訊,請參閱 Postgre SQL 文件CREATEROLEusername
...PASSWORD中的。 ALTER ROLE
— 如需詳細資訊,請參閱 Postgre SQL 文件ALTERROLEusername
...PASSWORD中的。 \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 (訊息摘要 5) 演算法進行雜湊處理的密碼。PASSWORD_TYPE_SCRAM_SHA_256
— 使用 SCRAM-SHA -256 演算法進行雜湊處理的密碼。
valid_until
– 指定密碼變成無效的時間。此為選用引數。如果使用此引數,請將時間指定為timestamptz
值。valid_null
– 如果將此布林值設為true
,則valid_until
選項會設為NULL
。
組態
此函數 pgtle.enable_password_check
可控制 passcheck 掛鉤是否作用中。passcheck 掛鉤有三種可能的設定。
off
– 關閉passcheck
密碼檢查掛鉤。這是預設值。on
– 開啟passcode
密碼檢查掛鉤,以便針對資料表檢查密碼。require
– 需要定義密碼檢查掛鉤。
使用須知
若要開啟或關閉passcheck
掛接,您需要修改 Aurora Postgre 資料庫叢集之寫入器執行個體的自訂SQL資料庫參數群組。
用於 Linux, macOS,或 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"
用於 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"