Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak utworzyć użytkownika w Oracle i przypisać uprawnienia

Będziemy publikować informacje o dostępie i bezpieczeństwie użytkownika w bazie danych Oracle. Ten post zawiera dobre informacje na temat  Utwórz użytkownika w Oracle, Uprawnieniach systemowych i Uprawnieniach obiektów Oracle, Jak przyznać uprawnienia użytkownikom, Jak wyświetlić wszystkie uprawnienia użytkownika w Oracle

Oświadczenie CREATE USER

Służy do tworzenia użytkownika (schematu).

Domyślnym uwierzytelnianiem dla nowego użytkownika jest baza danych. Użytkownik otrzymuje hasło, które jest przechowywane w bazie danych w postaci zaszyfrowanej. Możliwe są dwa inne typy uwierzytelniania, pierwszym z nich jest uwierzytelnianie zewnętrzne z poziomu systemu operacyjnego. Uwierzytelnianie zewnętrzne sprawdza hasło na poziomie systemu operacyjnego.

Drugim jest uwierzytelnianie globalne, które sprawdza hasło użytkownika w usłudze bezpieczeństwa Oracle lub innej usłudze katalogowej innej firmy.

Przypisywanie atrybutów

Możemy zmienić atrybuty użytkownika za pomocą ALTER USER. Możemy je zmienić lub przypisać

Utwórz oświadczenie użytkownika z niektórymi zestawami atrybutów będzie

CREATE USER SCOTT
IDENTIFIED BY TTOC
DEFAULT TABLESPACE USERS
QUOTA 10M ON USERS
TEMPORARY TABLESPACE temp
QUOTA 5M ON system
PROFILE application_user
PASSWORD EXPIRE

Uprawnienia systemu Oracle

Pozwala grantobiorcy tworzyć, zmieniać, usuwać i zarządzać obiektami bazy danych. Na przykład uprawnienia do tworzenia obszarów tabel i usuwania wierszy z dowolnej tabeli w bazie danych są uprawnieniami systemowymi.

Oracle ma ponad 100 uprawnień systemowych (znajdujących się w tabeli SYSTEM_PRIVILEGE_MAP).

W bazie danych Oracle istnieją 2 specjalne uprawnienia o nazwie SYSDBA i SYSOPER. Oba uprawnienia umożliwiają wykonywanie operacji na bazie danych, takich jak STARTUP, SHUTDOWN, OPEN, MOUNT, BACKUP, ARCHIVELOG i RECOVER. SYSDBA umożliwia polecenie CREATE DATABASE i opcje CHANGE CHARACTER SET.

Uprawnienia systemowe są nadawane przez administratora bazy danych użytkownikom za pomocą polecenia grant i cofane za pomocą polecenia revoke

Jeśli administrator DBA musi nadać komuś uprawnienia systemowe, aby inna osoba mogła je również przyznać, należy to nadać z opcją administratora

GRANT create session TO user;
GRANT create session TO user with admin option;
Revoke create session from user;

Uprawnienia systemu użytkownika

Po utworzeniu użytkownika zazwyczaj przyznajemy poniższe uprawnienia systemowe

  • UTWÓRZ SESJĘ
  • UTWÓRZ TABELĘ
  • UTWÓRZ WIDOK
  • UTWÓRZ SEKWENCJĘ
  • UTWÓRZ PROCEDURĘ

Dzięki temu użytkownik może rozpocząć tworzenie tabeli i innych obiektów.

Sample
CREATE USER "TEST" IDENTIFIED BY TEST
DEFAULT TABLESPACE "TOOLS"
TEMPORARY TABLESPACE "TEMP";
grant CREATE TRIGGER to TEST;
grant CREATE PROCEDURE to TEST;
grant CREATE SESSION to TEST;
grant CREATE TYPE to TEST;
grant CREATE TABLE to TEST;
grant CREATE VIEW to TEST;
grant ALTER SESSION to TEST;
grant CREATE SEQUENCE to TEST;
grant CREATE SYNONYM to TEST;
grant CREATE ANY SYNONYM to TEST;
grant UNLIMITED TABLESPACE to TEST;

Uprawnienia do obiektów Oracle

Są one przyznawane obiektom bazy danych (takim jak tabela, widok, procedura itp.)

Właściciel ma wszystkie uprawnienia, a właściciel może nadać obiektom określone uprawnienia

Właściciel może nadać uprawnienia za pomocą poniższego polecenia

GRANT privileges ON object TO user;

Uprawnienia mogą być wybierane, wstawiane, aktualizowane, usuwane lub WSZYSTKIE

Jeśli właściciel chce nadać uprawnienia wszystkim użytkownikom

GRANT privileges ON object TO public;

Jeśli właściciel chce nadać uprawnienia użytkownikowi z opcją przyznania. Zasadniczo oznacza to, że stypendysta może dalej przypisywać to uprawnienie innym

GRANT privileges ON object TO user with grant option;

Podobnie mamy polecenie cofnij, aby usunąć uprawnienia z obiektów

Co to jest rola wyroczni?

Rola to obiekt bazy danych używany do wymuszania uprawnień. Użytkownikowi można przypisać rolę w celu ustawienia uprawnień do obiektów bazy danych:

GRANT EBS_ADMIN TO SCOTT;

Przyzna rolę EBS_ADMIN ze wszystkimi uprawnieniami użytkownikowi SCOTT.

Tworzenie i używanie ról

Polecenie CREATE ROLE [IDENTIFIED BY ] tworzy rolę. Przypisywanie uprawnień do roli odbywa się za pomocą komendy GRANT. Unieważnienie uprawnień odbywa się za pomocą REVOKE FROM ROLE.

Jaka jest różnica między uprawnieniami systemowymi i obiektowymi?

