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 |
|---|---|---|---|---|
|
|
varchar2 |
— |
Sí |
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. |
|
|
número |
8 |
No |
El número mínimo necesario de caracteres. |
|
|
número |
256 |
No |
El número máximo de caracteres permitido. |
|
|
número |
1 |
No |
El número mínimo necesario de letras. |
|
|
número |
0 |
No |
El número mínimo necesario de letras mayúsculas. |
|
|
número |
0 |
No |
El número mínimo necesario de letras minúsculas. |
|
|
número |
1 |
No |
El número mínimo necesario de dígitos. |
|
|
número |
0 |
No |
El número mínimo necesario de caracteres especiales. |
|
|
número |
3 |
No |
El número mínimo de caracteres diferentes necesarios entre la contraseña antigua y la nueva. |
|
|
booleano |
true |
No |
Establezca esta opción en |
|
|
booleano |
true |
No |
Establézcalo en |
|
|
booleano |
true |
No |
Establézcalo en |
|
|
booleano |
true |
No |
Establézcalo en |
|
|
booleano |
false |
No |
Establézcalo en |
|
|
booleano |
false |
No |
Establézcalo en |
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 PROFILEDEFAULTLIMIT PASSWORD_VERIFY_FUNCTIONCUSTOM_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