apache / apache/pinot

Accessing Peer certificates in Access Control

Open
#13,556 2 comments 1 reaction 0 assignees View on GitHub
feature security
Dominant language
Java
Stars
6.1k
Forks
1.5k
Avg merge
2d 3h
Merged PRs (30d)
195

Description

### Why

- In our organization we use a custom Certificate Authority (CA) with Subject Alternative Names (SANs) for authentication and authorization. This is combined with mutual TLS (2-way).
- In the `AccessControl` implementation we need to have access to the certificate of the peer so that we can assign a role.
- Currently the `AccessControl` interface only provides a couple properties of the request metadata (depending on the node).

### Possible Implementation

- In our fork we have modified the `AccessControl` interface to permit passing an optional `Request` object in a backwards compatible manner. This allows for accessing more properties than just the peer certificate and can also be used for a variety of other authentication strategies.

I can open a draft PR with the required changes for further discussion.

Contributor guide

Open the contributing guide

Research direction

Review the AccessControl interface and its current request-metadata properties first. Compare the proposed optional Request-based API with the existing authentication and authorization path; done means peer certificates can reach access-control decisions while preserving backward compatibility.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
authentication, authorization
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.