db2 authorization & priviliege
Post on 12-Jul-2015
193 Views
Preview:
TRANSCRIPT
WareValleyhttp://www.WareValley.com
Database Audit and Protection [ DB 접근통제 ]
Database Encryption [ DB 암호화 ]
Database Vulnerability Assessment [ DB 취약점 분석 ]
Database SQL Query Approval [ DB 작업결재 ]
Database Performance Monitoring and Management [ DB 성능관리 및 개발 ]
WareValley
DB2 Authorization & Privilege
오렌지팀 윤석준 선임연구원
Database security and management, WareValley.http://www.WareValley.com
Agenda
User Management
Instance Level Authorization
Database Level Authorization
Object Privilege
Role Management
DB2 Authorization & Privilege Guide. WareValley.http://www.WareValley.com
User Management
User Management
• OS에서 관리 ( User, Group )
• User / Group 목록을 볼 수 있는 Catalog가 SYSCAT에 없음
• Instance Level 관리는 Console Tool에서 수행. (SQL Tool 에서는 불가)
• Database Level 관리는 SQL Tool에서 가능
• Role 생성 및 관리는 SQL Tool에서 가능
• Role 목록 조회가 가능한 Catalog가 존재함 (SYSCAT.Roles)
4
DB2 Authorization & Privilege Guide. WareValley.http://www.WareValley.com
Instance Level Authorization
Instance level 차원의 기능을 수행
• Database 작성 및 upgrade
• Tablespace 관리
• Instance에서의 활동 및 성능 monitoring
6
Instance level Authorization
• SYSADM : Instance 전체를 관리
• SYSCTRL : Database 관리 program instance를 관리
• SYSMAINT : Instance 내에서 database를 유지하는 권한
• SYSMON : Instance 및 해당 database를 monitoring하는 권한
DB2 Authorization & Privilege Guide. WareValley.http://www.WareValley.com
Instance Level Authorization : Diagram
7
출처 : http://www-01.ibm.com/support/knowledgecenter/SSEPGG_9.7.0/com.ibm.db2.luw.admin.sec.doc/doc/c0055206.html?lang=ko
• 상위 권한은 하위 권한을 포함함
DB2 Authorization & Privilege Guide. WareValley.http://www.WareValley.com
Instance Level Authorization : Command
권한 부여
• UPDATE DBM CFG USING SYSCTRL_GROUP <그룹명>
• DB2STOP FORCE
• DB2START
8
권한 초기화
• UPDATE DBM CFG USING SYSCTRL_GROUP NULL
• DB2STOP FORCE
• DB2START
주의 사항
• 권한을 설정 한 후에는 반드시 instance를 재시작해야 반영됨
DB2 Authorization & Privilege Guide. WareValley.http://www.WareValley.com
Database Level Authorization
특정 database 내에서의 기능을 수행
• GRANT or REVOKE Privilege
• Data INSERT / SELECT / DELETE / UPDATE
• Workload management
10
Database level Authorization
• SECADM : Database 내에서 보안을 관리하는 권한
• DBADM : Database 관리
• ACCESSCTRL : 권한 및 특권을 부여, 취소 (SECADM, DBADM, ACCESSCTRL, DATAACCESS 제외)
• DATAACCESS : Data에 액세스하는 권한
• SQLADM : SQL query를 monitoring하고 조정
• WLMADM : 워크로드를 관리
• EXPLAIN : Query 계획 Explain하기 위한 권한 (Data 자체에 대한 액세스 권한은 없음)
DB2 Authorization & Privilege Guide. WareValley.http://www.WareValley.com
Database Level Authorization : Diagram
11
출처 : http://www-01.ibm.com/support/knowledgecenter/SSEPGG_9.7.0/com.ibm.db2.luw.admin.sec.doc/doc/c0055206.html?lang=ko
• 상위 권한은 하위 권한을 포함함
DB2 Authorization & Privilege Guide. WareValley.http://www.WareValley.com
Database Level Authorization : Command
Command
• DBADM ON DATABASE(Privilege 명칭)
12
확인
• SELECT * FROM SYSCAT.DBAUTH
GRANTREVOKE
TOFROM
USER <사용자명>GROUP <그룹명>ROLE <롤명>PUBLIC
참조 : http://www-01.ibm.com/support/knowledgecenter/SSEPGG_9.7.0/com.ibm.db2.luw.sql.ref.doc/doc/r0000958.html?cp=SSEPGG_9.7.0%2F2-10-6-130&lang=ko
DB2 Authorization & Privilege Guide. WareValley.http://www.WareValley.com
Database Level Authorization & Privilege
13
Privilege Description SYSCAT.DBAUTH
BINDADD 새로운 Package를 생성 할 수 있는 특권 BINDADDAUTH
CONNECT Database에 연결 할 수 있는 특권 CONNECTAUTH
CREATETAB 새로운 Table을 생성 할 수 있는 특권 CREATETABAUTH
DBADM Database 관리자 권한 DBADMAUTH
CREATE_EXTERNAL_ROUTINE 응용프로그램 및 기타 데이터베이스 사용자가 사용할 Procedure 생성 할수 있는 특권
EXTERNALROUTINEAUTH
IMPLICIT_SCHEMA 아직 존재하지 않는 Schema명을 이용하여 CREATE로 Object 작성시 내재적으로 Schema가 작성할 수 있는 특권. 내재적으로 작성된 Schema는SYSIBM이 소유자가 되며, PUBLIC에게 이 Schema에서 Object를 작성할 특권이 부여됨
IMPLSCHEMAAUTH
LOAD Data를 Table로 LOAD 할 수 있는 특권 LOADAUTH
CREATE_NOT_FENCED_ROUTINE 비분리 UDF (User-Defined Function) 또는 Procedure 작성 할 수 있는 특권 NOFENCEAUTH
QUIESCE_CONNECT Quiesce 상태에서 Database에 액세스 허용 QUIESCECONNECTAUTH
SECURITYADM 보안담당자 권한 SECURITYADMAUTH
SQLADM SQL문을 모니터링하고 조정할 수 있는 권한 SQLADMAUTH
WLMADM Workload 관리자 권한 WLMADMAUTH
EXPLAIN Query 계획에 참조된 Table의 Data에 액세스할 수 있는 Privilege없이 해당Query Excution Plan을 Explain 할 수 있는 권한
EXPLAINAUTH
DATAACCESS Table에 작성된 Data에 엑세스 할 수 있는 특권 DATAACCESSAUTH
ACCESSCTRL ACCESSCTRL, DATAACCESS, DBADM, SECADM 및 감사 루틴에 대한 특권을 제외한 모든 특권과 Database 권한을 부여 및 취소 할 수 있는 권한
ACCESSCTRLAUTH
Authorization & Privilege List
* LIBRARYAUTH, CREATESECUREAUTH 는 아직 미사용
DB2 Authorization & Privilege Guide. WareValley.http://www.WareValley.com
Object Privilege
15
출처 : http://www-01.ibm.com/support/knowledgecenter/SSEPGG_9.7.0/com.ibm.db2.luw.admin.sec.doc/doc/c0005548.html?lang=ko
출처 : http://www.dbguide.net/db.db?cmd=view&boardUid=153420&boardConfigUid=9&categoryUid=253&boardIdx=150&boardStep=1
DB2 Authorization & Privilege Guide. WareValley.http://www.WareValley.com
Schema Privilege
16
Privilege Description SYSCAT.SCHEMAAUTH
CREATEIN Schema 내에 Object를 생성 할 수 있는 특권 CREATEINAUTH
ALTERIN Schema 내에 Object를 변경 할 수 있는 특권 ALTERINAUTH
DROPIN Schema 내에 Object를 제거 할 수 있는 특권 DROPINAUTH
Privilege List
Command
• CREATEIN ON SCHEMA <스키마명> (Privilege 명칭)
확인
• SELECT * FROM SYSCAT.SCHEMAAUTH
GRANTREVOKE
TOFROM
USER <사용자명>GROUP <그룹명>ROLE <롤명>PUBLIC
참조 : http://www-01.ibm.com/support/knowledgecenter/SSEPGG_9.7.0/com.ibm.db2.luw.sql.ref.doc/doc/r0000964.html?cp=SSEPGG_9.7.0%2F2-10-6-138&lang=ko
DB2 Authorization & Privilege Guide. WareValley.http://www.WareValley.com
Tablespace Privilege
17
Privilege Description SYSCAT.TBSCHEMAAUTH
USE Tablespace에 새로운 Table을 생성 할 수 있는 특권 USEAUTH
Privilege List
Command
• USE ON TABLESPACE <TB명칭> (Privilege)
확인
• SELECT * FROM SYSCAT.TBSPACEAUTH
GRANTREVOKE
TOFROM
USER <사용자명>GROUP <그룹명>ROLE <롤명>PUBLIC
[ WITH GRANT OPTION ]
참조 : http://www-01.ibm.com/support/knowledgecenter/SSEPGG_9.7.0/com.ibm.db2.luw.sql.ref.doc/doc/r0003304.html?cp=SSEPGG_9.7.0%2F2-10-6-143&lang=ko
DB2 Authorization & Privilege Guide. WareValley.http://www.WareValley.com
Table, View, Alias, MQT Privilege
18
Privilege Description SYSCAT.TABAUTH
CONTROL 모든 특권을 가지며, CONTROL 특권을 제외한 모든 특권을 다른 사용자에게 부여 할 수 있음. 해당 Object 제거 가능
CONTROLAUTH
ALL CONTROL을 제외한 모든 특권
ALTER 기존 Table에 Column추가, Primary/Unique Key 추가, Column Check 조건 추가 및 제거, Trigger 작성 할 수 있는 특권
ALTERAUTH
DELETE Table/View 에서 행을 삭제 할 수 있는 특권 DELETEAUTH
INDEX Table에 INDEX를 추가 할 수 있는 특권 INDEXAUTH
INSERT Table/View 에서 행을 추가 및 IMPORT 유틸리티를 실행 할 수 있는 특권 INSERTAUTH
REFERENCES Table을 관계의 상위로 지정하여, Foreign key를 작성하거나 제거 할 수 있는 특권. 특정 Column에 대해서만 지정이 가능.
REFAUTH
SELECT Table/View 에서 Data를 조회 및 EXPORT 유틸리티를 실행 할 수 있는 특권 SELECTAUTH
UPDATE Table/View 에서 Column 값을 변경 할 수 있는 특권. 특정 Column에 대해서만 지정이 가능 UPDATEAUTH
Privilege List
Command
• ALL ON TABLE <명칭/별명> (Privilege 명칭)
확인
• SELECT * FROM SYSCAT.TABAUTH
[ WITH GRANT OPTION ]
GRANTREVOKE
TOFROM
USER <사용자명>GROUP <그룹명>ROLE <롤명>PUBLIC
REFERENCE [ ( column-name ) ]UPDATE
참조 : http://www-01.ibm.com/support/knowledgecenter/SSEPGG_9.7.0/com.ibm.db2.luw.sql.ref.doc/doc/r0000966.html?cp=SSEPGG_9.7.0%2F2-10-6-144&lang=ko
DB2 Authorization & Privilege Guide. WareValley.http://www.WareValley.com
Index Privilege
19
Privilege Description SYSCAT.INDEXAUTH
CONTROL Index 소유자에게 자동으로 부여되는 특권으로 DROP INDEX를 할 수 있는 특권 CONTROLAUTH
Privilege List
Command
• CONTROL ON INDEX <INDEX명칭> (Privilege 명칭)
확인
• SELECT * FROM SYSCAT.INDEXAUTH
GRANTREVOKE
TOFROM
USER <사용자명>GROUP <그룹명>ROLE <롤명>PUBLIC
참조 : http://www-01.ibm.com/support/knowledgecenter/SSEPGG_9.7.0/com.ibm.db2.luw.sql.ref.doc/doc/r0000961.html?cp=SSEPGG_9.7.0%2F2-10-6-133&lang=ko
DB2 Authorization & Privilege Guide. WareValley.http://www.WareValley.com
Routine Privilege
20
Privilege Description SYSCAT.ROUTINEAUTH
EXECUTE 실행 할 수 있는 특권 EXECUTEAUTH
Privilege List
Command
• EXECUTE ON(Privilege 명칭)
확인
• SELECT * FROM SYSCAT.ROUTINEAUTH
GRANTREVOKE
TOFROM
USER <사용자명>GROUP <그룹명>ROLE <롤명>PUBLIC
[ WITH GRANT OPTION ]
FUNCTIONPROCEDURE
[ SPECIFIC ] <명칭><스키마명>.*
참조 : http://www-01.ibm.com/support/knowledgecenter/SSEPGG_9.7.0/com.ibm.db2.luw.sql.ref.doc/doc/r0007699.html?cp=SSEPGG_9.7.0%2F2-10-6-137&lang=ko
DB2 Authorization & Privilege Guide. WareValley.http://www.WareValley.com
Sequence Privilege
21
Privilege Description SYSCAT.SEQUENCEAUTH
USAGE NEXTVAL, PREVVAL 표현식을 사용 할 수 있는 특권 USAGEAUTH
ALTER ALTER SEQUENCE를 사용하여 정의를 변경 할 수 있는 특권 ALTERAUTH
Privilege List
Command
• USAGE ON SEQUENCE <시퀸스명> (Privilege 명칭)
확인
• SELECT * FROM SYSCAT.SEQUENCEAUTH
GRANTREVOKE
TOFROM
USER <사용자명>GROUP <그룹명>ROLE <롤명>PUBLIC
[ WITH GRANT OPTION ]
참조 : http://www-01.ibm.com/support/knowledgecenter/SSEPGG_9.7.0/com.ibm.db2.luw.sql.ref.doc/doc/r0004202.html?cp=SSEPGG_9.7.0%2F2-10-6-140&lang=ko
DB2 Authorization & Privilege Guide. WareValley.http://www.WareValley.com
Global variable Privilege
22
Privilege Description SYSCAT.VARIABLEAUTH
READ 값을 읽을 수 있음 READAUTH
WRITE 값을 대입할 수 있음 WRITEAUTH
Privilege List
Command
• ON VARIABLE <variable-name>
확인
• SELECT * FROM SYSCAT.VARIABLEAUTH
GRANTREVOKE
TOFROM
USER <사용자명>GROUP <그룹명>ROLE <롤명>PUBLIC
[ WITH GRANT OPTION ]
ALLREADWRITE(Privilege)
참조 : http://www-01.ibm.com/support/knowledgecenter/SSEPGG_9.7.0/com.ibm.db2.luw.sql.ref.doc/doc/r0050500.html?cp=SSEPGG_9.7.0%2F2-10-6-132&lang=ko
DB2 Authorization & Privilege Guide. WareValley.http://www.WareValley.com
Module Privilege
23
Privilege Description SYSCAT.MODULEAUTH
EXECUTE Module 참조 가능- Routine 실행- 사용자 정의 Type을 읽고 쓸 수 있음- 사용자 정의 Type 참조 가능- Conditions 참조 가능
EXECUTEAUTH
Privilege List
Command
• EXECUTE ON MODULE <module-name> (Privilege)
확인
• SELECT * FROM SYSCAT.MODULEAUTH
GRANTREVOKE
TOFROM
USER <사용자명>GROUP <그룹명>ROLE <롤명>PUBLIC
[ WITH GRANT OPTION ]
참조 : http://www-01.ibm.com/support/knowledgecenter/SSEPGG_9.7.0/com.ibm.db2.luw.sql.ref.doc/doc/r0054779.html?cp=SSEPGG_9.7.0%2F2-10-6-134&lang=ko
DB2 Authorization & Privilege Guide. WareValley.http://www.WareValley.com
Package Privilege
24
Privilege Description SYSCAT.PACKAGEAUTH
CONTROL 모든 특권을 가지며, CONTROL 특권을 제외한 모든 특권을 다른 사용자에게 부여 할 수 있음. 해당 Object 제거 가능
CONTROLAUTH
BIND Bind, Rebind 가능, 새로운 버전의 Package 생성 가능 BINDAUTH
EXECUTE 실행 가능 EXECUTEAUTH
Privilege List
확인
• SELECT * FROM SYSCAT.PACKAGEAUTH
Command
• ON PACKAGE <package-name>GRANTREVOKE
TOFROM
USER <사용자명>GROUP <그룹명>ROLE <롤명>PUBLIC
[ WITH GRANT OPTION ]
CONTROLBINDEXECUTE(Privilege)
참조 : http://www-01.ibm.com/support/knowledgecenter/SSEPGG_9.7.0/com.ibm.db2.luw.sql.ref.doc/doc/r0000962.html?cp=SSEPGG_9.7.0%2F2-10-6-135&lang=ko
DB2 Authorization & Privilege Guide. WareValley.http://www.WareValley.com
Workload Privilege
25
Privilege Description SYSCAT.WORKLOADAUTH
USAGE 사용 가능 USAGEAUTH
Privilege List
Command
• USAGE ON WORKLOAD <workload-name> (Privilege)
확인
• SELECT * FROM SYSCAT.WORKLOADAUTH
GRANTREVOKE
TOFROM
USER <사용자명>GROUP <그룹명>ROLE <롤명>PUBLIC
참조 : http://www-01.ibm.com/support/knowledgecenter/SSEPGG_9.7.0/com.ibm.db2.luw.sql.ref.doc/doc/r0050556.html?cp=SSEPGG_9.7.0%2F2-10-6-145&lang=ko
DB2 Authorization & Privilege Guide. WareValley.http://www.WareValley.com
Role Management
Role Management
• Privilege 세트를 보유하고 있으며, 다른 Role, User, Group에게 상속이 가능
• SECADM이 CREATE, GRANT, REVOKE를 수행
27
생성
• CREATE ROLE <롤명칭>
관리
• ROLE <롤명칭>[ WITH ADMIN OPTION ]GRANT
REVOKETOFROM
USER <사용자명>GROUP <그룹명>ROLE <롤명>PUBLIC
참조 : http://www-01.ibm.com/support/knowledgecenter/SSEPGG_9.7.0/com.ibm.db2.luw.sql.ref.doc/doc/r0050616.html?cp=SSEPGG_9.7.0%2F2-10-6-136&lang=ko
Contact us.
Seoul Office :22F, Nuritkum Square Business Tower, 1605
Sangam-dong, Mapo-gu,Seoul, Korea 121-795Tel + 82.2.2132.5590
Online Contact :Sales@WareValley.com
http://www.WareValley.com
Japan Office : Shinkasumigaseki Bldg 18F., 3-3-2,
Kasumigaseki, Chiyoda-ku, Tokyo 100-0013Tel +81.3.5532.8801
WareValleyhttp://www.WareValley.com
Database Audit and Protection [ DB 접근통제 ]
Database Encryption [ DB 암호화 ]
Database Vulnerability Assessment [ DB 취약점 분석 ]
Database SQL Query Approval [ DB 작업결재 ]
Database Performance Monitoring and Management [ DB 성능관리 및 개발 ]
감사합니다.
top related