apache / apache/accumulo

Some AccumuloClient API operations do not require an authenticated user

Open
#3,434 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Java
Stars
1.2k
Forks
487
Avg merge
4d 5h
Merged PRs (30d)
13

Description

Issue #3427 highlighted the fact that some API operations do not require the client to have been constructed using an authenticated users. In the case of a bug, this could happen because the RPC endpoint doesn't authenticate the user correctly. Those cases should absolutely be fixed. However, there are also cases where this occurs because the operation is a ZooKeeper-only operation, and does not require communicating with an Accumulo service. The example in #3427 was the ability to list tables, but there may be others (list namespaces, etc.)

Even if authentication is added to the Accumulo code to perform these operations, the information is still visible in ZooKeeper using zkCli.sh or another ZK client, because they are world-readable.

This issue is to propose:
1. identifying those operations where authentication isn't currently needed,
2. consider the impact of locking down the information in ZK so they are not world-readable, and
3. adding an authenticated RPC endpoint in Accumulo services to perform the operation for the client, and changing the client implementation to use that RPC endpoint instead of talking directly to ZK.

Contributor guide

Open the contributing guide

Research direction

Start by reviewing issue #3427 and auditing AccumuloClient operations such as listing tables and namespaces to identify which communicate only with ZooKeeper. Compare their behavior with zkCli.sh and examine whether the information is world-readable. Done means the affected operations, ZooKeeper locking impact, authenticated RPC requirements, and client changes are documented and agreed.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
databases, distributed-systems, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.