사용자 생성, 권한, 보안
DB 2014. 3. 17. 18:23--계정(사용자) 생성 및 권한, 보안
:DB서버를 사용하는 클라이언트들에 대해 별도의 계정을 주고, 각 계정으로만 자료를 사용할 수 있도록 한다.
이 때, 각 사용자들에 대해 sql 사용권한을 제한함으로 해서 클라이언트 자격에 맞는 권한을 행사할 수 있도록 할 수 있다.
--계정 생성
create user 계정명 identified by 암호(암호명은 숫자로 시작하면 안됨)
alter user 계정명 identified by 암호
drop user 계정명
--권한 관련
grant~ : 권한 부여
revoke~ : 권한 제서
cmd -> sqlplus system/oracle (시스템 계정 로그인)
오라클명령 : select * from all_users
---------------------------------------------------
SQL> create user kildong identified by hb123;
SQL> conn kildong/hb123 conn:계정변경 명령어
ERROR:
ORA-01045: user KILDONG lacks CREATE SESSION privilege; logon denied
경고: 이제는 ORACLE에 연결되어 있지 않습니다.
//길동이는 계정만 만들었고 디비에 접근 권한이 없다
SQL> grant connect, resource to kildong
권한이 부여되었습니다.
SQL> conn kildong/hb123
연결되었습니다.
SQL> show user;
USER은 "KILDONG"입니다.
SQL> select * from session_privs; --현재 계정이 행사할수있는 PRIVILEGE
SQL> grant connect, resource to -- 권한을 다 주는 것.
SQL> create user user1 identified by hb;
사용자가 생성되었습니다.
SQL> create user user2 identified by hb;
사용자가 생성되었습니다.
SQL> create user user3 identified by hb;
사용자가 생성되었습니다.
SQL> grant connect, resource to user1, user2, user3;
권한이 부여되었습니다.
SQL> alter user user1 identified by eagle; --비밀번호 바꾸기. 해당 계정에서 해당계정의 비밀번호는 바꿀수있다.
scott/tiger 접속---
SQL> grant select on sawon to user1; --유저1한테 sawon 테이블 권한을 준다.
user1/hb 접속----
SQL> select * from scott.sawon; -- 권한을 받았기때문에 select 가능하다. 대신 형식을 계정명.테이블명 해줘야한다.
scott/tiger 접속---
SQL> grant select,insert,update on sawon to user1,user2,user3; --select,insert,update 세 가지 권한을 모두 주고 세 계정 모두에게 권한 줬다.
권한이 부여되었습니다.
SQL> grant select,insert on buser to user1 with grant option; --with grant option : 유저1에게 스캇이 가진 grant 할 수 있는 권한을 준 것이다. 즉, 유저1이 다른 계정에게 insert,select....등등의 권한을 줄수가 있게된다.
권한이 부여되었습니다.
SQL> revoke select on sawon from user1; --revoke : 권한 취소.
권한이 취소되었습니다.
--------------------------------------------
SQL> create role insa; -- create role : 그룹을 만들어준다.
롤이 생성되었습니다.
SQL> grant insa to user1; --그룹안에 계정 넣기
권한이 부여되었습니다.
SQL> grant insa to user2;
권한이 부여되었습니다.
SQL> grant insa to user3;
권한이 부여되었습니다.
scott/tiger 접속---
SQL> grant select on sawon to insa; --스캇계정에서 그룹단위로 권한을 줄 수 있다.
권한이 부여되었습니다.
user2/hb 접속----
SQL> conn user2/hb
연결되었습니다.
SQL> select * from scott.sawon; --잘나옴
system/oracle 접속
SQL> conn system/oracle
SQL> drop role insa; -- drop role : 롤 삭제
롤이 삭제되었습니다.
권한은 지역이 우선한다. ??
SQL> drop user user1; -----사용자 계정 삭제
사용자가 삭제되었습니다.
'DB' 카테고리의 다른 글
RESIZE로 TABLESPACE의 data file 크기 변경 (0) | 2014.04.07 |
---|---|
Oracle import/export (0) | 2014.04.07 |