Oracle
 sql >> Database >  >> RDS >> Oracle

Come creare un utente e concedere autorizzazioni in Oracle

Come sempre, inizia connettendoti al tuo server su cui è ospitato Oracle, quindi connettiti a Oracle stesso come SYSTEM conto.

Il SYSTEM account è uno dei pochi account amministrativi predefiniti generati automaticamente durante l'installazione di Oracle. SYSTEM è in grado di svolgere la maggior parte delle attività amministrative, ma l'attività a cui siamo particolarmente interessati è la gestione dell'account.

Creazione di un utente

Una volta connesso come SYSTEM , emetti semplicemente il CREATE USER comando per generare un nuovo account.

CREATE USER books_admin IDENTIFIED BY MyPassword;

Qui stiamo semplicemente creando un books_admin account che è IDENTIFIED o autenticato dalla password specificata .

La dichiarazione di sovvenzione

Con il nostro nuovo books_admin account creato, ora possiamo iniziare ad aggiungere privilegi all'account utilizzando il GRANT dichiarazione. GRANT è un'istruzione molto potente con molte opzioni possibili, ma la funzionalità principale è gestire i privilegi di entrambi gli users e roles in tutto il database.

Fornire ruoli

In genere, dovrai prima assegnare i privilegi all'utente collegando l'account a vari ruoli, a partire da CONNECT ruolo:

GRANT CONNECT TO books_admin;

In alcuni casi, per creare un utente più potente, potresti anche considerare di aggiungere la RESOURCE role (consentendo all'utente di creare tipi denominati per schemi personalizzati) o anche il DBA role, che consente all'utente non solo di creare tipi con nome personalizzati, ma anche di modificarli e distruggerli.

GRANT CONNECT, RESOURCE, DBA TO books_admin;

Assegnazione dei privilegi

Successivamente dovrai assicurarti che l'utente disponga dei privilegi per connettersi effettivamente al database e creare una sessione utilizzando GRANT CREATE SESSION . Lo combineremo anche con tutti i privilegi utilizzando GRANT ANY PRIVILEGE .

GRANT CREATE SESSION GRANT ANY PRIVILEGE TO books_admin;

Dobbiamo anche assicurarci che il nostro nuovo utente disponga di spazio su disco allocato nel sistema per creare o modificare effettivamente tabelle e dati, quindi GRANT TABLESPACE così:

GRANT UNLIMITED TABLESPACE TO books_admin;

privilegi tabella

Sebbene in genere non sia necessario nelle versioni più recenti di Oracle, alcune installazioni precedenti potrebbero richiedere di specificare manualmente i diritti di accesso che il nuovo utente ha su uno schema e tabelle di database specifici.

Ad esempio, se vogliamo il nostro books_admin all'utente di avere la possibilità di eseguire SELECT , UPDATE , INSERT e DELETE capacità sui books tabella, potremmo eseguire il seguente GRANT dichiarazione:

GRANT
  SELECT,
  INSERT,
  UPDATE,
  DELETE
ON
  schema.books
TO
  books_admin;

Ciò garantisce che books_admin può eseguire le quattro istruzioni di base per i books tabella che fa parte dello schema schema.