Gestire i profili utente con Autonomous Database

È possibile creare e modificare i profili utente in Autonomous Database. Dopo aver creato o modificato un profilo, è possibile specificare la clausola profilo con CREATE USER o ALTER USER. È inoltre possibile importare profili utente esistenti da un altro ambiente con l'importazione di Oracle Data Pump.

Nota

Autonomous Database ha limitazioni sulla clausola del profilo. Per informazioni sulle limitazioni CREATE PROFILE e ALTER PROFILE, vedere Comandi SQL.

Per aggiungere, modificare o rimuovere un parametro della password in un profilo, incluso il profilo DEFAULT, è necessario disporre del privilegio di sistema ALTER PROFILE.

  1. Per aggiungere o modificare un profilo, l'utente ADMIN esegue CREATE PROFILE o ALTER PROFILE. Ad esempio:
    CREATE PROFILE new_profile
      LIMIT PASSWORD_REUSE_MAX 10
      PASSWORD_LOCK_TIME 5;

    Se non si è l'utente ADMIN, è necessario disporre del privilegio CREATE PROFILE per eseguire CREATE PROFILE. Se si esegue ALTER PROFILE, è necessario disporre del privilegio ALTER PROFILE.

  2. Usare il profilo nuovo o modificato con i comandi CREATE USER o ALTER USER. Ad esempio:
    CREATE USER new_user IDENTIFIED BY password PROFILE new_profile;
    GRANT CREATE SESSION TO new_user;

In questo modo viene creato new_user con il profilo new_profile e con privilegi di connessione. Ora new_user può connettersi al database ed eseguire query. Per concedere privilegi aggiuntivi agli utenti, vedere Gestisci privilegi utente su Autonomous Database - Connessione con uno strumento client.

Per informazioni sull'uso di CREATE PROFILE o ALTER PROFILE, vedere CREATE PROFILE.

È possibile importare profili esistenti creati in altri ambienti utilizzando l'importazione Oracle Data Pump (impdp). Qualsiasi associazione di profilo esistente con gli utenti del database viene conservata dopo l'importazione in Autonomous Database. Quando un utente appena creato, creato da un'importazione di Oracle Data Pump, tenta di eseguire il login per la prima volta, il login viene gestito come indicato di seguito.

  • Le limitazioni di complessità delle password sono le stesse per qualsiasi utente di Autonomous Database.
  • Se la password dell'utente viola i requisiti di complessità della password, l'account viene scaduto con un periodo di tolleranza di 30 giorni. In questo caso, l'utente è tenuto a modificare la propria password prima della fine del periodo di tolleranza.

Nota

Impossibile modificare le assegnazioni di profilo per gli utenti con profilo ORA_PROTECTED_PROFILE e ORA_ADMIN_PROFILE.

Gli utenti seguenti condividono il profilo ORA_PROTECTED_PROFILE e l'assegnazione del profilo di questi utenti non può essere modificata:

  • ADBSNMP
  • ADB_APP_STORE
  • DCAT_ADMIN
  • GGADMIN
  • RMAN$CATALOG

L'utente ADMIN è assegnato a ORA_ADMIN_PROFILE.

Quando si crea o si modifica un profilo, è possibile specificare una funzione di verifica password (PVF) per gestire la complessità delle password. Per ulteriori informazioni, vedere Gestisci complessità password in Autonomous Database.

Gestisci la complessità delle password in Autonomous Database

È possibile creare una funzione di verifica password (PVF) e associare il PVF a un profilo per gestire la complessità delle password utente.

Nota

La lunghezza minima della password per un PVF specificato dall'utente è di 8 caratteri e deve includere almeno una lettera maiuscola, una lettera minuscola e un carattere numerico. La lunghezza minima della password per il profilo DEFAULT è di 12 caratteri (il profilo DEFAULT utilizza CLOUD_VERIFY_FUNCTION PVF). La Password non può contenere il nome utente.

Oracle consiglia di utilizzare una lunghezza minima della password di 12 caratteri. Se si definisce il PVF di un profilo e si imposta la lunghezza minima della password su meno di 12 caratteri, strumenti come Oracle Database Security Assessment Tool (DBSAT) e Qualys segnalano questo rischio come rischio per la sicurezza del database.

Ad esempio, per specificare un PVF per un profilo, utilizzare il comando seguente:

CREATE PROFILE example_profile LIMIT PASSWORD_VERIFY_FUNCTION ADMIN.EXAMPLE_PVF

Se il profilo viene creato o modificato da un utente diverso dall'utente ADMIN, è necessario concedere il privilegio EXECUTE sul PVF. Se si crea un PVF e il controllo della password non riesce, il database segnala l'errore ORA-28219.

