ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • DB 보안과 스키마 (1)
    Database/MS-SQL 2008. 10. 22. 09:50
    반응형

    인증모드

    개요

    SQL Server에 접속할 때 사용하는 인증
    Windows 인증모드와 혼합모드가 있음.


    Windows 인증모드
    SQL Server에 접속하기 위해서 별도의 사용자 및 비밀 번호가 필요 없고, Windows에 접속한 사용자로 데이터베이스 연결해서 사용하는 것


    혼합 인증모드
    Windows 인증모드를 계속 사용할 수 있으면서도, 동시에 별도의 허락된 계정으로 SQL Server에 접속할 수 있는 모드
    외부에서 접속하기에는 좀더 편리하지만, 보안에는 상대적으로 취약함
    최상위 관리자로 ‘sa’가 있음






    로그인(Login)

    개념
    SQL Server에 접속하기 위해서는 ‘로그인’ 계정이 필요함
    SQL Server에 접속할 수 있다고 데이터베이스에 접근할 수 있는 것은 아님 



    기본적으로 존재하는 로그인 (sysadmin 서버 역할)
    *컴퓨터이름\Administrator
    *BUILTIN\Administrators
    *sa
    *SYSTEM





    생성 구문
    CREATE LOGIN login_name { WITH <option_list> | FROM <sources> } 


    사용자(User)

    개념
    각 데이터베이스 별로 접근할 수 있는 계정을 말함.
    SQL Server에 접속할 수 있는 로그인이 모든 DB에도 자동으로 
    접근할 수 있다면 심각한 문제를 야기할 수 있음.

    model DB에 기본 존재하는 사용자
    dbo : DB의 소유자로 해당 DB의 모든 권한이 있음
    guest : 모든 로그인에 대해서 DB에 최소한의 접근이 가능
    sys, INFORMATION_SCHEMA : db내부 개체 참조를 위한 사용자

    생성 구문
    CREATE USER user_name     [ { { FOR | FROM }
          {         LOGIN login_name 
                    | CERTIFICATE cert_name 
                   | ASYMMETRIC KEY asym_key_name
          }   | WITHOUT LOGIN     ] 
        [ WITH DEFAULT_SCHEMA = schema_name ]



    사용권한(Permission)

    개념
    개체를 사용하거나 명령문을 수행하는 권한
    DB사용자라고 무조건 DB의 모든 개체를 수정, 삭제할 수 있도록 허용되어 있지는 않음.
    권한의 부여는 GRANT, 거부는 DENY, 거부는 REVOKE

    권한의 종류
    개체 사용권한
    DB개체(테이블, 뷰 등)에 대해서 SELECT,INSERT,UPDATE,DELETE 등을 수행할 수 있는 권한
    문 사용권한
    특정한 명령문을 수행할 수 있는지의 여부를 결정
    내재적 사용권한
    명시적으로 사용권한을 부여하지 않아도 암시적으로 부여된 사용권한
    예로 DB 소유주는 암시적으로 DB의 모든 권한을 가지고 있음


    역할 (Role)


    개념
    사용자 또는 로그인의 집합 이거나 권한의 집합

    역할의 종류
    고정 서버 역할
    서버를 관리하는 권한의 집합
    종류로는 sysadmin, dbcreator 등이 있다.
    구문 형식
    EXEC sp_addsrvrolemember  '로그인이름' , '역할이름' 

    고정 데이터베이스 역할
    DB 수준에서 권한의 할당을 지정할 경우에 사용
    종류로는 db_datareader, db_owner, public 등이 있다.
    구문 형식
    EXEC sp_addrolemember '역할이름', ‘DB 사용자이름’




    실습 1  오류

    이렇게 하면 안된다~!!!!










    반응형

    댓글

Designed by Tistory.