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

Sådan opretter du en bruger og giver tilladelser i Oracle

Som altid skal du begynde med at oprette forbindelse til din server, hvor Oracle er hostet, og derefter oprette forbindelse til selve Oracle som SYSTEM konto.

SYSTEM konto er en af ​​en håndfuld foruddefinerede administrative konti, der genereres automatisk, når Oracle er installeret. SYSTEM er i stand til de fleste administrative opgaver, men den opgave, vi er særligt interesserede i, er kontostyring.

Oprettelse af en bruger

Når den er tilsluttet som SYSTEM , skal du blot udstede CREATE USER kommando for at generere en ny konto.

CREATE USER books_admin IDENTIFIED BY MyPassword;

Her opretter vi simpelthen en books_admin konto, der er IDENTIFIED eller godkendt af den angivne password .

Bevillingserklæringen

Med vores nye books_admin konto oprettet, kan vi nu begynde at tilføje privilegier til kontoen ved hjælp af GRANT udmelding. GRANT er en meget kraftfuld erklæring med mange mulige muligheder, men kernefunktionaliteten er at administrere rettighederne for begge users og roles i hele databasen.

Lever af roller

Typisk vil du først tildele privilegier til brugeren ved at knytte kontoen til forskellige roller, startende med CONNECT rolle:

GRANT CONNECT TO books_admin;

I nogle tilfælde for at skabe en mere kraftfuld bruger, kan du også overveje at tilføje RESOURCE rolle (der giver brugeren mulighed for at oprette navngivne typer til brugerdefinerede skemaer) eller endda DBA rolle, som giver brugeren mulighed for ikke kun at oprette brugerdefinerede navngivne typer, men også ændre og ødelægge dem.

GRANT CONNECT, RESOURCE, DBA TO books_admin;

Tildeling af rettigheder

Dernæst vil du sikre dig, at brugeren har privilegier til rent faktisk at oprette forbindelse til databasen og oprette en session ved hjælp af GRANT CREATE SESSION . Vi vil også kombinere det med alle privilegier ved at bruge GRANT ANY PRIVILEGE .

GRANT CREATE SESSION GRANT ANY PRIVILEGE TO books_admin;

Vi er også nødt til at sikre, at vores nye bruger har tildelt diskplads i systemet til faktisk at oprette eller ændre tabeller og data, så vi GRANT TABLESPACE sådan:

GRANT UNLIMITED TABLESPACE TO books_admin;

Tabelprivilegier

Selvom det typisk ikke er nødvendigt i nyere versioner af Oracle, kan nogle ældre installationer kræve, at du manuelt angiver de adgangsrettigheder, den nye bruger har til et specifikt skema og databasetabeller.

For eksempel, hvis vi vil have vores books_admin brugeren har mulighed for at udføre SELECT , UPDATE , INSERT og DELETE funktioner på books tabel, kan vi udføre følgende GRANT erklæring:

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

Dette sikrer, at books_admin kan udføre de fire grundlæggende udsagn for books tabel, der er en del af schema skema.


  1. Heroku psql:FATAL:resterende forbindelsespladser er reserveret til ikke-replikering af superbrugerforbindelser

  2. System til nulstilling af adgangskode i PHP

  3. Sådan ændres sekvensnummeret for en database-mailkonto i en profil i SQL Server (T-SQL)

  4. Kombiner flere resultater i en underforespørgsel til en enkelt kommasepareret værdi