728x90
WITH CHECK 절과 USING 절은 PostgreSQL의 CREATE POLICY 문에서 정책이 적용되는 행과 열에 대한 제한과 추가 검증을 제어하는 데 사용된다.
USING
USING 절은 WHERE 절과 비슷하게 작동한다고 생각하면 된다.즉, USING 절에 지정된 조건이 참인 경우에만 허용된다.
PostgreSQL의 CREATE POLICY 문에서 정책이 적용되는 조건을 지정하는 데 사용된다. USING 절은 선택적이며, 정책이 적용될 조건을 지정하지 않으면 해당 정책은 항상 적용된다.
CREATE POLICY sales_policy
ON sales
FOR SELECT, INSERT, UPDATE, DELETE
TO sales_role
USING (user_id = current_user);
👉🏻 sales 테이블에서 SELECT, INSERT, UPDATE, DELETE 작업을 수행할 때, sales_role 역할의 사용자가 해당 조건(user_id = current_user)을 충족할 때만 허용되는 CREATE POLICY문이다.
👉🏻 user_id와 current_user는 PostgreSQL 내장 변수
WITH CHECK
PostgreSQL의 CREATE POLICY 문에서 해당 정책이 적용된 후, 삽입, 갱신 또는 삭제 작업을 수행할 때 추가적인 검증을 수행하도록 지정한다.
CREATE POLICY sales_policy
ON sales
FOR SELECT, INSERT, UPDATE, DELETE
TO sales_role
USING (user_id = current_user)
WITH CHECK (user_id = current_user);
👉🏻 변경 작업을 수행할 때에도 해당 조건을 충족해야만 허용된다.
728x90
반응형
'SQL > POSTGRESQL.' 카테고리의 다른 글
[PostgreSQL] Row Level Security (0) | 2023.03.30 |
---|