Tabele i widoki słownika danych

Firma Oracle udostępniła widoki słownika danych, aby uzyskać informacje o uprawnieniach

Istnieją trzy kategorie widoków

Sprawdzanie widoków uprawnień

Przydatne zapytania o uprawnienia

jak sprawdzić uprawnienia użytkownika w Oracle

col role for a16
col pv for a75 hea 'PRIVILEGE OR ROLE'
break on role on type skip 1
define usercheck = 'SH'
select grantee, 'ROL' type, granted_role pv
from dba_role_privs where grantee = '&usercheck' union
select grantee, 'PRV' type, privilege pv
from dba_sys_privs where grantee = '&usercheck' union
select grantee, 'OBJ' type,
max(decode(privilege,'WRITE','WRITE,'))||max(decode(privilege,'READ','READ'))||
max(decode(privilege,'EXECUTE','EXECUTE'))||max(decode
(privilege,'SELECT','SELECT'))||
max(decode(privilege,'DELETE',',DELETE'))||max(decode
(privilege,'UPDATE',',UPDATE'))||
max(decode(privilege,'INSERT',',INSERT'))||' ON '||object_type||'
"'||a.owner||'.'||table_name||'"' pv
from dba_tab_privs a, dba_objects b
where a.owner=b.owner and a.table_name = b.object_name and
a.grantee='&usercheck'
group by a.owner,table_name,object_type,grantee union
select username grantee, '---' type, 'empty user ---' pv from dba_users
where not username in (select distinct grantee from dba_role_privs) and
not username in (select distinct grantee from dba_sys_privs) and
not username in (select distinct grantee from dba_tab_privs) and username like
'%&usercheck%'
group by username
order by grantee, type, pv;

Określ uprawnienia systemowe nadane użytkownikowi

SELECT GRANTEE, PRIVILEGE FROM DBA_SYS_PRIVS  
WHERE GRANTEE = 'USER';

Sprawdzanie, które uprawnienia do tabeli są przyznawane przez Ciebie innym użytkownikom.

SELECT * FROM USER_TAB_PRIVS_MADE

Sprawdzanie, które uprawnienia do tabeli są Ci przyznawane przez innych użytkowników

SELECT * FROM USER_TAB_PRIVS_RECD;

Sprawdzanie, które uprawnienia na poziomie kolumny są przyznawane przez Ciebie innym użytkownikom.

SELECT * FROM USER_COL_PRIVS_MADE;


Sprawdzanie, które uprawnienia na poziomie kolumny zostały Ci przyznane przez innych użytkowników

SELECT * FROM USER_COL_PRIVS_RECD;


Sprawdzanie, jakie uprawnienia są przyznawane rolom

SELECT * FROM USER_ROLE_PRIVS;

Jak przyznawać i cofać uprawnienia  w Oracle

Objects grant/revoke from user  
grant select on dept to public;
revoke select  on dept  from public;
Objects grant/revoke from Role
grant delete on dept to dept_role;
revoke update on dept from dept_role;

Powiązane linki

Zarządzanie uprawnieniami i rolami użytkowników :Dokumentacja Oracle w celu uzyskania dalszych informacji
Widoki Oracle :Kompletny przewodnik po tym, jak utworzyć widok Oracle, upuścić widoki Oracle, zmienić widoki Oracle, Jak określić zapytanie do już utworzonego widoku
utworzyć table in oracle :Tabele są podstawową jednostką przechowywania danych w bazie danych Oracle. omawiamy, jak używać polecenia Oracle create table do tworzenia tabeli z kluczem obcym /klucz podstawowy
Sekwencje w Oracle :Co to jest Sequence w Oracle, Opis wszystkich opcji, Jak je utworzyć , Nowa funkcja sekwencji Oracle 12c , Jak je usunąć i zmienić
utwórz użytkownika w Oracle 12c :Dowiedz się, jak utworzyć wspólnego użytkownika w Oracle 12c, utworzyć wspólnych i lokalnych użytkowników, utworzyć wspólną rolę i rolę lokalną oraz jak nimi zarządzać

Mam nadzieję, że podoba Ci się ten post.Prześlij opinię

Polecane kursy

Oto fajny kurs Udemy dotyczący Oracle SQL
Oracle-Sql-Step-by-step :Ten kurs obejmuje podstawowy SQL, złączenia, tworzenie tabel i modyfikowanie ich struktury, tworzenie widoków, łączenie, łączenie i wiele innych rzeczy . Świetny kurs i obowiązkowy kurs dla początkujących SQL
Pełny kurs certyfikacji Oracle SQL :To dobry kurs dla każdego, kto chce być gotowym do pracy w zakresie umiejętności programistycznych SQL. Fajnie objaśniony kurs
Oracle SQL Developer:Essentials, Tips and Tricks :Narzędzie programistyczne Oracle SQL jest używane przez wielu programistów. Ten kurs zawiera sztuczki i lekcje, jak skutecznie z niego korzystać i zostać produktywnym programistą sql
Oracle SQL Performance Tuning Masterclass 2020 :Dostrajanie wydajności jest jedną z najważniejszych i najbardziej poszukiwanych umiejętności. To dobry kurs, aby się o tym dowiedzieć i zacząć dostrajać wydajność sql


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak dodać przycisk edycji do każdego wiersza w raporcie w Oracle APEX?

  2. Wywołanie procedury składowanej Oracle z parametrem wyjściowym z SQL Server

  3. Zwróć wyniki zapytania jako listę oddzieloną przecinkami w Oracle

  4. Dodaj 2 miesiące do aktualnej sygnatury czasowej

  5. Odzyskiwanie plików edytora SQL (zapytania, procedury) po awarii lub zawieszeniu się ropuchy w przypadku awarii lub zawieszenia Oracle