El procedimiento create_verify_function - Amazon Relational Database Service

El procedimiento create_verify_function

Puede crear una función personalizada para comprobar las contraseñas mediante el procedimiento de Amazon RDS rdsadmin.rdsadmin_password_verify.create_verify_function. El procedimiento create_verify_function admite todas las versiones de RDS para Oracle.

El procedimiento create_verify_function tiene los siguientes parámetros.

Nombre del parámetro Tipo de datos Valor predeterminado Obligatorio Descripción

p_verify_function_name

varchar2

El nombre de la función personalizada. Esta función se crea automáticamente en el esquema SYS. Esta función se asigna a los perfiles de usuario.

p_min_length

número

8

No

El número mínimo necesario de caracteres.

p_max_length

número

256

No

El número máximo de caracteres permitido.

p_min_letters

número

1

No

El número mínimo necesario de letras.

p_min_uppercase

número

0

No

El número mínimo necesario de letras mayúsculas.

p_min_lowercase

número

0

No

El número mínimo necesario de letras minúsculas.

p_min_digits

número

1

No

El número mínimo necesario de dígitos.

p_min_special

número

0

No

El número mínimo necesario de caracteres especiales.

p_min_different_chars

número

3

No

El número mínimo de caracteres diferentes necesarios entre la contraseña antigua y la nueva.

p_disallow_username

booleano

true

No

Establezca esta opción en true para no permitir el nombre de usuario en la contraseña.

p_disallow_reverse

booleano

true

No

Establézcalo en true para impedir que se use el nombre de usuario a la inversa en la contraseña.

p_disallow_db_name

booleano

true

No

Establézcalo en true para impedir que se use el nombre de la base de datos o del servidor en la contraseña.

p_disallow_simple_strings

booleano

true

No

Establézcalo en true para impedir que se usen cadenas sencillas en la contraseña.

p_disallow_whitespace

booleano

false

No

Establézcalo en true para impedir que se usen caracteres de espacio en blanco en la contraseña.

p_disallow_at_sign

booleano

false

No

Establézcalo en true para impedir que se use el carácter @ en la contraseña.

Puede crear distintas funciones de verificación de contraseñas.

El nombre de la función personalizada está sujeto a ciertas restricciones. Su función personalizada no puede tener el mismo nombre que un objeto de sistema existente. El nombre no puede tener más de 30 caracteres de longitud. Asimismo, el nombre debe incluir una de las siguientes cadenas: PASSWORD, VERIFY, COMPLEXITY, ENFORCE o STRENGTH.

El siguiente ejemplo crea una función con el nombre CUSTOM_PASSWORD_FUNCTION. La función requiere que una contraseña tenga al menos 12 caracteres, 2 caracteres en mayúsculas, 1 dígito y 1 carácter especial, y que la contraseña no incluya el carácter @.

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; /

Para ver el texto de la función de verificación, realice una consulta de DBA_SOURCE. En el siguiente ejemplo se obtiene el texto de una función de contraseña personalizada llamada CUSTOM_PASSWORD_FUNCTION.

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

Para asociar la función de verificación a un perfil de usuario, utilice ALTER PROFILE. En el siguiente ejemplo se asocia una función de verificación PL/SQL llamada CUSTOM_PASSWORD_FUNCTION al perfil de usuario DEFAULT. PASSWORD_VERIFY_FUNCTION es el nombre del recurso del perfil de Oracle.

ALTER PROFILE DEFAULT LIMIT PASSWORD_VERIFY_FUNCTION CUSTOM_PASSWORD_FUNCTION;

Para ver qué perfiles de usuario están asociados a qué función de verificación, consulte DBA_PROFILES. En el siguiente ejemplo se obtienen los perfiles asociados a la función de verificación personalizada llamada 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

En el siguiente ejemplo se obtienen todos los perfiles y las funciones de verificación de contraseñas a las que están asociados.

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