상세 컨텐츠

본문 제목

[SQLD] grant

RDBMS

by Wanderer Kim 2023. 5. 21. 18:01

본문

728x90

GRANT 란?

grant는 sql에서 권한을 부여하는 명령어입니다. 특정 사용자에게 특정 테이블이나 데이터베이스에 대한 권한을 부여하거나 변경할 때 사용합니다.

기본 문법은 아래와 같습니다.

GRANT privilege_type ON object_name TO {user_name |PUBLIC | role_name} [WITH GRANT OPTION];
  • privilege_type : 부여하려는 권한의 유형입니다. 권한의 유형은 여러가지가 있으며, 가장 일반적인 것들은 select, insert, update, delete, execute, all 등입니다.
  • object_name : 권한을 부여하려는 데이터베이스 객체의 이름입니다. 테이블, 뷰, 저장 프로시저 등이 될 수 있습니다.
  • user_name / PUBLIC / role_name : 권한을 부여하려는 대상입니다. 사용자 이름을 지정하건, 모든 사용자에게 권한ㅇ르 부여하기 위해 PUBLIC을 사용하거나, 특정 역할을 가진 사용자에게 권한을 부여할 수 있습니다.
  • with grant option : 특정 권한을 다른 사용자에게 부여할 수 있는 권한을 사용자에게 부여합니다.

GRANT 쿼리 예시

GRANT SELECT, INSERT, DELETE ON Employee TO John;

위 쿼리는 John이라는 사용자에게 Employee 테이블에 대해 SELECT, INSERT, DELETE 권한을 부여합니다.

GRANT EXECUTE ON PROCEDURE MyProcedure TO PUBLIC;

위 예시는 MyProcedure라는 저장 프로시저를 실행할 권한을 모든 사용자에게 부여합니다.

GRANT ALL PRIVILEGES ON DATABASE MyDatabase TO Admin WITH GRANT OPTION;

위 예시는 Admin이라는 사용자에게 MyDatabase라는 데이터베이스에 대한 모든 권한을 부여하고, Admin이 이 권한을 다른 사용자에게 부여할 수 있도록 합니다.

 

데이터베이스에서 권한 관리는 중요합니다. 데이터의 보안과 접근 제어를 위해 GRANT 명령어를 이해하고 적절히 사용하는 것이 필요합니다. 

반응형

'RDBMS' 카테고리의 다른 글

OLTP vs OLAP  (0) 2024.03.03
[SQLD] 쿼리 실행 순서  (0) 2023.05.29
[SQLD] NVL  (0) 2023.05.20
[SQLD] Index  (0) 2023.05.20
[SQLD] savepoint  (0) 2023.05.14

관련글 더보기

댓글 영역