GrantForge

    릴리스 노트 / 버전

    2026.2.0

    GrantForge 2026.2.0 (2026-10-20): Hive, Kafka, HBase, Trino, YARN 플러그인과 에이전트, 리소스 하위의 접근을 판단하는 정책 엔진, 모든 요청을 검사하는 시스템을 위한 접근 감사 묶음.

    2026.2.0은 2026.1.0의 외부 시스템 권한을 Apache Hive, Apache Kafka, Apache HBase, Trino, Apache Hadoop YARN으로 확장하며, 이를 적용하는 에이전트를 제공합니다. 전체 변경 사항은 GitHub 비교에서 확인할 수 있습니다.

    Apache Hive

    • Hive 서비스 플러그인: 데이터베이스, 테이블, 열, UDF, URL, HiveServer2 서비스와 복제. 접근 유형은 Apache Ranger의 정의를 따릅니다. Apache Hive를 참조하세요.
    • HiveServer2 에이전트: 모든 문장을 검사하고, SHOW 결과를 필터링하며, 열을 마스킹하고 행을 필터링합니다. Hive 에이전트를 참조하세요.
    • 임시 UDF는 전역 범위에서 tempudfadmin에게만 부여됩니다. Apache Ranger와 같이, 사용자가 고른 코드를 실행하기 때문입니다.

    Apache Kafka

    • Kafka 서비스 플러그인: 토픽, 그룹, 트랜잭션 ID, 클러스터, 위임 토큰, SCRAM 사용자. Kafka 고유의 접근 유형과 함의 관계를 사용합니다. Apache Kafka를 참조하세요.
    • 브로커와 컨트롤러 인가 기능: 모든 요청을 검사합니다. Kafka 에이전트를 참조하세요.

    Apache HBase

    • HBase 서비스 플러그인: 네임스페이스, 테이블, 컬럼 패밀리, 열, 그리고 클러스터 전체 작업을 위한 전역 범위. Apache HBase를 참조하세요.
    • 마스터와 리전 서버 코프로세서: 작업을 검사하고, 사용자가 읽을 수 있는 열만 반환하며, 보이지 않아야 할 것은 숨깁니다. HBase 에이전트를 참조하세요.

    Trino

    • Trino 서비스 플러그인: 카탈로그, 스키마, 테이블, 열, 함수, 프로시저, 세션 속성. Trino를 참조하세요.
    • 두 개의 시스템 접근 제어: Trino 470~478용과 Trino 479 이상용. 쿼리를 검사하고 행을 필터링하며 열을 마스킹합니다. Trino 에이전트를 참조하세요.

    Apache Hadoop YARN

    • YARN 서비스 플러그인: 큐와 애플리케이션. YARN의 submit_app과 admin_queue 접근 유형을 사용합니다. Apache Hadoop YARN을 참조하세요.
    • ResourceManager의 인가 제공자: 정책에 따라 제출, 큐, 클러스터 관리를 결정하며, 클라이언트 주소 조건을 지원합니다. YARN 에이전트를 참조하세요.

    정책 엔진과 에이전트

    • 정책은 리소스 하위의 접근을 결정합니다. 데이터베이스를 나열하면 사용자의 테이블 정책이 계산에 포함되며, 새 _any 접근 유형은 리소스 또는 그 하위에 대한 접근 중 하나라도 허용되면 허용됩니다.
    • 정책은 한 계층의 어떤 리소스에 대해 사용자가 무언가를 할 수 있는지 답합니다. Kafka가 멱등 프로듀서의 쓰기 전에 이를 묻는 방식과 같습니다.
    • 에이전트는 시간 창 안의 동일한 허용 접근을 횟수와 마지막 시각을 담은 하나의 감사 이벤트로 묶습니다. 거부는 즉시 기록됩니다.
    • 에이전트는 접근 정책을 시스템 고유의 용어로 보여줄 수 있습니다.
    • 플러그인 API 1.2.0은 Kerberos realm을 모든 플러그인에 한 번만 제공하므로, 플러그인끼리 서로의 krb5.conf를 덮어쓰지 않습니다.

    문서와 릴리스

    • YARN, Hive, Kafka, HBase, Trino 플러그인과 에이전트는 11개 언어 모두로 문서화되어 있습니다.
    • README에 지원되는 구성 요소와 통합 테스트가 검증한 버전을 나열했습니다.
    • 릴리스 태그는 전체 CI를 실행하며, 릴리스는 그 실행이 끝날 때까지 기다립니다. 배포판은 병렬로 빌드되고, npm은 신뢰된 게시(trusted publishing)로 배포됩니다.
    • 릴리스 로그가 없는 버전은 태그 생성 시 거부됩니다. CI는 공통 Java 게이트 이후 변경에 필요한 작업만 실행합니다.

    수정 사항

    • 시드 데이터 적재 후 PostgreSQL 인덱스를 준비하여, 시간을 측정하는 API 호출이 분석된 테이블에서 실행되도록 했습니다.
    • ZooKeeper 에이전트의 jar 테스트는 패키징 이후에 실행됩니다.
    • Maven 배포는 통합 테스트를 건너뜁니다. HDFS 3.2 에이전트에서 forked JVM 타임아웃이 발생해 GitHub Packages 배포가 실패하고 있었습니다.
    • npm 패키지가 저장소를 선언하여, npm이 provenance를 검증할 수 있습니다.

    GitHub에서 이 페이지 편집