本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
create_verify_function 程序
您可以建立自訂函數以使用 Amazon RDS 程序 rdsadmin.rdsadmin_password_verify.create_verify_function 來驗證密碼。所有版本的 RDS for Oracle 都支援 create_verify_function 程序。
create_verify_function 程序具有下列參數。
| 參數名稱 | 資料類型 | 預設 | 必要 | 描述 |
|---|---|---|---|---|
|
|
varchar2 |
— |
是 |
自訂函數的名稱。系統會在 SYS 結構描述中為您建立此函數。您可以將此函數指派給使用者描述檔。 |
|
|
數字 |
8 |
否 |
需要的字元數下限。 |
|
|
數字 |
256 |
否 |
允許的字元數上限。 |
|
|
數字 |
1 |
否 |
需要的字母數下限。 |
|
|
數字 |
0 |
否 |
需要的大寫字母數下限。 |
|
|
數字 |
0 |
否 |
需要的小寫字母數下限。 |
|
|
數字 |
1 |
否 |
需要的數字下限。 |
|
|
數字 |
0 |
否 |
需要的特殊字元數下限。 |
|
|
數字 |
3 |
否 |
新舊密碼間需要的不同字元數下限。 |
|
|
布林值 |
true |
否 |
設定為 |
|
|
布林值 |
true |
否 |
設定為 |
|
|
布林值 |
true |
否 |
設定為 |
|
|
布林值 |
true |
否 |
設定為 |
|
|
布林值 |
false |
否 |
設定為 |
|
|
布林值 |
false |
否 |
設定為 |
您可以建立多個密碼驗證函數。
自訂函數的名稱有一些限制。您的自訂函數名稱不能與現有系統物件相同,且該名稱長度不得超過 30 個字元。此外,名稱需包括下列其中一個字串:PASSWORD、VERIFY、COMPLEXITY、ENFORCE 或 STRENGTH。
下列範例會建立名為 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_FUNCTION與DEFAULT使用者設定檔建立關聯。 PASSWORD_VERIFY_FUNCTION是 Oracle 設定檔資源名稱。
ALTER PROFILEDEFAULTLIMIT PASSWORD_VERIFY_FUNCTIONCUSTOM_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