RLS 정책 소유권 및 관리 - Amazon Redshift

RLS 정책 소유권 및 관리

수퍼유저, 보안 관리자 또는 sys:secadmin 역할이 부여된 사용자는 테이블에 대한 모든 RLS 정책을 생성, 수정 또는 관리할 수 있습니다. 테이블의 스키마 정의를 수정하지 않고, 객체 수준에서 행 수준 보안을 설정하거나 해제할 수 있습니다.

행 수준 보안을 시작하기 위해 사용할 수 있는 SQL 문은 다음과 같습니다.

  • ALTER TABLE 문을 사용하여 테이블에 대해 RLS를 설정하거나 해제합니다. 자세한 내용은 ALTER TABLE 단원을 참조하십시오.

  • CREATE RLS POLICY 문을 사용하여 하나 이상의 테이블에 대한 보안 정책을 생성하고, 정책에서 하나 이상의 사용자 또는 역할을 지정합니다.

    자세한 내용은 CREATE RLS POLICY 단원을 참조하십시오.

  • ALTER RLS POLICY 명령문을 사용하여 정책 정의 변경과 같은 정책을 변경할 수 있습니다. 여러 테이블 또는 뷰에 동일한 정책을 사용할 수 있습니다.

    자세한 내용은 ALTER RLS POLICY 단원을 참조하십시오.

  • ATTACH RLS POLICY 문을 사용하여 하나 이상의 관계, 하나 이상의 사용자 또는 역할에 정책을 연결합니다.

    자세한 내용은 ATTACH RLS POLICY 단원을 참조하십시오.

  • DETACH RLS POLICY 문을 사용하여 하나 이상의 관계, 하나 이상의 사용자 또는 역할에서 정책을 분리합니다.

    자세한 내용은 DETACH RLS POLICY 단원을 참조하십시오.

  • DROP RLS POLICY 문을 사용하여 정책을 삭제합니다.

    자세한 내용은 DROP RLS POLICY 단원을 참조하십시오.

  • GRANT 및 REVOKE 문을 사용하여 조회 테이블을 참조하는 RLS 정책에 SELECT 권한을 명시적으로 부여하고 취소합니다. 자세한 내용은 GRANTREVOKE 섹션을 참조하세요.

sys:secadmin은 SVV_RLS_POLICYSVV_RLS_ATTACHED_POLICY을 통해 생성된 정책을 모니터링할 수 있습니다.

sys:secadmin은 SVV_RLS_RELATION을 통해 RLS로 보호된 관계를 나열할 수 있습니다.

수퍼유저, sys:operator 또는 ACCESS SYSTEM TABLE 시스템 권한이 있는 모든 사용자는 SVV_RLS_APPLIED_POLICY 를 통해 RLS로 보호되는 관계를 참조하는 쿼리에 대한 RLS 정책의 적용을 추적할 수 있습니다. sys:secadmin에게는 기본적으로 이러한 권한이 부여되지 않습니다.

연결된 RLS 정책이 있는 테이블을 쿼리하되 볼 수는 없도록 하려면 사용자에게 IGNORE RLS 권한을 부여합니다. 수퍼유저 또는 sys:secadmin인 사용자에게는 자동으로 IGNORE RLS 권한이 부여됩니다. 자세한 내용은 GRANT 단원을 참조하십시오.

EXPLAIN 계획에서 쿼리의 RLS 정책 필터를 설명하여 RLS 관련 쿼리 문제를 해결하려면, 사용자에게 EXPLAIN RLS 권한을 부여합니다. 자세한 내용은 GRANTEXPLAIN 섹션을 참조하세요.