create_verify_function 程序 - Amazon Relational Database Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

create_verify_function 程序

您可以建立自訂函數以使用 Amazon RDS 程序 rdsadmin.rdsadmin_password_verify.create_verify_function 來驗證密碼。所有版本的 RDS for Oracle 都支援 create_verify_function 程序。

create_verify_function 程序具有下列參數。

參數名稱 資料類型 預設 必要 描述

p_verify_function_name

varchar2

自訂函數的名稱。系統會在 SYS 結構描述中為您建立此函數。您可以將此函數指派給使用者描述檔。

p_min_length

數字

8

需要的字元數下限。

p_max_length

數字

256

允許的字元數上限。

p_min_letters

數字

1

需要的字母數下限。

p_min_uppercase

數字

0

需要的大寫字母數下限。

p_min_lowercase

數字

0

需要的小寫字母數下限。

p_min_digits

數字

1

需要的數字下限。

p_min_special

數字

0

需要的特殊字元數下限。

p_min_different_chars

數字

3

新舊密碼間需要的不同字元數下限。

p_disallow_username

布林值

true

設定為 true 可禁止在密碼中使用使用者名稱。

p_disallow_reverse

布林值

true

設定為 true 可禁止在密碼中使用倒寫的使用者名稱。

p_disallow_db_name

布林值

true

設定為 true 可禁止在密碼中使用資料庫或伺服器名稱。

p_disallow_simple_strings

布林值

true

設定為 true 可禁止使用簡易字串做為密碼。

p_disallow_whitespace

布林值

false

設定為 true 可禁止在密碼中使用空白字元。

p_disallow_at_sign

布林值

false

設定為 true 可禁止在密碼中使用 @ 字元。

您可以建立多個密碼驗證函數。

自訂函數的名稱有一些限制。您的自訂函數名稱不能與現有系統物件相同,且該名稱長度不得超過 30 個字元。此外,名稱需包括下列其中一個字串:PASSWORDVERIFYCOMPLEXITYENFORCESTRENGTH

下列範例會建立名為 CUSTOM_PASSWORD_FUNCTION 的函數。該函數要求密碼至少有 12 個字元、2 個大寫字元、1 個數字和 1 個特殊字元,並且密碼禁止使用 @ 字元。

begin rdsadmin.rdsadmin_password_verify.create_verify_function( p_verify_function_name => 'CUSTOM_PASSWORD_FUNCTION', p_min_length => 12, p_min_uppercase => 2, p_min_digits => 1, p_min_special => 1, p_disallow_at_sign => true); end; /

若要查看您驗證函數的文字,請查詢 DBA_SOURCE。下列範例會取得名為 CUSTOM_PASSWORD_FUNCTION 的自訂密碼函數的文字。

COL TEXT FORMAT a150 SELECT TEXT FROM DBA_SOURCE WHERE OWNER = 'SYS' AND NAME = 'CUSTOM_PASSWORD_FUNCTION' ORDER BY LINE;

若要將您的驗證函數與使用者描述檔建立關聯,請使用 ALTER PROFILE。下列範例會將名為 的驗證 PL/SQL 函數CUSTOM_PASSWORD_FUNCTIONDEFAULT使用者設定檔建立關聯。 PASSWORD_VERIFY_FUNCTION是 Oracle 設定檔資源名稱。

ALTER PROFILE DEFAULT LIMIT PASSWORD_VERIFY_FUNCTION CUSTOM_PASSWORD_FUNCTION;

若要查看哪些使用者設定檔與哪些驗證函數相關聯,請查詢 DBA_PROFILES。下列範例會取得已與名為 CUSTOM_PASSWORD_FUNCTION 的自訂驗證函數關聯的設定檔。

SELECT * FROM DBA_PROFILES WHERE RESOURCE_NAME = 'PASSWORD_VERIFY_FUNCTION' AND LIMIT = 'CUSTOM_PASSWORD_FUNCTION'; PROFILE RESOURCE_NAME RESOURCE LIMIT ------------------------- -------------------------------- -------- ------------------------ DEFAULT PASSWORD_VERIFY_FUNCTION PASSWORD CUSTOM_PASSWORD_FUNCTION

下列範例會取得所有設定檔和其關聯的密碼驗證函數。

SELECT * FROM DBA_PROFILES WHERE RESOURCE_NAME = 'PASSWORD_VERIFY_FUNCTION'; PROFILE RESOURCE_NAME RESOURCE LIMIT ------------------------- -------------------------------- -------- ------------------------ DEFAULT PASSWORD_VERIFY_FUNCTION PASSWORD CUSTOM_PASSWORD_FUNCTION RDSADMIN PASSWORD_VERIFY_FUNCTION PASSWORD NULL