Gestisci 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 del profilo con CREATE USER o ALTER USER. È inoltre possibile importare profili utente esistenti da un altro ambiente mediante l'importazione di Oracle Data Pump.

Nota

Autonomous Database ha restrizioni sulla clausola del profilo. Per informazioni sulle limitazioni di 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 il comando 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 i privilegi di connessione. Ora new_user può connettersi al database ed eseguire le query. Per concedere privilegi aggiuntivi agli utenti, vedere Gestire i privilegi utente su Autonomous Database - Connessione con uno strumento client.

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

È possibile importare profili esistenti creati in altri ambienti utilizzando l'importazione di Oracle Data Pump (impdp). Qualsiasi associazione di profilo esistente con gli utenti del database viene conservata dopo l'importazione in Autonomous Database. Quando un nuovo utente 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 restrizioni di complessità delle password sono le stesse delle restrizioni per qualsiasi utente su 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 del termine del periodo di tolleranza.

Nota

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

I seguenti utenti 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 viene assegnato a ORA_ADMIN_PROFILE.

Quando si crea o si modifica un profilo, è possibile specificare una funzione PVF (Password Verification Function) per gestire la complessità delle password. Per ulteriori informazioni, vedere Gestire la complessità delle password su Autonomous Database.

Gestire la complessità delle password su Autonomous Database

È possibile creare una funzione di verifica della 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 il PVF CLOUD_VERIFY_FUNCTION). La password non può contenere il nome utente.

Oracle consiglia di utilizzare una lunghezza minima della password di 12 caratteri. Se si definisce il valore PVF di un profilo e si imposta la lunghezza minima della password su meno di 12 caratteri, strumenti quali DBSAT (Oracle Database Security Assessment Tool) e Qualys segnalano tale valore 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 (questa è la funzione di verifica della password predefinita per Autonomous Database):

    Questa funzione verifica la presenza dei requisiti riportati di seguito quando gli utenti creano o modificano le password.

    • La password deve avere una lunghezza compresa tra 12 e 30 caratteri e deve includere almeno una lettera maiuscola, una lettera bassa e un carattere numerico.

    • La password non può contenere il nome utente.

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

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

    • La password non deve essere uguale a quella impostata 24 ore prima.

  • ORA12C_STIG_VERIFY_FUNCTION

    Questa funzione verifica la presenza dei requisiti riportati di seguito quando gli utenti creano o modificano le password.

    • La password contiene 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 Requisiti delle password.

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

  • Se si specifica un profilo utente, la lunghezza minima della password dipende dal modo in cui si definisce il 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 il PVF è definito come NULL, la lunghezza minima della password applicata è di 8 caratteri con almeno una lettera superiore, una lettera inferiore e un carattere numerico. La password non può contenere il nome utente.

    • Se il profilo non ha 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 PL/SQL DEFINER RIGHTS. Se viene fornito un PVF con diritti INVOKER come input per CREATE o ALTER PROFILE, viene restituito un errore ORA-28220.

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

  • Un PVF non può essere modificato o eliminato da un utente non ADMIN. In altre parole, 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 genera l'errore ORA-7443. Gli utenti possono comunque eseguire 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 eseguire il recupero 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 propria password e il proprio login.

  • Il privilegio di sistema CREATE ANY PROCEDURE e il privilegio di sistema DROP ANY PROCEDURE vengono controllati per la sicurezza PVF. Per ulteriori informazioni, vedere la lista PROCEDURES in Listings of System and Object Privileges.

Per ulteriori informazioni, vedere Managing the Complexity of Passwords.

Rollover graduale della password del database 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 a uno schema dell'applicazione un profilo con un limite diverso da zero per il parametro del profilo password PASSWORD_ROLLOVER_TIME. Ciò consente di modificare la password del database dell'utente dell'applicazione pur consentendo alla password precedente di rimanere valida per il tempo specificato dal limite PASSWORD_ROLLOVER_TIME. Durante il periodo di tempo di rollover, l'istanza dell'applicazione può utilizzare la vecchia password o la nuova password per connettersi al database server. Alla scadenza del periodo di rinnovo, è consentita solo la nuova password.

Per ulteriori informazioni, vedere Gestione del rollover graduale delle password del database per le applicazioni.