GRANT | REVOKE |
μ¬μ©μ(User)μκ² μ μκΆν, μ€λΈμ νΈ μμ±κΆν, DBA κΆν λ±μ λΆμ¬ν μ μλ λͺ λ Ήμ΄ | μ¬μ©μ(User)μκ² λΆμ¬ν κΆνμ λ€μ νμνλ λͺ λ Ήμ΄ |
μ€λΌν΄μ μ μνκΈ° μν κ³μ , μνΈλ₯Ό μμ±νκ³ λ λ€μ κΆνμ΄ μμ΄μΌ μ μ λ° μμ μ΄ κ°λ₯ν©λλ€.
κΆνμ ν¬κ² 2κ°μ§λ‘ λλμ΄μ§ μ μμ΅λλ€.
1. System Privilege (μμ€ν κΆν)
2. Object Privilege (κ°μ²΄ κΆν)
β¨μμ€ν κΆν (System Privileges)
μμ€ν κΆνμ μ¬μ©μ (User) κ° λ°μ΄ν°λ² μ΄μ€μμ νΉμ μμ μ μνν μ μλλ‘ νλ€.
- DBA κΆνμ κ°μ§ μ μ (SYS , SYSTEM) λ§ μμ€ν κΆνμ λΆμ¬νκ³ νμν μ μμ΅λλ€.
- κΆνμ ANY ν€μλλ μ¬μ©μκ° λͺ¨λ μ€ν€λ§μμ κΆνμ κ°μ§μ μλ―Ένλ€.
- GRANT λͺ λ Ήμ μ¬μ©μ λλ ROLEμ λν΄μ κΆνμ λΆμ¬ν μ μλ€.
λνμ μΈ μμ€ν κΆν | μ€λͺ |
CREATE SESSION | λ°μ΄ν° λ² μ΄μ€λ₯Ό μ°κ²°ν μ μλ κΆν |
CREATE TABLE | ν μ΄λΈμ μμ±ν μ μλ κΆν |
CREATE SEQUENCE | μνμ€λ₯Ό μμ±ν μ μλ κΆν |
CREATE VIEW | λ·°λ₯Ό μμ±ν μ μλ κΆν |
CREATE PROCEDURE | νλ‘μμ λ₯Ό μμ±ν μ μλ κΆν |
CREATE ROLE | μ€λΌν΄ λ°μ΄ν°λ² μ΄μ€ μν μ μμ±ν μ μλ κΆν |
ALTER USER | μμ±ν μ¬μ©μμ μ μλ₯Ό λ³κ²½ν μ μλ κΆν |
DROP USER | μμ±ν μ¬μ©μλ₯Ό μμ μν€λ κΆν |
-μμ€ν
κΆν λΆμ¬(GRANT) κΈ°λ³Έ λ¬Έλ²
β
GRANT μμ€ν
κΆνλͺ
[, μμ€ν
κΆνλͺ
... | λ‘€λͺ
]
TO μ μ λͺ
[, μ μ λͺ
... | λ‘€λͺ
... |PUBLIC | β[WITH ADMIN OPTION];
β
- μμ€ν
κΆνλͺ
: λΆμ¬ν μμ€ν
κΆνμ μ΄λ¦
- λ‘€λͺ
: κΆνμ λΆμ¬ν λλ κΆνμ λ°μ λ‘€ (ROLE)μ μ΄λ¦
- μ μ λͺ
: κΆνμ λΆμ¬ λ°μ μ μ (User) μ΄λ¦
- PUBLIC : μμ€ν
κΆν, λλ λ°μ΄ν°λ² μ΄μ€ μν μ λͺ¨λ μ¬μ©μμκ² λΆμ¬ν μ μλ€.
- WITH ADMIN OPTION : κΆνμ λΆμ¬ λ°μ μ¬μ©μλ λΆμ¬ λ°μ κΆνμ λ€λ₯Έ μ¬μ©μ λλ μν λ‘ λΆμ¬ν μ μκ²λλ€.
β
β
- μμ€ν
κΆν λΆμ¬(GRANT) μμ
- sys κΆνμΌλ‘ μ μνλ€. (DBA κΆνμ κ°μ§κ³ μλ μ μ )
SQL >
CONNECT sys/manager AS SYSDBA
β
SQL>
GRANT CREATE USER, ALTER USER, DROP USER
TO scott WITH ADMIN OPTION;
β
β
-μμ€ν
κΆν νμ (REVOKE) μμ
SQL>
REVOKE CREATE USER, ALTER USER, DROP USER
FROM scott;
β
β¨κ°μ²΄ κΆν (Object Privileges)
κ°μ²΄κΆνμ μ¬μ©μκ° μμ νκ³ μλ νΉμ κ°μ²΄λ₯Ό λ€λ₯Έ μ¬μ©μλ€μ΄ μ κ·Όνκ±°λ μ‘°μν μ μλλ‘ νλ€.
β
- ν μ΄λΈμ΄λ λ·°, μνμ€, νλ‘μμ , ν¨μ λλ ν¨ν€μ§ μ€ μ§μ λ ν κ°μ²΄μ νΉλ³ν μμ μ μνν μ μκ² νλ€.
- κ°μ²΄ μμ μλ λ€λ₯Έ μ¬μ©μμκ² νΉμ κ°μ²΄κΆνμ λΆμ¬ν μ μλ€.
- PUBLIC μΌλ‘ κΆνμ λΆμ¬νλ©΄ νμ ν λλ PUBLIC μΌλ‘ ν΄μΌνλ€.
- κΈ°λ³Έμ μΌλ‘ μμ ν κ°μ²΄μ λν΄μλ λͺ¨λ κΆνμ΄ μλμ μΌλ‘ νλλλ€.
- WITH GRANT OPTION μ΅μ μ ROLE μ κΆνμ λΆμ¬ν λλ μ¬μ©ν μ μλ€.
-κ°μ²΄ κΆν λΆμ¬ (GRANT) κΈ°λ³Έ λ¬Έλ²
SQL>
GRANT [κ°μ²΄κΆνλͺ
] (컬λΌ)
ON [κ°μ²΄λͺ
]
TO { μ μ λͺ
| λ‘€λͺ
| PUBLC} [WITH GRANT OPTION]
β
-κ°μ²΄κΆνλͺ
: κ°μ²΄μ μ¬μ© κ°λ₯ν κΆν
- 컬λΌλͺ
: λ§μ½ ON μ μ Object κ° Table μ΄λ View μΌ κ²½μ°
- ON κ°μ²΄λͺ
: Table, VIew, Sequence, Procedure λ±
- TO {μ μ λͺ
| λ‘€λͺ
| PUBLIC} : μ¬μ©μλ₯Ό μΌμΌμ΄ λμ΄ ν μ μκ³ , ROLE μ μμλ μ¬μ©μκ° λ μλ μλ€.
- WITH GRANT OPTION: μ΄ μ΅μ
μ μ¬μ©νλ©΄ TO μ μ λμλ μμ μ΄ λ°μ κΆνμ λ€λ₯Έ μ μ μκ² λΆμ¬ν μ μλ€.
β
β
-κ°μ²΄ κΆν λΆμ¬ (GRANT) μμ
SQL>
GRANT SELECT ,INSERT
ON mp
TO scott WITH GRANT OPTION
β
β
-κ°μ²΄ κΆνμ νμ (Revoke) κΈ°λ³Έ λ¬Έλ²
SQL>
REVOKE { κΆνλͺ
[, κΆνλͺ
...] ALL}
ON κ°μ²΄λͺ
FROM {μ μ λͺ
[, μ μ λͺ
...] | λ‘€λͺ
(ROLE) | PUBLIC}
[CASCADE CONSTRAINTS]
β
-κ°μ²΄ κΆνμ μ² νλ κ·Έ κΆνμ λΆμ¬ν λΆμ μΌλ§μ΄ μνν μ μλ€.
- CASCADE CONSTRAINT :μ΄ λͺ
λ Ήμ΄μ μ¬μ©μΌλ‘ μ°Έμ‘° κ°μ²΄ κΆνμμ μ¬μ©λ μ°Έμ‘° λ¬΄κ²°μ± μ νμ κ°μ΄ μμ κ°λ₯
- WITH GRANT OPTION μΌλ‘ κ°μ²΄ κΆνμ λΆμ¬ν μ¬μ©μμ κ°μ²΄ κΆνμ μ² ννλ©΄
κΆνμ λΆμ¬λ°μ μ¬μ©μκ° λΆμ¬ν κ°μ²΄ κΆν λν κ°μ΄ μ² νλλ μ’
μμ² νκ° λ°μνλ€.
β
β
-κ°μ²΄ κΆνμ νμ (Revoke) κΈ°λ³Έ μμ
SQL>
REVOKE SELECT , INSERT
ON emp
FROM scott
[CASCADE CONSTRAINTS]
β
β¨ROLE (κΆνλ€μ μ§ν©)
λ‘€(ROLE) μ΄λ μ¬μ©μμκ² νκ° ν μ μλ κΆνλ€μ μ§ν©μ΄λΌκ³ ν μ μλ€.
β
-λ‘€(ROLE)μ CREATE ROLE κΆνμ κ°μ§ USER μ μν΄μ μμ± λλ€.
-λ‘€(ROLE)μ λκ°μ§ μ©λλ‘ μ¬μ©ν μ μλλ°, 첫λ²μ§Έλ‘λ μ¬μ©μμκ² κΆνμ μ§ν©(ROLE)μ λΆμ¬νλκ².
λλ²μ§Έλ μμ€ν κΆνμ²λΌ 'λ‘€(ROLE)μ λΆμ¬λ°μ μ¬μ©μλ€μ μ¬μ©μ κ·Έλ£ΉμΌλ‘ μ¬μ©νλ κ²μ΄λ€.
- ν μ¬μ©μκ° μ¬λ¬κ°μ λ‘€ (ROLE)μ μ κ·Όν μμκ³ , μ¬λ¬ μ¬μ©μμκ² κ°μ λ‘€(ROLE)μ λΆμ¬ν μ μλ€.
- μ¬μ©μλ λ‘€(ROLE)μ (ROLE)μ λΆμ¬ν μ μλ€.
- μ€λΌν΄ λ°μ΄ν°λ² μ΄μ€λ₯Ό μ€μΉνλ©΄ κΈ°λ³Έμ μΌλ‘ CONNECT, RESOURCE, DB ROLE μ΄ μ 곡λλ€.
-DBA κ° USER μ μν μ λ§λλ‘ ROLE μ μμ±νμ¬μ ROLE λ§ μ μ μκ² μ§μ μ νλ€λ©΄ ν¨μ¨μ μΌλ‘ μ μ λ€μ κΆνμ κ΄λ¦¬ν μ μλ€.
1. λ‘€ μμ±
SQL> CREATE ROLE salesman;
β
2. λ‘€μ κΆνμ λΆμ¬
SQL> GRANT create session, create select, TO salesman;
β
3. λ‘€μ μ¬μ©μ λλ λ‘€μκ² λΆμ¬
SQL> GRANT salesman TO martin, allen. turner, ward;
β
'DB > Oracle' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Oracle] κ³μΈ΅ν 쿼리 μ΄ν΄νκΈ° (μ€λͺ /μμ ) (0) | 2022.04.29 |
---|---|
[Oracle] LPAD, RPAD ν¨μ μ¬μ©λ² (0) | 2022.04.28 |
[Oracle] IN, NOT IN νΉμ λ°μ΄ν° ν¬ν¨/μ μΈ νκΈ° (0) | 2022.04.15 |
[Oracle] ORDER BY NULL κ° μ λ ¬νκΈ° - NULLS FIRST, NULLS LAST (0) | 2022.04.14 |
[Oracle] ROLLUP μ΄ν©κ³ ꡬνκΈ° (0) | 2022.03.25 |