2026.3.0은 외부 시스템 권한을 Apache Pulsar, Apache Solr, ClickHouse, PostgreSQL, OpenSearch로 확장합니다. Pulsar와 Solr 에이전트는 시스템 내부에서 모든 요청을 판단하고, ClickHouse, PostgreSQL, OpenSearch 에이전트는 시스템 옆에서 실행되며 시스템 자체의 접근 제어를 정책과 일치시켜, 시스템이 모든 요청을 직접 검사합니다. 전체 변경 사항은 GitHub 비교에서 확인할 수 있습니다.
Apache Pulsar
- Pulsar 서비스 플러그인: 테넌트, 네임스페이스, 토픽, 토픽 아래의 구독, 클러스터. Pulsar의 produce, consume, functions, sources, sinks, packages와 토픽·네임스페이스·테넌트 관리를 사용합니다. 토큰, 비밀번호, OAuth 2.0 클라이언트 자격 증명 또는 TLS 클라이언트 인증서로 로그인합니다. Apache Pulsar를 참조하세요.
- 브로커 인가 제공자: 각 검사를 테넌트, 네임스페이스, 토픽, 구독 순서로 판단하며 클라이언트 주소 조건을 지원합니다. 클러스터의 admin은 역할을 Pulsar 슈퍼유저로 만들고, Pulsar 자체를 통한 권한 부여는 거부됩니다. Pulsar 에이전트를 참조하세요.
- 통합 테스트는 Pulsar 3.0.17, 3.3.9, 4.0.14, 4.2.5를 다룹니다.
Apache Solr
- Solr 서비스 플러그인: 컬렉션, 그 안의
/select나/export같은 요청 경로(정책이 컬렉션을 허용하면서 핸들러 하나를 거부할 수 있습니다), 클러스터. 기본 인증 또는 JSON Web Token으로 로그인합니다. Apache Solr를 참조하세요. - 노드 인가 플러그인: Solr의 규칙 기반 플러그인처럼 요청을 분류하고, 각 요청을 컬렉션과 요청 경로에서 판단합니다. Collections API 요청은 지정한 모든 컬렉션에
admin_collection이 필요하며, JSON Web Token의 검증된 역할은 그룹으로 취급됩니다. Solr 에이전트를 참조하세요. - 통합 테스트는 Solr 9의 보안 관리자 아래에서 Solr 9.8.1, 9.10.1, 9.11.0, 10.0.0의 SolrCloud 노드를 다룹니다.
ClickHouse
- ClickHouse 서비스 플러그인: 데이터베이스, 테이블, 컬럼, 서버. 읽기와 쓰기는 컬럼별로, 테이블·데이터베이스·서버 작업은 각자의 접근 유형으로 판단합니다. 어느 것도 권한 그룹이 아니므로 정책은 지정한 것 이상을 주지 않습니다. ClickHouse를 참조하세요.
- 서버 옆에서 실행되는 에이전트: 사용자마다 정책이 주는 것만 정확히 가진 역할 하나와, 행 필터마다 행 정책 하나를 유지합니다. 데이터베이스 전체에 허용되고 그 아래에 제한이 없는 접근 유형은 데이터베이스에 부여되므로 새 테이블에도 바로 적용됩니다. ClickHouse 에이전트를 참조하세요.
- 접근은
system.query_log에서 보고되며, GrantForge 밖에서 정책이 거부하는 것을 주는 권한 부여는 경고됩니다. 통합 테스트는 ClickHouse 24.8, 25.3, 25.8, 26.3, 26.8을 다룹니다.
PostgreSQL
- PostgreSQL 서비스 플러그인: 데이터베이스, 스키마, 테이블과 뷰, 컬럼. PostgreSQL의 권한을 PostgreSQL이 부여하는 수준에서 판단합니다. 비밀번호 또는 TLS 클라이언트 인증서로 로그인하며 libpq의 TLS 모드를 사용합니다. PostgreSQL을 참조하세요.
- 서버 옆에서 실행되는 에이전트: 각 데이터베이스에서 사용자마다 역할 하나를 컬럼 단위까지 유지하고, 필요한
CONNECT, 스키마USAGE, serial 시퀀스를 부여하며, 각 데이터베이스를 하나의 트랜잭션으로 변경합니다. 행 필터는 제한적 행 보안 정책이 되어 범위를 좁히기만 합니다. PostgreSQL 에이전트를 참조하세요. - 접근은 pgaudit로 기록한 서버 로그에서 보고됩니다. 통합 테스트는 PostgreSQL 15, 16, 17, 18을 다룹니다.
OpenSearch
- OpenSearch 서비스 플러그인: 인덱스와 데이터 스트림, 그 필드, 클러스터. 각 접근 유형은 보안 플러그인의 액션 그룹이며, 마스킹은 마스킹된 필드로, 행 필터는 문서 수준 보안으로 적용됩니다. OpenSearch를 참조하세요.
- 클러스터 옆에서 실행되는 에이전트: 사용자마다 그 사용자에게만 매핑된 역할 하나를 유지하며, 보안 플러그인이 클러스터 전체에 적용하는 JSON 패치로 기록합니다. 모든 정책이 같은 판단을 내리는 인덱스 패턴은 패턴으로 남으므로 나중에 만든 인덱스에도 바로 접근할 수 있습니다. OpenSearch 에이전트를 참조하세요.
- 접근은 보안 플러그인의 감사 로그에서 보고되며, GrantForge 밖에서 정책이 거부하는 것을 주는 역할은 경고됩니다. 통합 테스트는 OpenSearch 2.19, 3.3, 3.6, 3.9를 다룹니다.
정책 엔진과 에이전트
- 정책 엔진은 리소스 하위의 무언가가 사용자와 접근에 대해 다르게 판단될 수 있는지 알려 줍니다. 따라서 시스템 자체의 용어로 권한을 부여하는 에이전트는 데이터베이스의 모든 테이블처럼 컨테이너 전체를 부여할 수 있습니다.
- 에이전트 스냅샷은 접근 정책 외에도 마스킹과 행 필터 정책, 그리고 그 안에서 지정된 사용자를 보여 줍니다.
문서와 릴리스
- Pulsar, Solr, ClickHouse, PostgreSQL, OpenSearch 플러그인과 에이전트는 11개 언어 모두로 문서화되었으며, 모든 README에 통합 테스트가 검증한 버전과 함께 나열됩니다.
- 문서의 스크롤바는 라이트 테마와 다크 테마 모두에서 사이트 색상을 따릅니다.
- GitHub 릴리스는 버전 태그를 제목으로 사용합니다.
수정 사항
- Pulsar 플러그인은 연결을 거부하는 브로커를 연결할 수 없는 것으로 보고합니다.
- Solr 에이전트는 이전 릴리스의 보안 권고가 수정된 Solr 9.10.1로 빌드됩니다.
- PostgreSQL 에이전트는 서버 로그 시간의
CEST같은 시간대 약어를 읽습니다. - OpenSearch 에이전트는 SLF4J를 자체 jar 안에 두어, 이를 번들하는 서버가 자체 로깅을 유지합니다.
- 콘솔, SDK, 문서 사이트는 vite, vitest, undici, dompurify를 npm 권고를 수정한 버전으로 업데이트했습니다.
