create_verify_function プロシージャ
Amazon RDS プロシージャ rdsadmin.rdsadmin_password_verify.create_verify_function を使用してパスワードを検証するには、カスタム関数を作成できます。create_verify_function プロシージャは、RDS for Oracle のすべてのバージョンでサポートされています。
create_verify_function プロシージャには以下のパラメータがあります。
| パラメータ名 | データ型 | デフォルト | 必須 | 説明 |
|---|---|---|---|---|
|
|
varchar2 |
— |
はい |
カスタム関数の名前。この関数は、SYS スキーマに作成されます。この関数をユーザープロファイルに割り当てます。 |
|
|
number |
8 |
いいえ |
必要な文字の最小数。 |
|
|
number |
256 |
いいえ |
許容された文字の最大数。 |
|
|
number |
1 |
いいえ |
必要な文字の最小数。 |
|
|
number |
0 |
いいえ |
必要な大文字の最小数。 |
|
|
number |
0 |
いいえ |
必要な小文字の最小数。 |
|
|
number |
1 |
いいえ |
必要な数字の最小数。 |
|
|
number |
0 |
いいえ |
必要な特殊文字の最小数。 |
|
|
number |
3 |
いいえ |
古いパスワードと新しいパスワードの間で必要な異なる文字の最小数。 |
|
|
boolean |
true |
いいえ |
パスワードでユーザー名を禁止するには、 |
|
|
boolean |
true |
いいえ |
パスワードで反転したユーザー名を禁止するには、 |
|
|
boolean |
true |
いいえ |
パスワードでデータベースまたはサーバー名を禁止するには、 |
|
|
boolean |
true |
いいえ |
パスワードで単純な文字列を禁止するには、 |
|
|
boolean |
false |
いいえ |
パスワードで空白文字を禁止するには、 |
|
|
boolean |
false |
いいえ |
パスワードで「@」文字の使用を禁止するには、 |
複数のパスワード検証関数を作成できます。
カスタム関数名に制限があります。カスタム関数名を既存のシステムオブジェクト名と同じにすることはできません。30 文字を超える名前は使用できません。また、名前には文字列として PASSWORD、VERIFY、COMPLEXITY、ENFORCE、STRENGTH のいずれかを含める必要があります。
次の例では、CUSTOM_PASSWORD_FUNCTION という名前の関数を作成します。この関数のパスワードは、最低で 2 つの大文字、1 つの数字、1 つの特殊文字を含む、12 文字以上で構成する必要があります。また、「@」文字は使用できません。
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 を使用します。次の例では、CUSTOM_PASSWORD_FUNCTION という名前の検証 PL/SQL 関数を 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