create_verify_function プロシージャ - Amazon Relational Database Service

create_verify_function プロシージャ

Amazon RDS プロシージャ rdsadmin.rdsadmin_password_verify.create_verify_function を使用してパスワードを検証するには、カスタム関数を作成できます。create_verify_function プロシージャは、RDS for Oracle のすべてのバージョンでサポートされています。

create_verify_function プロシージャには以下のパラメータがあります。

パラメータ名 データ型 デフォルト 必須 説明

p_verify_function_name

varchar2

はい

カスタム関数の名前。この関数は、SYS スキーマに作成されます。この関数をユーザープロファイルに割り当てます。

p_min_length

number

8

いいえ

必要な文字の最小数。

p_max_length

number

256

いいえ

許容された文字の最大数。

p_min_letters

number

1

いいえ

必要な文字の最小数。

p_min_uppercase

number

0

いいえ

必要な大文字の最小数。

p_min_lowercase

number

0

いいえ

必要な小文字の最小数。

p_min_digits

number

1

いいえ

必要な数字の最小数。

p_min_special

number

0

いいえ

必要な特殊文字の最小数。

p_min_different_chars

number

3

いいえ

古いパスワードと新しいパスワードの間で必要な異なる文字の最小数。

p_disallow_username

boolean

true

いいえ

パスワードでユーザー名を禁止するには、true に設定します。

p_disallow_reverse

boolean

true

いいえ

パスワードで反転したユーザー名を禁止するには、true に設定します。

p_disallow_db_name

boolean

true

いいえ

パスワードでデータベースまたはサーバー名を禁止するには、true に設定します。

p_disallow_simple_strings

boolean

true

いいえ

パスワードで単純な文字列を禁止するには、true に設定します。

p_disallow_whitespace

boolean

false

いいえ

パスワードで空白文字を禁止するには、true に設定します。

p_disallow_at_sign

boolean

false

いいえ

パスワードで「@」文字の使用を禁止するには、true に設定します。

複数のパスワード検証関数を作成できます。

カスタム関数名に制限があります。カスタム関数名を既存のシステムオブジェクト名と同じにすることはできません。30 文字を超える名前は使用できません。また、名前には文字列として PASSWORDVERIFYCOMPLEXITYENFORCESTRENGTH のいずれかを含める必要があります。

次の例では、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 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