O procedimento create_verify_function
Você pode criar uma função personalizada para verificar senhas usando o procedimento do Amazon RDS rdsadmin.rdsadmin_password_verify.create_verify_function. O procedimento create_verify_function é compatível com todas as versões do RDS para Oracle.
O procedimento create_verify_function tem os seguintes parâmetros.
| Nome do parâmetro | Tipo de dados | Padrão | Obrigatório | Descrição |
|---|---|---|---|---|
|
|
varchar2 |
— |
Sim |
O nome da sua função personalizada. Essa função é criada por você no esquema SYS. Você atribui essa função a perfis de usuário. |
|
|
número |
8 |
Não |
O número mínimo de caracteres necessários. |
|
|
número |
256 |
Não |
O número máximo de caracteres permitidos. |
|
|
número |
1 |
Não |
O número mínimo de letras necessárias. |
|
|
número |
0 |
Não |
O número mínimo de letras maiúsculas necessárias. |
|
|
número |
0 |
Não |
O número mínimo de letras minúsculas necessárias. |
|
|
número |
1 |
Não |
O número mínimo de dígitos necessários. |
|
|
número |
0 |
Não |
O número mínimo de caracteres especiais necessários. |
|
|
número |
3 |
Não |
O número mínimo de caracteres diferentes exigido entre a senha antiga e nova. |
|
|
booliano |
true |
Não |
Defina como |
|
|
booliano |
true |
Não |
Defina como |
|
|
booliano |
true |
Não |
Defina como |
|
|
booliano |
true |
Não |
Defina como |
|
|
booliano |
false |
Não |
Defina como |
|
|
booliano |
false |
Não |
Defina como |
Você pode criar várias funções de verificação de senha.
Existem restrições quanto ao nome da sua função personalizada. Sua função personalizada não pode ter o mesmo nome que um objeto de sistema existente. O nome pode ter no máximo 30 caracteres. Além disso, o nome deve incluir uma das seguintes strings: PASSWORD, VERIFY, COMPLEXITY, ENFORCE ou STRENGTH.
O exemplo a seguir cria uma função chamada CUSTOM_PASSWORD_FUNCTION. A função requer que uma senha tenha pelo menos 12 caracteres, 2 caracteres em maiúsculas, 1 dígito e 1 caractere especial e que a senha não permita o caractere @.
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 o texto da sua função de verificação, consulte DBA_SOURCE. O exemplo a seguir obtém o texto de uma função de senha personalizada chamada CUSTOM_PASSWORD_FUNCTION.
COL TEXT FORMAT a150 SELECT TEXT FROM DBA_SOURCE WHERE OWNER = 'SYS' AND NAME = 'CUSTOM_PASSWORD_FUNCTION' ORDER BY LINE;
Para associar sua função de verificação a um perfil de usuário, use ALTER
PROFILE. O exemplo a seguir associa uma função de verificação PL/SQL denominada CUSTOM_PASSWORD_FUNCTION ao perfil de usuário DEFAULT. PASSWORD_VERIFY_FUNCTION é o nome do recurso do perfil da Oracle.
ALTER PROFILEDEFAULTLIMIT PASSWORD_VERIFY_FUNCTIONCUSTOM_PASSWORD_FUNCTION;
Para ver quais perfis de usuários estão associados a quais funções de verificação, consulte DBA_PROFILES. O exemplo a seguir obtém os perfis associados à função de verificação personalizada chamada 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
O exemplo a seguir obtém todos os perfis e as funções de verificação de senha às quais eles estão associados.
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