Vi vil offentliggøre oplysninger om brugeradgang og sikkerhed i oracle-databasen. Dette indlæg vil give god information om Opret bruger i Oracle, Systemprivilegier og Oracle Object Privileges, Hvordan man tildeler privilegier til brugere, Hvordan man viser alle privilegier fra en bruger i Oracle
CREATE USER statement
Det bruges til at oprette en bruger (skema).
Standardgodkendelsen for en ny bruger er databasen. Brugeren tildeles en adgangskode, og adgangskoden opbevares krypteret i databasen. Der er to andre typer godkendelse mulige, den første er ekstern godkendelse ved hjælp af operativsystemniveau. Ekstern godkendelse kontrollerer adgangskoden på operativsystemniveau.
Den anden er Global godkendelse, som kontrollerer brugeradgangskoden i Oracle-sikkerhedstjenesten eller en anden tredjeparts katalogtjeneste.
Tildeling af attributter –
Vi kan ændre brugerattributterne ved at bruge ALTER USER. Vi kan enten ændre dem eller tildele dem
Opret brugererklæring med nogle attributter indstillet vil være
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-systemrettigheder
Det giver bevillingsmodtageren mulighed for at oprette, ændre, slippe og administrere databaseobjekter. For eksempel er rettighederne til at oprette tablespaces og til at slette rækkerne i en tabel i en database systemprivilegier.
Oracle har mere end 100 systemrettigheder (findes i tabellen SYSTEM_PRIVILEGE_MAP).
Der er 2 specielle privilegier i en Oracle-database kaldet SYSDBA og SYSOPER. Begge privilegier tillader databaseoperationer såsom STARTUP, SHUTDOWN, OPEN, MOUNT, BACKUP, ARCHIVELOG og RECOVER. SYSDBA tillader CREATE DATABASE-kommandoen og CHANGE CHARACTER SET muligheder.
Systemrettighederne gives af databaseadministratoren til brugerne ved hjælp af grant-kommandoen og tilbagekaldes ved hjælp af revoke-kommandoen
Hvis DBA har brug for at give systemprivilegier til nogen, så en anden person også kan give det, så skal det gives med admin mulighed
GRANT create session TO user; GRANT create session TO user with admin option; Revoke create session from user;
Brugersystemrettigheder
Når brugeren er oprettet, giver vi generelt nedenstående systemprivilegier
- OPRET SESSION
- OPRET TABEL
- OPRET VISNING
- OPRET SEKVENS
- OPRET PROCEDURE
Med denne kan brugeren begynde at oprette tabellen og andre objekter.
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-privilegier
Disse tildeles på databaseobjekter (såsom en tabel, visning, procedure osv....)
Ejeren har alle privilegier, og en ejer kan give specifikke privilegier på objekterne
Ejeren kan give privilegierne ved at bruge nedenstående kommando
GRANT privileges ON object TO user;
Rettighederne kunne være at vælge, indsætte, opdatere, slette eller ALLE
Hvis ejeren ønsker at give privilegier til alle brugere
GRANT privileges ON object TO public;
Hvis ejeren ønsker at give privilegium til brugeren med en bevillingsmulighed. Grundlæggende betyder det, at bevillingsmodtageren yderligere kan tildele dette privilegium til andre
GRANT privileges ON object TO user with grant option;
På samme måde har vi revoke-kommandoen til at fjerne privilegierne fra objekterne
Hvad er en orakelrolle?
En rolle er et databaseobjekt, der bruges til at håndhæve privilegier. En bruger kan tildeles en rolle for at indstille privilegier på databaseobjekter:
GRANT EBS_ADMIN TO SCOTT;
Det vil give EBS_ADMIN-rollen med alle dens privilegier til brugeren SCOTT.
Oprettelse og brug af roller
Kommandoen CREATE ROLE [IDENTIFICERET AF
Hvad er forskellen mellem system- og objektrettigheder?
Dataordbogstabeller og visninger
Oracle har leveret dataordbogsvisninger for at få oplysninger om privilegier
Der er tre kategorier af visninger
Kontrol af privilegier
Nyttige forespørgsler til privilegierne
hvordan man kontrollerer brugerrettigheder i 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;
Bestem de systemrettigheder, der gives til brugeren
SELECT GRANTEE, PRIVILEGE FROM DBA_SYS_PRIVS WHERE GRANTEE = 'USER';
Tjekker, hvilke tabelrettigheder du tildeler andre brugere.
SELECT * FROM USER_TAB_PRIVS_MADE
Tjekker, hvilke tabelprivilegier der er givet dig af andre brugere
SELECT * FROM USER_TAB_PRIVS_RECD;
Tjekker, hvilke privilegier på kolonneniveau du tildeler andre brugere.
SELECT * FROM USER_COL_PRIVS_MADE;
Tjekker hvilke privilegier på kolonneniveau der er givet dig af andre brugere
SELECT * FROM USER_COL_PRIVS_RECD;
Tjekker, hvilke privilegier der tildeles roller
SELECT * FROM USER_ROLE_PRIVS;
Sådan tildeler og tilbagekalder du privilegier i 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;
Relaterede links
Administration af brugerrettigheder og roller :Oracle-dokumentation til yderligere reference
Oracle-visninger :Komplet vejledning om, hvordan du opretter orakelvisning, dropper orakelvisninger, ændrer orakelvisninger, hvordan du bestemmer forespørgslen for den allerede oprettede visning
opretter tabel i oracle:Tabeller er den grundlæggende enhed for datalagring i en Oracle-database. vi dækker, hvordan man bruger Oracle create table-kommando til at oprette en tabel med en fremmednøgle /primær nøgle
Sequences in oracle :Hvad er sekvens i oracle, beskrivelse af alle muligheder, hvordan man opretter dem ,Oracle 12c ny funktion af sekvenser , Sådan droppes og ændres dem
opret bruger i oracle 12c :Find ud af, hvordan du opretter en fælles bruger i oracle 12c, opretter en fælles og lokal bruger, opretter fælles rolle og lokal rolle, og hvordan du administrerer dem
Håber du kan lide indlægget. Giv venligst feedback
Anbefalede kurser
Her er det fine Udemy-kursus til Oracle SQL
Oracle-Sql-trin-for-trin :Dette kursus dækker grundlæggende sql, joins, oprettelse af tabeller og ændring af strukturen, Create View, Union, Union -alle og meget andet. . Et godt kursus og must-have kursus for SQL starter
The Complete Oracle SQL Certification Course :Dette er et godt kursus for enhver, der ønsker at være jobklar til SQL-udviklerfærdigheder. Et godt forklaret kursus
Oracle SQL Developer:Essentials, Tips and Tricks :Oracle Sql-udviklerværktøj bliver brugt af mange udviklere. Dette kursus giver os tricks og lektioner til, hvordan man effektivt bruger det og bliver en produktiv sql-udvikler
Oracle SQL Performance Tuning Masterclass 2020 :Indstilling af ydeevne er en af de kritiske og mest søgte færdigheder. Dette er et godt kursus for at lære om det og begynde at lave sql-ydelsesjustering