Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

Iceberg 작업 권한과 브랜치 보호

Operation은 Foundry가 개별 동작을 허용할 때 검사하는 권한입니다. 역할은 여러 operation의 묶음입니다. 아래 역할은 Palantir의 기본 역할이며 관리자가 사용자 지정 역할 집합으로 바꿨을 수 있습니다.

Iceberg 테이블과 가상 테이블의 일반 읽기 및 쓰기는 table:read, table:write가 통제합니다.

Main 리소스 브랜치 보호

Iceberg의 main 브랜치 보호는 Beta이며 환경에 따라 제공되지 않을 수 있습니다. 여기서 보호하는 것은 테이블 리소스의 브랜치이며 저장소 코드의 브랜치 보호와 다릅니다.

테이블을 작성하는 Pipeline Builder 또는 Python 파이프라인에서 Foundry가 소유 JobSpec을 생성합니다. 보호된 테이블을 이 소유 JobSpec 밖에서 변경하려면 추가 권한이 필요합니다.

Operation표시 이름기본 역할
iceberg:bypass-branch-protectionBypass branch protectionOwner

유지보수 작업이나 외부 클라이언트의 변경에서 이 권한이 필요할 수 있습니다. 브랜치 보호 우회 권한을 가진 것만으로 유지보수 작업의 다른 권한까지 충족하는 것은 아닙니다.

유지보수 작업 권한

Operation동작기본 역할
iceberg:read-maintenance-tasks유지보수 작업 조회Viewer
iceberg:write-maintenance-tasks유지보수 작업 생성 및 수정Editor
iceberg:write-sql-maintenance-tasksCustom SQL 작업 작성Editor
iceberg:write-data-altering-maintenance-tasks현재 스냅샷의 논리 데이터를 바꾸는 작업 작성Editor
iceberg:schedule-maintenance-tasks종류와 관계없이 유지보수 작업의 새 일정 생성Editor

작성 권한들은 누적해서 검사합니다. 어떤 작업이든 iceberg:write-maintenance-tasks가 필요합니다. 이 기본 권한을 제거하면 SQL 및 데이터 변경 권한이 남아 있어도 작업을 작성할 수 없습니다.

작업 생성이나 수정에는 기반 테이블 데이터의 읽기와 쓰기 권한도 필요합니다. 보호된 테이블이면 브랜치 보호 조건도 추가로 적용됩니다.

작업작성에 필요한 유지보수 operation
Rewrite data files, Expire snapshots 같은 폼 기반 프로시저iceberg:write-maintenance-tasks
현재 스냅샷의 논리 내용은 바꾸지 않는 Custom SQL, 예를 들어 CALL system.rewrite_data_files(...)기본 작성 권한과 iceberg:write-sql-maintenance-tasks
INSERT, UPDATE, DELETE처럼 현재 논리 데이터를 바꾸는 Custom SQL기본 작성 권한, SQL 작성 권한과 iceberg:write-data-altering-maintenance-tasks

권한 조합

논리 데이터를 바꾸지 않는 Custom SQL 작업을 보호되지 않은 테이블에 작성하려면 기본 작성과 SQL 작성 operation이 필요합니다. 같은 작업을 보호된 테이블에 적용하려면 iceberg:bypass-branch-protection도 필요합니다. 데이터 변경 DML이면 그에 해당하는 추가 operation까지 충족해야 합니다.

이 분리를 사용하면 어떤 종류의 변경을 작성할 수 있는지와 어떤 보호 테이블에 적용할 수 있는지를 각각 통제할 수 있습니다. 실제 작업 구성은 유지보수 화면을 사용합니다.