ssung_데이터 엔지니어링/7주차_데이터 웨어하우스 관리와 고급 SQL, BI 대시보드

데이터 웨어하우스와 고급 SQL, BI 대시보드 (3)

ssungcohol 2023. 11. 29. 20:24

Redshift 권한과 보안

사용자별 테이블 권한 설정

  • 일반적으로 사용자 별 테이블 별 권한 설정은 하지 않음
    • 너무 복잡하고 실수의 가능성이 높음
  • 역할 (Role) 혹은 그룹 (Group) 별로 스키마 별 접근 권한을 주느넋이 일반적
    • RBAC (Role Based Access Control)가 새로운 트렌드 : 그룹보다 더 편리
    • 여러 역할에 속한 사용자의 경우는 각 역하릐 권한을 모두 갖게 됨 (Inclusive)
  • 개인정보와 관련한 테이블들이라면 별도의 스키마 설정
    • 극히 일부 사람만 속한 역할에 접근 권한을 설정

Column Level Security (컬럼 레벨 보안)

  • 테이블 내의 특정 컬럼(들)을 특정 사용자나 특정 그룹/역할에만 접근 가능하게 하는 것
  • 보통 개인정보 등에 해당하는 컬럼을 권한이 없는 사용자들에게 감추는 목적으로 사용
    • 가장 좋은 방법은 보안이 더 필요한 컬럼을 별도의 테이블로 구성하는 것이 좋음
    • 더 좋은 방법은 보안이 필요한 정보를 아예 데이터 시스템으로 로딩하지 않는 것이 좋음

Row Level Security (레코드 레벨 보안)

  • 테이블 내의 특정 레코드(들)을 특정 사용자나 특정 그룹/역할에만 접근 가능하게 하는 것
  • 특정 사용자/그룹의 특정 테이블 대상 SELECT, UPDATE, DELETE 작업에 추가 조건을 다는 형태로 조작
    • 이를 RLS (Record Level Security) Policy라고 부름
    • CREATE RLS POLICY 명령을 사용하여 Policy를 만들고 이를 ATTACH RLS POLICY 명령을 사용해 특정 테이블에 추가

Redshift 백업과 테이블 복구

Redshift가 지원하는 데이터 백업 방식

  • 기본적으로 백업 방식은 마지막 백업으로부터 바뀐 것들만 저장하는 방식
    • 이를 Snapshot이라고 부름
    • 백업을 통해 과거로 돌아가 그 시점의 내용으로 특정 테이블을 복구하는 것이 가능 (Table Restore)
    • 또한 과거 시점의 내용으로 Redshift 클러스터를 새로 생성하는 것도 가능
  • 자동 백업
    • 하루가 기본이지만 최대 과거 35일까지의 변경을 백업하게 할 수 있음
    • 위의 경우 백업은 같은 지역에 있는 S3에 이루어짐
    • 다른 지역에 있는 S3에 백업을 하려면 Cross-regional snapshot copy를 설정해야 함
      (재난 시 데이터 복구에 유용)
  • 매뉴얼 백업
    • 언제든 원할 때 만드는 백업으로 명시적으로 삭제할 때까지 유지 (생성 시 보존 기한 지정)

Redshift Serverless가 지원하는 데이터 백업 방식

  • 고정비용 Redshift에 비하면 제한적이고 조금 더 복잡
  • Snapshot 이전에 Recovery Points라는 것이 존재
    • Recovery Point를 Snapshot으로 바꾼 다음에 여기서 테이블 복구를 하거나 이것으로 새로운 Redshift 클러스터 등을 생성하는 것이 가능
  • Recovery Points는 과거 24시간에 대해서만 유지
728x90