Home 보안과 권한 관리
Post
Cancel

보안과 권한 관리

보안과 권한 관리

보안

데이터베이스의 보안은 3가지로 구분할 수 있다.

  • 물리적 환경에 대한 보안
    • 자연 재해처럼 물리적인 위험으로부터 보호한다.
  • 권한 관리를 통한 보안
    • 접근이 허용된 사용자만 부여된 권한 내에서 사용하도록 제한해야 한다.
  • 운영 관리를 통한 보안
    • 실수 등의 이유로 데이터 무결성에 위배되는 행동을 할 수 있으므로 이를 통제해야 한다.

권한 관리

DBMS는 보안을 유지하기 위해 접근 제어 기능을 제공한다. 이때의 접근 제어는 계정이 생성된 사용자가 로그인에 성공했을 때만 데이터베이스에 접근하도록 하는 것이다. DBMS 는 SQL을 이용해 사용 권한을 부여하거나 권한을 취소할 수 있다.

권한 부여

권한 부여를 위해 사용하는 키워드는 GRANT 이다.

1
GRANT 권한 ON 객체 TO 사용자

이때 부여할 수 있는 권한들은 INSERT, DELETE, UPDATE, SELECT, REFERENCES 가 존재한다.

  • 예시) pjh5365라는 사용자에게 board라는 데이터베이스에 관한 모든 권한을 부여하는 명령
1
GRANT ALL PRIVILEGES ON board.* TO 'pjh5365'@'localhost';

권한 취소

부여한 권한을 취소하기 위해 사용하는 키워드는 REVOKE 이다.

1
REVOKE 권한 ON 객체 FROM 사용자
  • 예시) pjh5365라는 사용자에게 board라는 데이터베이스에 관한 모든 권한을 제거하는 명령
1
REVOKE ALL PRIVILEGES ON board.* FROM 'pjh5365'@'localhost';

역할의 부여와 취소

권한을 여러 사용자에게 부여하는 경우가 많은데, 이를 편하게 하기 위해 역할 을 만들어 역할에 권한을 부여하고 그 역할을 사용자에게 부여하는 식으로 전체적인 권한 관리를 할 수 있다.

역할 생성
1
CREATE ROLE 역할명;
역할에 권한 부여
1
GRANT 권한 ON 객체 TO 역할명;
사용자에게 역할 부여
1
GRANT 역할명 ON 사용자;
역할 취소
1
REVOKE 역할명 FROM 사용자;
역할 삭제
1
DROP ROLE 역할명;
This post is licensed under CC BY 4.0 by the author.

회복과 병행 제어

카카오톡이 트래픽에 대처하는 방법