We zullen informatie over gebruikerstoegang en -beveiliging in de Oracle-database plaatsen. Dit bericht geeft goede informatie over Gebruiker maken in Oracle, systeembevoegdheden en Oracle-objectbevoegdheden, hoe de privileges aan gebruikers te verlenen, hoe alle privileges van een gebruiker in oracle te tonen
CREATE USER-instructie
Het wordt gebruikt om een gebruiker (schema) aan te maken.
De standaardverificatie voor een nieuwe gebruiker is de database. De gebruiker krijgt een wachtwoord toegewezen en het wachtwoord wordt versleuteld bewaard in de database. Er zijn twee andere soorten authenticatie mogelijk, de eerste is externe authenticatie op het niveau van het besturingssysteem. Externe authenticatie controleert het wachtwoord op het niveau van het besturingssysteem.
De andere is Globale authenticatie die het gebruikerswachtwoord controleert in de Oracle-beveiligingsservice of een andere directoryservice van derden.
Kenmerken toewijzen –
We kunnen de gebruikersattributen wijzigen met behulp van ALTER USER. We kunnen ze wijzigen of ze toewijzen
Gebruikersinstructie maken met enkele attributen ingesteld zal zijn
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
Oracle-systeemrechten
Hiermee kan de begunstigde databaseobjecten maken, wijzigen, neerzetten en beheren. De rechten om bijvoorbeeld tabelruimten te maken en de rijen van een tabel in een database te verwijderen, zijn systeemrechten.
Oracle heeft meer dan 100 systeemrechten (te vinden in de tabel SYSTEM_PRIVILEGE_MAP).
Er zijn 2 speciale privileges in een Oracle-database genaamd SYSDBA en SYSOPER. Beide privileges staan databasebewerkingen toe, zoals STARTUP, SHUTDOWN, OPEN, MOUNT, BACKUP, ARCHIVELOG en RECOVER. SYSDBA staat de CREATE DATABASE-opdracht en CHANGE CHARACTER SET-opties toe.
De systeemrechten worden door de databasebeheerder aan de gebruikers verleend met behulp van de opdracht grant en ingetrokken met de opdracht revoke
Als de DBA iemand systeemrechten moet verlenen zodat een andere persoon het ook kan verlenen, dan moet dit worden gegeven met de beheerdersoptie
GRANT create session TO user; GRANT create session TO user with admin option; Revoke create session from user;
Gebruikerssysteemrechten
Wanneer de gebruiker is aangemaakt, verlenen we over het algemeen de onderstaande systeemrechten
- SESSIE MAKEN
- TABEL MAKEN
- BEELD MAKEN
- REEKS MAKEN
- PROCEDURE MAKEN
Met deze gebruiker kan beginnen met het maken van de tafel en andere objecten.
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;
Oracle Object-rechten
Deze worden toegekend aan database-objecten (zoals een tabel, weergave, procedure, enz.…)
De eigenaar heeft alle privileges en een eigenaar kan specifieke privileges geven aan de objecten
De eigenaar kan de privileges geven met het onderstaande commando
GRANT privileges ON object TO user;
De privileges kunnen zijn:selecteren, invoegen, bijwerken, verwijderen of ALLES
Als de eigenaar alle gebruikers privileges wil geven
GRANT privileges ON object TO public;
Als de eigenaar de gebruiker privileges wil geven met een toekenningsoptie. Dat betekent in feite dat de begunstigde dit privilege verder kan toewijzen aan anderen
GRANT privileges ON object TO user with grant option;
Op dezelfde manier hebben we het revoke-commando om de privileges van de objecten te verwijderen
Wat is een orakelrol?
Een rol is een databaseobject dat wordt gebruikt om bevoegdheden af te dwingen. Een gebruiker kan een rol worden toegewezen om privileges op database-objecten in te stellen:
GRANT EBS_ADMIN TO SCOTT;
Het zal de EBS_ADMIN-rol met al zijn rechten toekennen aan gebruiker SCOTT.
Rollen maken en gebruiken
De opdracht CREATE ROLE [IDENTIFIED BY
Wat is het verschil tussen systeem- en objectrechten?
Datawoordenboektabellen en -weergaven
Oracle heeft datadictionary-weergaven geleverd om informatie over privileges te krijgen
Er zijn drie categorieën weergaven
Bevoegdheden bekijken
Nuttige vragen voor de privileges
hoe de gebruikersrechten in orakel te controleren
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;
Bepaal de systeemrechten die aan de gebruiker worden gegeven
SELECT GRANTEE, PRIVILEGE FROM DBA_SYS_PRIVS WHERE GRANTEE = 'USER';
Controleren welke tafelrechten u aan andere gebruikers hebt verleend.
SELECT * FROM USER_TAB_PRIVS_MADE
Controleren welke tafelrechten aan u zijn verleend door andere gebruikers
SELECT * FROM USER_TAB_PRIVS_RECD;
Controleren welke rechten op kolomniveau door u aan andere gebruikers zijn verleend.
SELECT * FROM USER_COL_PRIVS_MADE;
Controleren welke rechten op kolomniveau aan u zijn verleend door andere gebruikers
SELECT * FROM USER_COL_PRIVS_RECD;
Controleren welke privileges aan rollen zijn toegekend
SELECT * FROM USER_ROLE_PRIVS;
Bevoegdheden verlenen en intrekken in 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;
Verwante links
Gebruikersrechten en rollen beheren:Oracle-documentatie voor verdere referentie
Oracle-weergaven:complete gids over het maken van een Oracle-weergave, het verwijderen van Oracle-weergaven, het wijzigen van Oracle-weergaven, het bepalen van de query van de reeds gemaakte weergave
create tabel in orakel:tabellen zijn de basiseenheid voor gegevensopslag in een Oracle-database. we bespreken hoe u de opdracht Oracle Create Table kunt gebruiken om een tabel te maken met een externe sleutel /primaire sleutel
Sequences in Oracle:Wat is Sequence in Oracle, Beschrijving van alle opties, Hoe u ze kunt maken, Oracle 12c nieuwe functie van reeksen , Hoe u ze kunt verwijderen en wijzigen
gebruiker maken in oracle 12c :ontdek hoe u een gemeenschappelijke gebruiker kunt maken in orakel 12c, een gemeenschappelijke en lokale gebruiker kunt maken, een gemeenschappelijke rol en een lokale rol kunt maken en hoe u deze kunt beheren
Ik hoop dat je het bericht leuk vindt. Geef alsjeblieft feedback
Aanbevolen cursussen
Hier is de mooie Udemy-cursus voor Oracle SQL
Oracle-Sql-Step-voor-stap:deze cursus behandelt basis-sql, joins, tabellen maken en de structuur wijzigen, weergave maken, Union, Union -alles en nog veel meer . Een geweldige cursus en een must-have cursus voor SQL-starters
De complete Oracle SQL-certificeringscursus :Dit is een goede cursus voor iedereen die Job-klaar wil zijn voor SQL-ontwikkelaarsvaardigheden. Een mooi uitgelegde cursus
Oracle SQL Developer:Essentials, Tips and Tricks :Oracle Sql-ontwikkelaarstool wordt door veel ontwikkelaars gebruikt. Deze cursus geeft ons trucs en lessen om het effectief te gebruiken en een productieve sql-ontwikkelaar te worden
Oracle SQL Performance Tuning Masterclass 2020 :Het afstemmen van prestaties is een van de belangrijkste en meest gezochte vaardigheden. Dit is een goede cursus om erover te leren en te beginnen met het afstemmen van sql-prestaties