주:

Oracle Cloud Infrastructure의 Oracle Database에서 점진적 비밀번호 롤오버 설정

소개

점진적 암호 롤오버는 현재 이전 암호를 사용 중인 응용 프로그램을 중단하지 않고도 데이터베이스 사용자의 암호를 변경할 수 있는 Oracle Database의 기능입니다. 점진적 암호 롤오버를 사용할 경우 이전 암호는 지정된 기간 동안 유효한 상태로 유지되며, 그 후에 더 이상 허용되지 않습니다. 즉, 유저가 임시로 두 개의 다른 암호를 사용할 수 있습니다. 이렇게 하면 작동 중지 시간 없이 모든 클라이언트 응용 프로그램에 새 암호를 전달할 수 있습니다. 비밀번호 롤오버 기간은 비밀번호가 변경된 순간 시작됩니다.

점진적 암호 롤오버 기능은 사용자 세션에 적용되는 사용자 프로파일 암호 리소스 설정(암호 리소스 제한) PASSWORD_ROLLOVER_TIME으로 표시됩니다. Oracle Database의 사용자 프로파일은 데이터베이스 리소스에 대한 일련의 제한(사용자 레벨 구성)입니다. 유저 프로파일을 사용하면 각 데이터베이스 유저가 사용하는 리소스의 양을 조절할 수 있습니다. 기본 프로파일 DEFAULT를 사용하여 데이터베이스가 생성됩니다. 이 프로파일은 별도로 지정하지 않을 경우 데이터베이스의 모든 사용자에게 지정됩니다. 기본 프로파일을 사용하거나 새 프로파일을 만들어 암호 리소스 제한을 추가할 수 있습니다.

이 자습서에서는 PASSWORD_ROLLOVER_TIME에만 초점을 맞추고, Oracle Autonomous Transaction Processing(ATP) 데이터베이스 서비스에서 이 기능을 사용하기 위한 단계별 가이드를 살펴봅니다. 이 용도로 OCI 콘솔의 Oracle SQL Developer Web 툴이 사용됩니다.

암호 롤오버 기능을 사용하기 전에 알아야 할 다른 사항이 있습니다.

목표

필요 조건

태스크 1: ATP에서 기본 프로파일 확인

ATP에 기본 프로파일과 PASSWORD_ROLLOVER_TIME 리소스 값이 표시됩니다.

Oracle SQL Developer Web 툴을 열고 다음 SQL 질의를 실행하여 DEFAULT 프로파일의 제한을 확인합니다.

select * from dba_profiles where profile = 'DEFAULT';

질의 결과를 보여주는 이미지입니다.

다음 이미지에서는 DEFAULT 프로파일에 많은 리소스가 있고 PASSWORD_ROLLOVER_TIME의 제한(값)이 0이라는 것을 알 수 있습니다. 즉, DEFAULT 프로파일에 대해 점진적 암호 롤오버가 사용 안함으로 설정됩니다. DEFAULT 프로파일의 리소스 제한은 변경할 수 있지만 이 기능을 보여주기 위해 새 프로파일을 생성합니다.

작업 2: 새 사용자 프로파일 생성

FAILED_LOGIN_ATTEMPTS가 10으로 설정되고 PASSWORD_ROLLOVER_TIME가 1시간(1/24일)으로 제한되는 프로파일을 만듭니다.

  1. 다음 SQL query를 실행하여 PW_ROLLOVER_TIME_1HR_PROF라는 프로파일을 생성합니다.

    create profile PW_ROLLOVER_TIME_1HR_PROF limit FAILED_LOGIN_ATTEMPTS 10 PASSWORD_ROLLOVER_TIME 1/24;
    

    질의 결과를 보여주는 이미지입니다.

  2. 다음 SQL 질의를 실행하여 PASSWORD_ROLLOVER_TIME 제한을 확인합니다.

    select * from dba_profiles where profile = 'PW_ROLLOVER_TIME_1HR_PROF';
    

    질의 결과를 보여주는 이미지입니다.

    PASSWORD_ROLLOVER_TIME에 대한 리소스 제한은 0.416(1/24일)이며 실패한 로그인 시도는 10로 설정됩니다.

작업 3: 사용자 계정 생성

사용자 계정을 생성하고 생성된 프로파일 PW_ROLLOVER_TIME_1HR_PROF을 사용자에게 지정합니다.

  1. 다음 SQL query를 실행하여 db_test라는 유저를 생성합니다.

    create user db_test identified by "Pass_Rollover@2023" profile = 'PW_ROLLOVER_TIME_1HR_PROF';
    

    질의 결과를 보여주는 이미지입니다.

    다음 명령을 사용하여 기존 사용자를 프로파일에 연결할 수도 있습니다.

    alter user <user_name> profile <profile_name>;
    
  2. 다음 SQL 질의를 실행하여 CREATE SESSION 권한을 부여하고 데이터베이스 접속을 테스트합니다.

    GRANT CREATE SESSION TO DB_TEST;
    

    질의 결과를 보여주는 이미지입니다.

  3. 다음 SQL 질의를 사용하여 계정 상태를 확인합니다.

    select user_name, profile, account_status from dba_users where user_name = 'DB_TEST';
    

    질의 결과를 보여주는 이미지입니다.

작업 4: 사용자 암호 변경

사용자 암호를 변경하고 계정 상태를 확인합니다.

  1. 다음 SQL query를 실행하여 유저 암호를 변경합니다.

    alter user DB_TEST identified by "New_Pass@2023";
    
  2. 계정 상태를 확인합니다.

    질의 결과를 보여주는 이미지입니다.

    계정 상태가 이제 IN ROLLOVER로 표시됩니다. 즉, DB_TEST 사용자 계정이 현재 롤오버 상태이며 이전 비밀번호와 새 비밀번호를 모두 사용하여 1시간 동안 사용자에 연결할 수 있습니다. 1시간이 지나면 이전 비밀번호는 더 이상 수락되지 않으며 새 비밀번호로만 접속을 설정할 수 있습니다.

태스크 5: 롤오버 기간 강제 만료

비밀번호 롤오버 기능을 사용하면 이전 비밀번호가 남은 롤오버 기간 동안 유효하게 되지 않도록 할 때 롤오버를 강제로 만료할 수 있습니다.

  1. 다음 SQL 질의를 실행하여 사용자에 대한 비밀번호 롤오버를 만료합니다.

    alter user DB_TEST expire password rollover period;
    

    질의 결과를 보여주는 이미지입니다.

  2. 계정 상태를 확인합니다.

    질의 결과를 보여주는 이미지입니다.

    계정 상태가 OPEN로 변경되었으며 더 이상 이전 비밀번호를 사용하여 데이터베이스에 연결할 수 없습니다. 따라서 사용자가 롤오버 상태인 경우(예: 새 비밀번호와 이전 비밀번호가 모두 작동함) 롤오버 기간이 만료된 후 DBA_USERS 테이블의 계정 상태는 OPEN & IN ROLLOVER이고 계정 상태는 OPEN로 변경됩니다.

확인

추가 학습 자원

docs.oracle.com/learn에서 다른 실습을 살펴보거나 Oracle Learning YouTube 채널에서 더 많은 무료 학습 콘텐츠에 액세스하십시오. 또한 education.oracle.com/learning-explorer를 방문하여 Oracle Learning Explorer가 되십시오.

제품 설명서는 Oracle Help Center를 참조하십시오.