Nota

Imposta il riporto graduale delle password in Oracle Database su Oracle Cloud Infrastructure

Introduzione

Il rollover graduale delle password è una funzione di Oracle Database che consente di modificare la password di un utente del database senza interrompere le applicazioni che attualmente utilizzano la vecchia password. Con il rollover graduale della password, la vecchia password rimane valida per un periodo di tempo specificato, dopo il quale non viene più accettata, ovvero due password diverse sono consentite temporaneamente per un utente. Ciò consente la propagazione della nuova password a tutte le applicazioni client senza tempi di inattività. Il periodo di rollover della password inizia al momento della modifica della password.

La funzione di rollover della password graduale viene esposta come impostazione della risorsa password del profilo utente (limite di risorse password) PASSWORD_ROLLOVER_TIME, applicata alle sessioni utente. I profili utente in Oracle Database sono un set di limiti per le risorse del database - configurazione a livello utente. Il profilo utente consente di regolare la quantità di risorse utilizzate da ciascun utente del database. Viene creato un database con un profilo predefinito denominato DEFAULT, assegnato a tutti gli utenti del database se non specificato diversamente. È possibile utilizzare un profilo predefinito o creare un nuovo profilo per aggiungere limiti di risorse per le password.

In questa esercitazione, ci concentreremo solo su PASSWORD_ROLLOVER_TIME e seguire una guida dettagliata per l'utilizzo di questa funzione in un servizio di database Oracle Autonomous Transaction Processing (ATP). A questo scopo, utilizzeremo lo strumento Oracle SQL Developer Web di OCI Console.

Ci sono altre cose che si dovrebbe sapere prima di utilizzare la funzione di rollover della password.

Obiettivi

Prerequisiti

Task 1: Controllo del profilo predefinito in ATP

Verrà visualizzato il profilo predefinito e il valore della risorsa PASSWORD_ROLLOVER_TIME in una ATP.

Aprire lo strumento Oracle SQL Developer Web ed eseguire la query SQL seguente per controllare i limiti del profilo DEFAULT.

select * from dba_profiles where profile = 'DEFAULT';

Immagine che mostra il risultato della query.

Nell'immagine seguente viene visualizzato che il profilo DEFAULT contiene molte risorse e il limite (valore) di PASSWORD_ROLLOVER_TIME è 0. Ciò significa che il rollover graduale della password è disabilitato per il profilo DEFAULT. È possibile modificare il limite di risorse nel profilo DEFAULT, ma verrà creato un nuovo profilo per dimostrare questa funzione.

Task 2: Creare un nuovo profilo utente

Creare un profilo con il limite FAILED_LOGIN_ATTEMPTS impostato su 10 e PASSWORD_ROLLOVER_TIME impostato su 1 ora (1/24 giorno).

  1. Eseguire la query SQL seguente per creare un profilo denominato PW_ROLLOVER_TIME_1HR_PROF.

    create profile PW_ROLLOVER_TIME_1HR_PROF limit FAILED_LOGIN_ATTEMPTS 10 PASSWORD_ROLLOVER_TIME 1/24;
    

    Immagine che mostra il risultato della query.

  2. Eseguire la query SQL seguente per controllare il limite PASSWORD_ROLLOVER_TIME.

    select * from dba_profiles where profile = 'PW_ROLLOVER_TIME_1HR_PROF';
    

    Immagine che mostra il risultato della query.

    Il limite di risorse per PASSWORD_ROLLOVER_TIME è 0.416 (1/24 giorno) e i tentativi di login non riusciti sono impostati su 10.

Task 3: Creare un account utente

Creeremo un account utente e assegneremo il profilo creato PW_ROLLOVER_TIME_1HR_PROF all'utente.

  1. Eseguire la query SQL seguente per creare un utente denominato db_test.

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

    Immagine che mostra il risultato della query.

    È possibile associare un utente esistente a un profilo utilizzando il comando seguente.

    alter user <user_name> profile <profile_name>;
    
  2. Eseguire la query SQL seguente per concedere il privilegio CREATE SESSION per eseguire il test della connessione al database.

    GRANT CREATE SESSION TO DB_TEST;
    

    Immagine che mostra il risultato della query.

  3. Lo stato dell'account verrà controllato utilizzando la seguente query SQL.

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

    Immagine che mostra il risultato della query.

Task 4: Modificare la password utente

Modificare la password utente e visualizzare lo stato dell'account.

  1. Eseguire la query SQL seguente per modificare la password utente.

    alter user DB_TEST identified by "New_Pass@2023";
    
  2. Controllare lo stato dell'account.

    Immagine che mostra il risultato della query.

    Lo stato dell'account ora mostra IN ROLLOVER, il che significa che l'account utente DB_TEST è attualmente in fase di rollover e che è possibile utilizzare sia la vecchia che la nuova password per connettersi all'utente per 1 ora. Dopo 1 ora, la vecchia password non verrà più accettata e le connessioni potranno essere stabilite solo utilizzando la nuova password.

Task 5: scadenza periodo rinnovo forzata

La funzione di rollover delle password ci consente di far scadere con forza il rollover quando non vogliamo che la vecchia password sia valida per il periodo di rollover rimanente.

  1. Eseguire la query SQL seguente per scadere il rollover della password per l'utente.

    alter user DB_TEST expire password rollover period;
    

    Immagine che mostra il risultato della query.

  2. Controllare lo stato dell'account.

    Immagine che mostra il risultato della query.

    Lo stato dell'account è stato modificato in OPEN e non è più possibile connettersi al database utilizzando la vecchia password. Pertanto, quando un utente è in fase di rollover, ad esempio le password nuove e vecchie, lo stato dell'account nella tabella DBA_USERS è OPEN & IN ROLLOVER e lo stato dell'account viene modificato in OPEN dopo la scadenza del periodo di rollover.

Conferme

Altre risorse di apprendimento

Esplora altri laboratori su docs.oracle.com/learn o accedi a più contenuti gratuiti sulla formazione su Oracle Learning YouTube channel. Inoltre, visita education.oracle.com/learning-explorer per diventare un Oracle Learning Explorer.

Per la documentazione del prodotto, visita l'Oracle Help Center.