More

oracle ORA-28003 지정된 비밀번호에 대한 비밀번호 검증이 실패했습니다 오류 (ORA12C_STIG_VERIFY_FUNCTION 비밀번호 규칙)

ORA-28003 오류


오라클에서 사용자 생성 중 발생한 오류 메시지.

ORA-28003 : 지정된 비밀번호에 대한 비밀번호 검증이 실패했습니다


사용자 생성 중 비밀번호를 만들 때 최소 문자 수, 숫자, 특수 등 오라클에 지정 된 복잡성 규칙을 충족하지 못해서 발생합니다. 


ORA-28003 해결 방법

DBA 프로필에서 지정 된 비밀번호 규칙을 확인합니다. PASSWORD_VERIFY_FUNCTION 에서 확인할 수 있습니다. 저 같은 경우 ORA12C_STIG_VERIFY_FUNCTION (STIG 보안 기술 구현 가이드) 설정 되어 있습니다.

select * 

from SYS.DBA_PROFILES 

where RESOURCE_TYPE like '%PASS%' 

order by profile;

ORA12C_STIG_VERIFY_FUNCTION
ORA12C_STIG_VERIFY_FUNCTION 지정 된 모습

ORA12C_STIG_VERIFY_FUNCTION 비밀번호 규칙

ORA12C_STIG_VERIFY_FUNCTION 은 비밀번호를 이렇게 지정해야 합니다.

  • 비밀번호 15자 이상.
  • 비밀번호에는 소문자가 1개 이상, 대문자가 1개 이상, 특수 문자 1개 이상 포함 포함.
  • 비밀번호는 1자리 이상.
  • 비밀번호는 이전 비밀번호와 8자 이상 다르게 설정.
  • 비밀번호 30자 초과 불가.
  • 비밀번호 큰따옴표 (") 포함 불가.

비밀번호 규칙 지정을 직접 보고 싶다면 아래 쿼리를 실행해 볼 수 있습니다.
select *
from dba_source
where owner = 'SYS'
    and name in
    (
        select limit
        from dba_profiles
        where resource_name = 'PASSWORD_VERIFY_FUNCTION'
            --Yes, this is intentionally the string 'NULL', that's what Oracle uses here.
            and limit <> 'NULL'
    )
order by name, line;​
ORA12C_STIG_VERIFY_FUNCTION 패스워드 규칙
지정 된 규칙을 볼 수 있습니다