È possibile specificare un PVF fornito da Oracle da uno dei seguenti elementi:

  • CLOUD_VERIFY_FUNCTION (funzione di verifica della password predefinita per Autonomous Database):

    Questa funzione verifica la presenza dei seguenti requisiti quando gli utenti creano o modificano le password:

    • La password deve essere composta da 12 e 30 caratteri e deve includere almeno una lettera maiuscola, una lettera minuscola e un carattere numerico.

    • La Password non può contenere il nome utente.

    • La password non può essere una delle ultime quattro password usate per lo stesso nome utente.

    • La password non può contenere il carattere virgolette (").

    • La password non deve essere uguale a quella impostata meno di 24 ore fa.

  • ORA12C_STIG_VERIFY_FUNCTION

    Questa funzione verifica la presenza dei seguenti requisiti quando gli utenti creano o modificano le password:

    • La password deve contenere almeno 15 caratteri.

    • La password contiene almeno 1 carattere minuscolo e almeno 1 carattere maiuscolo.

    • La password contiene almeno 1 cifra.

    • La password contiene almeno 1 carattere speciale.

    • La password è diversa dalla password precedente per almeno 8 caratteri.

    Per ulteriori informazioni, vedere ora12c_stig_verify_function Password Requirements.

Tenere presenti le limitazioni riportate di seguito per una funzione di verifica password (PVF) creata e assegnata a un profilo.

  • Se si specifica un profilo utente, la lunghezza minima della password dipende dalla modalità di definizione del PVF associato, come indicato di seguito.

    • Se viene definito un PVF, la lunghezza minima della password applicata è di 8 caratteri con almeno una lettera maiuscola, una lettera minuscola e un carattere numerico. La Password non può contenere il nome utente.

    • Se PVF è definito come NULL, la lunghezza minima della password applicata è di 8 caratteri con almeno una lettera maiuscola, una lettera minuscola e un carattere numerico. La Password non può contenere il nome utente.

    • Se il profilo non dispone di un PVF definito, viene assegnato il PVF (CLOUD_VERIFY_FUNCTION) del profilo DEFAULT e la lunghezza minima della password applicata è di 12 caratteri.

  • Se si specifica una funzione di verifica password (PVF) più rigorosa di quella predefinita CLOUD_VERIFY_FUNCTION, viene utilizzata la nuova funzione di verifica.
  • Un PVF creato deve essere creato come funzione DEFINER RIGHTS PL/SQL. Se viene fornito un PVF con diritti INVOKER come input a CREATE o ALTER PROFILE, viene restituito un errore ORA-28220.

  • Qualsiasi PVF creato deve essere creato nello schema utente ADMIN. Se un PVF non di proprietà dell'utente ADMIN viene fornito come input a CREATE o ALTER PROFILE, viene restituito un errore ORA-28220.

  • Un PVF non può essere modificato o eliminato da un utente non ADMIN. Cioè, qualsiasi utente con il privilegio CREATE o DROP ANY PROCEDURE non può modificare o eliminare un PVF.

  • Se il PVF associato a un profilo viene eliminato, qualsiasi tentativo di modifica della password per un utente che utilizza il PVF nel proprio profilo restituisce l'errore ORA-7443. Gli utenti possono comunque effettuare il login quando il PVF associato al proprio profilo viene eliminato. Tuttavia, se la password di un utente è scaduta e il PVF viene eliminato, l'utente non può eseguire il login.

    Per recuperare dall'errore ORA-7443, l'utente ADMIN deve ricreare il PVF eliminato e assegnarlo al profilo oppure assegnare un PVF esistente al profilo. Ciò consente a un utente di modificare la password e il login.

  • I privilegi di sistema CREATE ANY PROCEDURE e DROP ANY PROCEDURE vengono controllati per garantire la sicurezza PVF. Per ulteriori informazioni, vedere l'elenco PROCEDURES in Elenchi di privilegi di sistema e di oggetto.

Per ulteriori informazioni, vedere Gestione della complessità delle password.

Rinnovo password database graduale per le applicazioni

Un'applicazione può modificare le password del database senza che un amministratore debba pianificare i tempi di inattività.

A tale scopo, è possibile associare un profilo con un limite diverso da zero per il parametro del profilo password PASSWORD_ROLLOVER_TIME a uno schema di applicazione. Ciò consente di modificare la password del database dell'utente dell'applicazione, consentendo al contempo che la password precedente rimanga valida per il tempo specificato dal limite PASSWORD_ROLLOVER_TIME. Durante il periodo di tempo di rinnovo, l'istanza dell'applicazione può utilizzare la vecchia password o la nuova password per connettersi al database server. Quando scade il tempo di rinnovo, è consentita solo la nuova password.

Per ulteriori informazioni, vedere Gestione del rinnovo graduale della password del database per le applicazioni.