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 seguinte exemplo associa uma função de verificação ao perfil de usuário DEFAULT
.
ALTER PROFILE
DEFAULT
LIMIT 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' 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