apache / apache/pinot

Add LDAP/Active Directory Authentication Support for Broker and Controller

Open
#16,971 8 comments 0 reactions 0 assignees View on GitHub
feature PEP-Request security
Dominant language
Java
Stars
6.1k
Forks
1.5k
Avg merge
2d 55m
Merged PRs (30d)
182

Description

Pinot currently lacks built-in LDAP/Active Directory authentication support for securing Broker and Controller REST APIs. This feature request proposes adding configurable LDAP authentication to enable enterprise integration with existing directory services.

## Problem Statement
Organizations using Apache Pinot need to:
1. Integrate with existing LDAP/Active Directory infrastructure
2. Authenticate users accessing Pinot Query Console and REST APIs
3. Secure broker query endpoints and controller management APIs
4. Support standard Basic Authentication with LDAP backend validation

Currently, Pinot has limited authentication options, making it challenging for enterprises to deploy Pinot in environments with strict security requirements.

## Backward Compatibility

- **Fully backward compatible**: Existing deployments without LDAP config continue to work
- **Opt-in feature**: Only enabled when `authentication.factory.class` is configured
- **No breaking changes**: All changes are additive, no modifications to existing APIs

## Future Enhancements (Not in Initial PR)

This feature lays the groundwork for future authentication/authorization enhancements:

1. **RBAC Authorization** (Separate PR)
- File-based authorization policies
- Table-level permissions
- Endpoint-level access control

2. **UI Session Management** (Separate PR)
- Browser session persistence
- Auto-restore on page refresh

4. **Advanced Features** (Future)
- OAuth/OIDC support

Contributor guide

Open the contributing guide

Research direction

No files, tests, or entry points are named. Start by locating the existing Broker and Controller REST authentication configuration, then determine how optional Basic Authentication can validate against LDAP or Active Directory; done means an opt-in configuration works without changing deployments that lack LDAP settings.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
api, authentication, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.