GrantForge는 오픈 소스(MIT) 통합 권한 플랫폼입니다. "누가 무엇을 할 수 있고 어떤 데이터를 볼 수 있는지"를 한곳에서 관리합니다. 콘솔에서 사용자와 조직을 관리하고, 역할을 정의하고, 역할에 메뉴, 버튼, API, 데이터 행, 필드에 대한 권한을 부여합니다. 애플리케이션은 OAuth 2.1 / OpenID Connect로 사용자를 로그인시키고, 오픈 API나 SDK로 권한을 판단합니다.

어떤 문제를 해결하는가
시스템이 일정 규모에 이르면 권한이 여기저기 흩어지기 마련입니다. 메뉴는 프론트엔드 설정에 적혀 있고, 인터페이스는 각자 애노테이션으로 검사하며, 데이터 범위는 SQL에 손으로 쓴 조건에 의존합니다. 퇴사나 부서 이동이 있을 때 한 사람에게 무슨 권한이 남아 있는지 아무도 정확히 말하지 못합니다. GrantForge는 이를 하나의 모델로 통합합니다.
- 한 번 정의하면 어디서든 적용: 콘솔 페이지, 버튼, REST 인터페이스, 데이터 엔터티와 필드는 모두 "리소스"입니다. 역할에 리소스 권한을 부여하면, 같은 권한 부여가 프론트엔드 표시 여부와 백엔드 차단을 모두 처리합니다.
- 보이는 권한: "이 사람이 왜 이 페이지를 볼 수 있는가", "이 역할을 바꾸면 누구에게 영향이 있는가"를 언제든 답할 수 있습니다. 권한 부여 변경에는 미리 보기와 감사 기록이 함께 남습니다.
- 거버넌스 요구 사항 충족: 직무 분리, 기한이 정해진 권한 요청, 정기 검토, 2단계 인증으로 MLPS(등급 보호)와 내부 통제 감사의 일반적인 요구 사항을 만족합니다.
- 표준 프로토콜 연동: 애플리케이션이 자체 사용자 체계를 내장할 필요가 없습니다. OIDC로 로그인하고 액세스 토큰으로 권한을 조회하면 됩니다.
기능 한눈에 보기
| 영역 | 기능 |
|---|---|
| 신원과 조직 | 멀티 테넌시, 부서 트리, 사용자 그룹, 직위, CSV 대량 가져오기와 내보내기, LDAP/AD 로그인과 동기화, OIDC 연합 로그인 |
| 계정 보안 | 세션 관리, 비밀번호 정책과 잠금, TOTP 2단계 인증과 복구 코드, 민감한 작업의 재차 검증 |
| 기능 권한 부여 | 리소스 카탈로그(모듈, 메뉴, 페이지, 탭, 버튼, API), 역할 상속, 권한 부여 매트릭스, 영향 분석 |
| 데이터 권한 | 조건에 따라 보이는 행을 제한(본인, 소속 부서와 하위 부서, 지정 부서, 사용자 정의 조건)하고 읽기와 쓰기를 따로 제어 |
| 필드 권한 | 필드를 숨기거나 마스킹(이메일, 휴대폰 번호, 신분증 번호 등)하거나 읽기 전용으로 설정 |
| 설명 가능성과 감사 | 권한 설명, 권한 부여 시뮬레이션, 감사 로그 조회와 내보내기 |
| 거버넌스 | 직무 분리 제약, 권한 요청과 승인, 정기 권한 검토 |
| 애플리케이션 연동 | OAuth 2.1 / OIDC 권한 부여 서버, 권한 조회 오픈 API, Java(Spring Boot)와 JavaScript SDK |
| 외부 시스템 | 플러그인 방식의 서비스 타입과 정책 엔진(Apache Ranger와 유사), 데이터 서비스, 접근 정책과 에이전트 |
| 제공 | 단일 릴리스 패키지, Docker 이미지, Compose 예제, Helm Chart, H2, PostgreSQL, MySQL, MariaDB, Oracle, SQL Server |
일반적인 대안과의 차이
- 코드에 권한을 직접 작성하는 것과 비교: 권한 규칙은 콘솔에서 관리하므로, 권한 부여를 바꿔도 애플리케이션을 배포할 필요가 없습니다. 권한을 부여하기 전에 영향 범위를 볼 수 있고, 부여한 뒤에는 감사 기록이 남습니다.
- 인증만 하는 IdP(Keycloak 등)와 비교: GrantForge는 버튼, 데이터 행, 필드까지 세밀한 권한 부여 모델과 직무 분리, 정기 검토 같은 거버넌스 기능을 기본 제공합니다. 동시에 IdP 역할을 할 수도 있고, 기존 LDAP나 OIDC를 신원 소스로 연동할 수도 있습니다.
- Apache Ranger와 비교: GrantForge는 외부 데이터 시스템의 권한을 관리하기 위해 Ranger의 서비스 타입, 정책, 에이전트 아키텍처를 차용했습니다. 동시에 GrantForge는 기본적으로 비즈니스 애플리케이션을 위한 권한 플랫폼입니다.
다음 단계
- 5분 만에 시작하기: 내려받기, 실행, 초기화 완료, 첫 역할 권한 부여까지.
- 핵심 개념: 리소스, 역할, 권한 부여, 배정과 평가의 관계.
- 연동 개요: GrantForge를 애플리케이션에 적용합니다.
